Question: how to get a list of all active subscriptions?

Hi everyone,
Does anybody know of a way to get a list of all active subscriptions from a running VerneMQ node?
I have clustering enabled with 3 nodes (local Docker Compose setup) and I'm debugging a split brain issue where one of the clients connected to a node that goes down successfully reconnects, it sends a SUBSCRIBE to re-establish its old subscription and it receives the correspondent SUBACK back but then it doesn't receive any other packet after the SUBACK if not the usual pings (e.g. no PUBLISH packets received). Of course I have clients publishing to the topic where it is subscribed (it is not a shared subscription) and clients with the same subscription but connected to other nodes in the cluster do get the published messages.
In order to debug this, considering that the client got the SUBACK back, I thought I would check how the subscription looks like from the broker point of view but beside the on_subscribe and on_unsubscribe webhooks I couldn't find any way to check subscriptions on the broker side. Also the webooks would just tell me whether a subscription was created or removed but wouldn't tell me what are the active subscriptions at the moment I query it. It's not just that I would have to keep track of the subscriptions on the API responding to the webhooks, my issue with this approach is that it wouldn't help me exclude the possibility of a bug in the broker.
Any ideas? Thanks!

@fracasula thanks. sudo vmq-admin session show --help or maybe the MQTT-Explorer tool might help you. https://mqtt-explorer.com/
If you test this in a local environment, where you have access to Erlang, you could run an Observer GUI, like this: erl -setcookie vmq -name<EMAIL_ADDRESS>-s observer -hidden
then connect to one of the Verne nodes and inspect the ETS tables that represent the subscriptions (vmq_trie_topic, etc).
There's probably 2 possibilities here: the Subscription in case is not loaded into those RAM data structures (for whatever reason), or it is an issue related to SWC synchronisation protocol.
Can you let me know what VerneMQ version this is, and whether you have configured to use vmq_swc metadata protocol?

Hi @ioolkos, thanks! That's very useful information already. I didn't try the session show with the --help flag. I'll have a play around with that and the MQTT explorer and look into the Observer GUI if needed.
My VerneMQ version isn't the latest unfortunately I'm running on 1.10.2. I'll try to upgrade asap. Also I haven't configured the vmq_swc protocol, I'm doing: metadata_plugin = vmq_plumtree.

You possibly run into a thing fixed here (in 1.10.4): https://github.com/vernemq/vernemq/pull/1557
This was a race condition for subscribers re-connecting after a re-boot when the server was loading subscriptions from disk while fast clients were reconnecting.
Be aware, that you'll still get a SUBACK but with response code 128 ("failure"). As an MQTT client you need to take that into account, and decide what to do (retry the SUBSCRIBE, most likely).

Thanks @ioolkos I'll look into it. Much appreciated!

@ioolkos with the latest of VerneMQ I cannot reproduce the issue anymore :tada:
While using 1.10.2 I did run vmq-admin session show with --topic and it showed no subscription whatsoever for my client even though it got back a SUBACK (which seemed correct, with no failure code). So it could be that I indeed ran into the issue you mentioned.
While testing with the latest version though, I ran into a new issue. In order to reproduce the bug I kept on killing one of the three nodes till I could get the subscription into the aforementioned state.
The problem now is that sometimes the node that I kept on killing can't re-join the cluster. My setup looks like the following:

vernemq - first node
vernemq-1 - second node
vernemq-2 - third node which I keep killing to reproduce the issue

At some point vernemq and vernemq-1 start reporting this warning in their logs:
[warning] terminate due to remote_node_not_available
Whereas vernemq-2 prints these entries in a never ending loop:
16:04:47.576 [info] successfully connected to cluster node<EMAIL_ADDRESS>16:04:47.577 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
16:04:47.626 [info] successfully connected to cluster node<EMAIL_ADDRESS>16:04:47.627 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms

<IP_ADDRESS> and <IP_ADDRESS> are respectively of vernemq and vernemq-1. Any ideas on what I could be doing wrong? Is there some limit after which a "fragile" node isn't allowed back into rejoining the cluster?

@fracasula Things might be a little confusing.
Maybe it's easiest to imagine that a VerneMQ cluster is clustered on 2 different layers. One is the proper clustering layer, where metadata is exchanged. You should see the status of this layer with vmq-admin cluster show. My guess is that you see a fully working cluster there.
The logs you see are from the second clustering layer, where data (MQTT messages) are exchanged. VerneMQ nodes have a vmq.clustering listener where they setup the connections for that layer. Nodes try to reach each other every second in case there is no connectivity.
I do not know why this happens here. Ports, Docker, network issues. Does this issue resolve after a couple seconds, or is it persistent?

@ioolkos

You should see the status of this layer with vmq-admin cluster show. My guess is that you see a fully working cluster there.

Once I'm able to get the cluster in this state the cluster show command shows a cluster made of 2 nodes only. It reports the same output whichever node I call the command from.
$ docker exec -it vernemq vmq-admin cluster show
+--------------------+---------+
| Node               | Running |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+

$ docker exec -it vernemq-1 vmq-admin cluster show
+--------------------+---------+
| Node               | Running |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+

$ docker exec -it vernemq-2 vmq-admin cluster show
+--------------------+---------+
| Node               | Running |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+
|<EMAIL_ADDRESS>| true    |
+--------------------+---------+

Basically vernemq-2 (i.e. <IP_ADDRESS> is never shown as part of the cluster).

Does this issue resolve after a couple seconds, or is it persistent?

It doesn't resolve automatically, usually not even after a restart of the Docker containers. I have to completely wipe them out with a docker rm --force.

I do not know why this happens here. Ports, Docker, network issues.

I would exclude network and ports issues, the only thing I'm doing is docker restart vernemq-2 in a loop until I can get the cluster in this state. According to the logs the nodes can still see each other, in fact, once the first two nodes start printing [warning] terminate due to remote_node_not_available in a loop, if I docker stop vernemq-2, they immediately print [warning] cluster node<EMAIL_ADDRESS>DOWN. Then if I docker start vernemq-2they immediately print[info] cluster node<EMAIL_ADDRESS>UP` followed by the usual warnings:
08:25:23.349 [warning] terminate due to remote_node_not_available
08:25:24.352 [warning] terminate due to remote_node_not_available
08:25:25.355 [warning] terminate due to remote_node_not_available
08:25:26.359 [warning] terminate due to remote_node_not_available
08:25:27.361 [warning] terminate due to remote_node_not_available
08:25:28.363 [warning] terminate due to remote_node_not_available
08:25:29.155 [warning] cluster node<EMAIL_ADDRESS>DOWN
08:27:31.916 [info] cluster node<EMAIL_ADDRESS>UP
08:27:32.920 [warning] terminate due to remote_node_not_available
08:27:33.922 [warning] terminate due to remote_node_not_available
08:27:34.925 [warning] terminate due to remote_node_not_available
08:27:35.929 [warning] terminate due to remote_node_not_available
08:27:36.931 [warning] terminate due to remote_node_not_available
08:27:37.934 [warning] terminate due to remote_node_not_available

This issue is much harder to replicate than the previous one but now that I have the local cluster in this state I can try to fetch more information for you if needed.

Let's make sure that we understand what "killing a node" means here. We need to understand this from the perspective of VerneMQ, not Docker (only). That is: does "killing a node" make the node leave the cluster? does starting the same node make it join the cluster? does it so with pre-existing state, or not? (is it attached to the same persistent volume, or not).
In general, if a node leaves the cluster, the remaining nodes consider the exited node as crashed and gone. It won't allow the same node back with its old state. It will allow it to join back with empty state.
Once we have clarity on that, we can hopefully see what happens.
What seems strange is that you only see 2 nodes with the cluster command. (which could be an issue with how the cluster state is saved, or with the query itself).

By killing a node I merely meant restarting the container. This is what happens when I stop the vernemq-2 container:
vernemq-2 logs
08:56:04.897 [info] all queues offline: 0 draining, 0 offline, 0 msgs
[os_mon] memory supervisor port (memsup): Erlang has closed
08:56:04.912 [info] alarm_handler: {clear,system_memory_high_watermark}
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
RPC to<EMAIL_ADDRESS>failed: {'EXIT',
                                     {badarg,
                                      [{ets,lookup,
                                        [clique_commands,
                                         ["vmq-admin","node","stop"]],
                                        []},
                                       {clique_command,match_lookup,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique_command.erl"},
                                         {line,124}]},
                                       {clique_command,match,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique_command.erl"},
                                         {line,111}]},
                                       {clique,run,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique.erl"},
                                         {line,126}]},
                                       {rpc,'-handle_call_call/6-fun-0-',5,
                                        [{file,"rpc.erl"},{line,197}]}]}}

And this is what happens when I docker start vernemq-2:
vernemq-2 logs
config is OK
-config /vernemq/data/generated.configs/app.2<IP_ADDRESS>.57.37.config -args_file /vernemq/bin/../etc/vm.args -vm_args /vernemq/bin/../etc/vm.args
Exec:  /vernemq/bin/../erts-10.7/bin/erlexec -boot /vernemq/bin/../releases/1.11.0/vernemq               -config /vernemq/data/generated.configs/app.2<IP_ADDRESS>.57.37.config -args_file /vernemq/bin/../etc/vm.args -vm_args /vernemq/bin/../etc/vm.args              -pa /vernemq/bin/../lib/erlio-patches -- console -noshell -noinput
Root: /vernemq/bin/..
08:57:38.797 [info] alarm_handler: {set,{system_memory_high_watermark,[]}}
08:57:38.849 [info] read state from file {[{[{actor,<<22,123,91,46,173,146,68,184,23,228,22,95,173,191,54,151,161,83,36,173>>}],1},{[{actor,<<23,148,22,187,66,6,216,31,178,235,189,213,168,105,233,157,29,244,49,17>>}],1},{[{actor,<<23,233,203,130,145,244,85,80,70,27,242,2,54,144,225,166,137,217,79,153>>}],1},{[{actor,<<65,68,212,18,213,178,174,159,101,251,48,193,41,89,61,224,97,72,237,232>>}],1},{[{actor,<<78,176,121,133,60,141,128,76,197,98,84,222,57,210,189,4,91,128,173,187>>}],1},{[{actor,<<80,10,6,180,172,95,143,235,53,100,112,16,96,160,158,250,130,147,193,239>>}],1},{[{actor,<<82,250,96,24,139,135,164,12,143,158,33,135,215,33,112,178,121,179,56,45>>}],1},{[{actor,<<100,232,128,135,150,94,60,16,220,100,156,203,207,202,99,220,178,229,47,196>>}],1},{[{actor,<<119,95,227,170,77,232,235,20,5,91,20,122,74,238,59,229,119,85,254,98>>}],1},{[{actor,<<124,0,49,140,22,137,40,9,138,216,247,62,2,241,121,20,97,0,102,197>>}],1},{[{actor,<<129,249,175,81,125,89,67,9,179,121,93,18,202,222,202,219,30,135,21,106>>}],1},{[{actor,<<130,24,147,46,30,17,72,155,221,82,17,212,216,72,252,181,202,42,38,11>>}],1},{[{actor,<<132,38,118,245,172,237,119,119,59,137,36,63,12,97,1,230,131,140,121,208>>}],1},{[{actor,<<153,197,211,185,223,165,16,190,114,138,128,149,89,190,141,14,94,75,138,152>>}],1},{[{actor,<<173,238,103,167,63,242,179,254,43,96,9,211,12,207,4,211,235,15,60,94>>}],1},{[{actor,<<190,33,248,178,25,110,59,36,169,143,139,236,65,19,233,0,246,214,165,255>>}],1},{[{actor,<<195,225,191,12,2,144,167,34,23,241,47,172,64,236,136,249,98,42,23,63>>}],1},{[{actor,<<198,191,76,234,249,255,189,0,72,105,190,246,86,231,144,45,31,25,206,171>>}],1},{[{actor,<<226,52,25,156,114,217,245,32,151,202,112,192,64,91,152,58,161,226,186,114>>}],1},{[{actor,<<240,180,140,246,161,216,208,23,101,39,212,13,246,243,149,127,186,35,12,245>>}],1}],{dict,2,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[['VerneMQ@<IP_ADDRESS>',{[{actor,<<23,233,203,130,145,244,85,80,70,27,242,2,54,144,225,166,137,217,79,153>>}],1}]],[['VerneMQ@<IP_ADDRESS>',{[{actor,<<124,0,49,140,22,137,40,9,138,216,247,62,2,241,121,20,97,0,102,197>>}],1}]],[],[],[],[],[],[],[]}}},{dict,0,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]}}}}
08:57:38.850 [info] writing state {[{[{actor,<<22,123,91,46,173,146,68,184,23,228,22,95,173,191,54,151,161,83,36,173>>}],1},{[{actor,<<23,148,22,187,66,6,216,31,178,235,189,213,168,105,233,157,29,244,49,17>>}],1},{[{actor,<<23,233,203,130,145,244,85,80,70,27,242,2,54,144,225,166,137,217,79,153>>}],1},{[{actor,<<65,68,212,18,213,178,174,159,101,251,48,193,41,89,61,224,97,72,237,232>>}],1},{[{actor,<<78,176,121,133,60,141,128,76,197,98,84,222,57,210,189,4,91,128,173,187>>}],1},{[{actor,<<80,10,6,180,172,95,143,235,53,100,112,16,96,160,158,250,130,147,193,239>>}],1},{[{actor,<<82,250,96,24,139,135,164,12,143,158,33,135,215,33,112,178,121,179,56,45>>}],1},{[{actor,<<100,232,128,135,150,94,60,16,220,100,156,203,207,202,99,220,178,229,47,196>>}],1},{[{actor,<<119,95,227,170,77,232,235,20,5,91,20,122,74,238,59,229,119,85,254,98>>}],1},{[{actor,<<124,0,49,140,22,137,40,9,138,216,247,62,2,241,121,20,97,0,102,197>>}],1},{[{actor,<<129,249,175,81,125,89,67,9,179,121,93,18,202,222,202,219,30,135,21,106>>}],1},{[{actor,<<130,24,147,46,30,17,72,155,221,82,17,212,216,72,252,181,202,42,38,11>>}],1},{[{actor,<<132,38,118,245,172,237,119,119,59,137,36,63,12,97,1,230,131,140,121,208>>}],1},{[{actor,<<153,197,211,185,223,165,16,190,114,138,128,149,89,190,141,14,94,75,138,152>>}],1},{[{actor,<<173,238,103,167,63,242,179,254,43,96,9,211,12,207,4,211,235,15,60,94>>}],1},{[{actor,<<190,33,248,178,25,110,59,36,169,143,139,236,65,19,233,0,246,214,165,255>>}],1},{[{actor,<<195,225,191,12,2,144,167,34,23,241,47,172,64,236,136,249,98,42,23,63>>}],1},{[{actor,<<198,191,76,234,249,255,189,0,72,105,190,246,86,231,144,45,31,25,206,171>>}],1},{[{actor,<<226,52,25,156,114,217,245,32,151,202,112,192,64,91,152,58,161,226,186,114>>}],1},{[{actor,<<240,180,140,246,161,216,208,23,101,39,212,13,246,243,149,127,186,35,12,245>>}],1}],{dict,2,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[],[],[],[['VerneMQ@<IP_ADDRESS>',{[{actor,<<23,233,203,130,145,244,85,80,70,27,242,2,54,144,225,166,137,217,79,153>>}],1}]],[['VerneMQ@<IP_ADDRESS>',...]],...}}},...} to disk <<75,2,131,80,0,0,4,156,120,1,203,96,206,97,96,96,16,201,96,2,81,140,25,76,41,12,172,137,201,37,249,69,185,32,81,177,234,104,189,181,147,92,118,136,63,17,139,95,187,223,108,250,194,96,149,181,89,137,64,85,216,20,139,79,17,219,237,196,118,67,126,211,235,189,87,87,100,190,156,43,251,197,80,16,183,226,151,167,155,38,126,9,13,112,147,254,196,100,54,225,225,178,206,155,254,51,113,42,118,116,185,34,116,117,211,186,249,169,191,13,14,106,70,218,62,72,244,120,251,2,167,98,191,13,149,173,54,189,13,62,71,147,66,238,89,94,218,203,18,221,176,118,55,78,197,1,92,108,91,214,196,247,191,54,77,41,16,72,88,48,239,87,211,228,131,239,113,42,14,250,149,32,209,221,190,132,167,127,158,98,251,117,197,130,77,149,155,45,116,113,42,78,121,209,208,62,45,206,70,224,78,202,156,211,231,79,37,223,217,244,84,255,8,78,197,229,241,143,87,249,190,120,45,194,26,45,82,229,245,206,250,105,121,232,191,36,156,138,107,24,12,123,196,58,53,56,187,110,124,183,99,250,88,41,146,200,144,118,20,167,226,198,159,235,3,107,35,157,57,55,87,198,10,157,186,119,234,182,92,187,104,22,78,197,77,18,147,245,228,4,61,102,223,13,18,188,114,195,227,207,214,83,90,106,220,56,21,183,168,149,125,93,243,182,188,220,186,83,197,158,39,145,241,89,115,79,229,5,156,138,103,30,189,188,243,254,82,129,125,69,93,13,83,35,247,245,242,197,121,119,205,192,169,120,237,187,244,229,246,159,54,255,211,78,224,188,204,115,158,229,242,107,126,155,56,156,138,247,41,254,216,36,153,103,173,178,178,191,251,141,163,240,75,134,111,215,150,254,199,169,248,240,195,253,60,76,19,150,43,137,127,212,95,227,240,166,227,103,146,150,184,61,78,197,199,246,251,188,250,249,127,47,131,71,230,190,111,97,207,39,232,202,75,158,91,141,83,241,35,19,201,57,69,55,191,42,76,63,85,112,192,33,122,134,213,194,71,187,138,112,42,254,176,165,231,219,194,27,23,196,83,213,175,240,126,251,60,181,126,151,50,207,87,160,226,172,12,206,20,6,150,148,204,228,146,68,166,68,1,32,228,72,12,72,52,200,16,200,66,3,25,140,112,49,112,62,4,17,192,124,43,20,150,90,148,151,234,27,232,96,104,110,164,103,104,161,...>>
08:57:38.859 [info] Datadir ./data/meta/meta/0 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,55354322}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.866 [info] Datadir ./data/meta/meta/1 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,62816976}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.876 [info] Datadir ./data/meta/meta/2 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,57119459}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.885 [info] Datadir ./data/meta/meta/3 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,61209876}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.890 [info] Datadir ./data/meta/meta/4 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,45953381}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.903 [info] Datadir ./data/meta/meta/5 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,43153335}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.918 [info] Datadir ./data/meta/meta/6 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,58613094}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.933 [info] Datadir ./data/meta/meta/7 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,61972059}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.947 [info] Datadir ./data/meta/meta/8 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,54048387}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.965 [info] Datadir ./data/meta/meta/9 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,33084063}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:38.982 [info] Datadir ./data/meta/meta/10 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,50807400}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:39.000 [info] Datadir ./data/meta/meta/11 options for LevelDB: [{open,[{block_cache_threshold,33554432},{block_restart_interval,16},{block_size_steps,16},{compression,true},{create_if_missing,true},{delete_threshold,1000},{eleveldb_threads,71},{fadvise_willneed,false},{limited_developer_mem,false},{sst_block_size,4096},{tiered_slow_level,0},{total_leveldb_mem_percent,6},{use_bloomfilter,true},{write_buffer_size,46698136}]},{read,[{verify_checksums,true}]},{write,[{sync,false}]},{fold,[{verify_checksums,true},{fill_cache,false}]}]
08:57:39.112 [info] Try to start vmq_plumtree: ok
08:57:39.149 [info] Opening LevelDB database at "./data/msgstore/1"
08:57:39.157 [info] Opening LevelDB database at "./data/msgstore/2"
08:57:39.167 [info] Opening LevelDB database at "./data/msgstore/3"
08:57:39.177 [info] Opening LevelDB database at "./data/msgstore/4"
08:57:39.183 [info] Opening LevelDB database at "./data/msgstore/5"
08:57:39.192 [info] Opening LevelDB database at "./data/msgstore/6"
08:57:39.199 [info] Opening LevelDB database at "./data/msgstore/7"
08:57:39.208 [info] Opening LevelDB database at "./data/msgstore/8"
08:57:39.218 [info] Opening LevelDB database at "./data/msgstore/9"
08:57:39.234 [info] Opening LevelDB database at "./data/msgstore/10"
08:57:39.249 [info] Opening LevelDB database at "./data/msgstore/11"
08:57:39.265 [info] Opening LevelDB database at "./data/msgstore/12"
08:57:39.330 [info] Try to start vmq_generic_msg_store: ok
08:57:39.421 [info] loaded 1 subscriptions into vmq_reg_trie
08:57:39.434 [info] cluster event handler 'vmq_cluster' registered
08:57:39.435 [info] cluster node<EMAIL_ADDRESS>UP
08:57:39.435 [info] cluster node<EMAIL_ADDRESS>UP
 __      ____  __  ____         _____ _______      ________ _____   _____ _____ _________     __
 \ \    / /  \/  |/ __ \       |  __ \_   _\ \    / /  ____|  __ \ / ____|_   _|__   __\ \   / /
  \ \  / /| \  / | |  | |______| |  | || |  \ \  / /| |__  | |__) | (___   | |    | |   \ \_/ /
   \ \/ / | |\/| | |  | |______| |  | || |   \ \/ / |  __| |  _  / \___ \  | |    | |    \   /
    \  /  | |  | | |__| |      | |__| || |_   \  /  | |____| | \ \ ____) |_| |_   | |     | |
     \/   |_|  |_|\___\_\      |_____/_____|   \/   |______|_|  \_\_____/|_____|  |_|     |_|

08:57:40.297 [info] enable auth script for cockroachdb "./share/lua/auth/cockroachdb.lua"
08:57:40.404 [info] Sent join request to<EMAIL_ADDRESS>08:57:40.430 [info] successfully connected to cluster node<EMAIL_ADDRESS>08:57:40.430 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
08:57:40.436 [info] successfully connected to cluster node<EMAIL_ADDRESS>08:57:40.436 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
08:57:41.432 [info] successfully connected to cluster node<EMAIL_ADDRESS>08:57:41.433 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
08:57:41.438 [info] successfully connected to cluster node<EMAIL_ADDRESS>08:57:41.438 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms
08:57:42.435 [info] successfully connected to cluster node<EMAIL_ADDRESS>08:57:42.435 [warning] connection to node<EMAIL_ADDRESS>has been closed, reconnect in 1000ms

Of course doing docker restart is the same as docker stop and then docker start.

does starting the same node make it join the cluster?

It definitely tries, doesn't seem to be able to though.

does it so with pre-existing state, or not? (is it attached to the same persistent volume, or not).

Yes, it is. I wrote a file before stopping the container and it was still there once I restarted it.

They will allow it to join back with empty state.

That may be the issue then, If I completely delete vernemq-2 the other two allow the node back into the cluster. Is there a way to reset the state of a running node? It's also curious that this didn't happen with the old version I was running on.

That RPC error during stopping should not be there. It's trying to lookup the vmq-admin node stop command, but Verne seems already halfway down.
The docker stop command sends a SIGTERM, right?  I suppose it would sends a Kill signal after a timeout, and maybe Verne is over that timeout in that case here?

The docker stop command sends a SIGTERM, right? I suppose it would sends a Kill signal after a timeout, and maybe Verne is over that timeout in that case here?

docker stop sends a SIGTERM and after a grace period of 10 seconds (default) it sends a SIGKILL. I tried increasing the grace period too (to 90 seconds) but truth is that not even 10 seconds elapsed in the first place. The application terminates quite quickly, I haven't timed it but looks like less than a second.
14:42:17.732 [info] all queues offline: 0 draining, 0 offline, 0 msgs
[os_mon] memory supervisor port (memsup): Erlang has closed
14:42:17.747 [info] alarm_handler: {clear,system_memory_high_watermark}
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
RPC to<EMAIL_ADDRESS>failed: {'EXIT',
                                     {badarg,
                                      [{ets,lookup,
                                        [clique_commands,
                                         ["vmq-admin","node","stop"]],
                                        []},
                                       {clique_command,match_lookup,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique_command.erl"},
                                         {line,124}]},
                                       {clique_command,match,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique_command.erl"},
                                         {line,111}]},
                                       {clique,run,1,
                                        [{file,
                                          "/opt/vernemq/_build/default/lib/clique/src/clique.erl"},
                                         {line,126}]},
                                       {rpc,'-handle_call_call/6-fun-0-',5,
                                        [{file,"rpc.erl"},{line,197}]}]}}

@fracasula hm, okay. Do you always see that failed RPC call logged, even for working restarts?

@fracasula hm, okay. Do you always see that failed RPC call logged, even for working restarts?

Yes, I do, good point :+1:
So, going back to the 3rd node not being able to join back into the cluster, even if it has an old state, is there anything we can do to reset it beside wiping its volume? For example on Kubernetes we're deploying VerneMQ as a StatefulSet with these volumes:
        volumeMounts:
        - mountPath: /vernemq/log
          name: logs
        - mountPath: /vernemq/data
          name: data

Looks like the same could potentially happen there, right?

@fracasula yes, I think this could happen with Kubernetes too.
There's a certain mismatch between Docker and Verne that we need to resolve. (Probably going to need help on this).
https://github.com/vernemq/docker-vernemq/blob/21497c31d02b990a8d0522719b17dc7be08fe78d/bin/vernemq.sh#L150
Getting a SIGTERM, the Verne node will go ahead with a cluster leave. The reason for that is that when you kill a Pod (imagine scaling down the cluster in Kubernetes from 5 to 2 nodes), Verne cannot know what you actually want to do, so it's safest to assume you really want to re-size the cluster.
If we'd only terminate the node at this point (without a cluster leave), the remaining cluster will not forget that node, and be in a stafe of netsplit, until the node comes back. Kubernetes re-scheduling would probably work with this approach, supposing the new Pod attaches to the same persistent volume, with the same node state as before.

Getting a SIGTERM, the Verne node will go ahead with a cluster leave [...] If we'd only terminate the node at this point (without a cluster leave), the remaining cluster will not forget that node, and be in a state of netsplit, until the node comes back. [...] Verne cannot know what you actually want to do, so it's safest to assume you really want to re-size the cluster.

What about SIGKILL signals then? We may not always have the chance to terminate a pod/container gracefully. For example in an environment like Kubernetes the default signal for OOM (out of memory) termination is a SIGKILL (see here). In cases like that we wouldn't have the time for the node to leave the cluster gracefully and if we were to resize the cluster before the node is back up (e.g. HPA, horizontal pod autoscaling which could trigger a re-scale automatically according to specific parameters like load) we could end up with a cluster in a broken state, correct? Not saying it's likely to happen, it sounds like it may be possible though?
If I'm not mistaken other distributed systems had the same issue but used a different approach. I think Zookeeper wants a bunch of environment variables to be set for each node for this to work (i.e. ZOOKEEPER_SERVERS, ZOOKEEPER_SERVER_ID...).

Kubernetes re-scheduling would probably work with this approach, supposing the new Pod attaches to the same persistent volume, with the same node state as before.

Docker with start and stop does the same thing though, the container goes back up with the same node state as before but somehow it ends up in that broken state.

@fracasula thanks, interesting.

@fracasula I am not sure if this is still relevant to you but there is an open PR which may help with the problems you have faced.

@fracasula thanks. sudo vmq-admin session show --help or maybe the MQTT-Explorer tool might help you. https://mqtt-explorer.com/
If you test this in a local environment, where you have access to Erlang, you could run an Observer GUI, like this: erl -setcookie vmq -name<EMAIL_ADDRESS>-s observer -hidden then connect to one of the Verne nodes and inspect the ETS tables that represent the subscriptions (vmq_trie_topic, etc).
There's probably 2 possibilities here: the Subscription in case is not loaded into those RAM data structures (for whatever reason), or it is an issue related to SWC synchronisation protocol. Can you let me know what VerneMQ version this is, and whether you have configured to use vmq_swc metadata protocol?

I ran vernemq in both the deb and docker packages, with its option to allow anonymous sessions, however the MQTT Explorer does not connect to me, I thought they were not compactible, now reading your comment, it should work. Can you tell me if MQTT Explorer is still compactable?


Added translation for menu

Brilliant! Thank you so much for these translations! I have published them on the website now.

 I hope this cool project reaches more people.


Convert settings.gradle to the Kotlin DSL

[ ] Verify test coverage and CI build status (previous CI run before rebasing to master was green).

Branch Accept CI job is green
Merging


erroneous linter warning in F# 4.1: This number is outside the allowable range for 32-bit signed integers

The linter incorrectly reports an error for numeric literals separated by _, e.g. 100_1000. The compiler itself correctly identifies the type and ionide will compile this without errors. Rider or VS2017 do not show this warning unless the literal is truly out of range. In the screenshot other 4.1 types, like Result are working fine.

@s952163 this is because the F# language server (powered by fsharp/FsAutoComplete) use an older version of fsharp/FSharp.Compiler.Service
is tracked by https://github.com/fsharp/FsAutoComplete/issues/183
closing this. wil be fixed after referenced issue is closed

Much appreciated! I thought it would be hiding somewhere in FSAC just but wasn't sure why the others didnt show the same behavior.


Class 'Bolt\Bolt' not found

Hi,
awesome projectidea! I am looking very much for a new way to connect PHP to Neo4J 4.x. I tried your driver but it seems I do something wrong, maybe with the installation. When I open the index.php I run into
Fatal error: Uncaught Error: Class 'Bolt\Bolt' not found in C:\xampp\htdocs\Bolt-master\index.php:22
Obviously I missed something in the setup - here is what I've done:

I unzipped the code into my htdocs
I checked my php.ini (XAMPP) and enabled 'extension=sockets' in my php.ini
I run the composer to make sure I have all what is needed with the result:

C:\xampp\htdocs\Bolt-master>composer update Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Writing lock file Generating autoload files

I tested and it seems the index.page loads the "autoload.php" but crashes then when trying to use class BOLT.

Any idea what I made wrong?
Thank you

Hi.
I've tried your approach and you are right. I fixed autoload file.
https://github.com/stefanak-michal/Bolt/pull/16

Perfect – thank you!
Von: Michal Štefaňák<EMAIL_ADDRESS>Gesendet: Dienstag, 13. Oktober 2020 13:22
An: stefanak-michal/Bolt<EMAIL_ADDRESS>Cc: Alaizabel<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Betreff: Re: [stefanak-michal/Bolt] Class 'Bolt\Bolt' not found (#10)
Hi.
I've tried your approach and you are right. I fixed autoload file.
#16 https://github.com/stefanak-michal/Bolt/pull/16
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/stefanak-michal/Bolt/issues/10#issuecomment-707673074 , or unsubscribe https://github.com/notifications/unsubscribe-auth/APTZ7JL2JKPZON4Q47BF3TLSKQZ3PANCNFSM4RKXQH7A .  https://github.com/notifications/beacon/APTZ7JOFNLNR77MKUUSK3Q3SKQZ3PA5CNFSM4RKXQH7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFIXDX4Q.gif


[Bug] Whitespace Error Within JSX Components Involving New-Lines and Expressions

Describe the bug
When using components, either custom e.g. <Test> or from Solid.js e.g. <Dynamic>, involving a whitespace, newline, and blocks evaluated as expressions, an error is generated. This error is not generated for native elements and non-expression content. Potentially vite-plugin-solid error, but I'm not familiar enough to make that call.

With whitespace, these cause an error:
<Test> {/*<– whitespace*/}
  {props.title}
<Test>

<Test> {/*<– whitespace*/}
  {'hello '+(()=>'world')()}
<Test>

Without whitespace, these will work:
<Test>{/*<– no whitespace*/}
  {props.title}
<Test>

<Test>{/*<– no whitespace*/}
  {'hello '+(()=>'world')()}
<Test>

 Other Things That Still Work:
<Test> {props.title} <Test>

<Test>  {/*<– whitespace*/}
  {'hi'}
<Test>

<Test>  {/*<– whitespace*/}
  {'hi' + 'hi'}
<Test>

<Test>  {/*<– whitespace*/}
  hi
<Test>

Initial Discovery:
https://stackblitz.com/edit/solidjs-templates-5ybexv?file=src/components/Collapse.tsx
Realizing native DOM elements not effect, but all custom ones are:
https://stackblitz.com/edit/solidjs-templates-nfd3r4?file=src/components/Collapse.tsx
Note: I bumped the version in the example below, error still generated
Your Example Website or App
https://stackblitz.com/edit/solidjs-templates-zepjyb?file=src/components/Collapse.tsx
Steps to Reproduce the Bug or Issue
Provided stackblitz links should be sufficient.
Expected behavior
I am seeing whitespace errors which is unlike native JS/HTML behavior.
These errors can be hard to debug as most web devs overlooks whitespace given JS/HTML is whitespace agnostic and designed to be minified.
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome
Version: 106.0.5249.119

Additional context
No response

I don't think it is a bug though.
Let's say if the children is not a function, eg. <div>{ }{sthElse}</div>, this whitespace should be preserved but JSX syntax. So, in this situation, JSX syntax did nothing wrong to preserve the whitespace, even if it breaks the type requirement on children of the parent component.
And anyway it is always a good idea to not having whitespaces at the tail of a line.
However I am surprised that TypeScript failed to detect the issue.

indeed
<Element><whitespace>
{children}
</Element>

is exactly
<Element>
{ }
{children}
</Element>

in JSX syntax.
I just wonder why TypeScript failed to detect the type error.

That is interesting. We are sort of a middleground between React and HTML in the conventions I've taken. This sort of detail is transform specific rather than spec'd anywhere. But if TS has issues that's more interesting. In a sense I'd rather align more with HTML in general for copy and paste type scenarios but it is hard in certain places to optimally preserve space because not all children are guaranteed to be treated like HTML especially with components. And consistency is probably the more important.


Email Receipts not working

Email Receipts seem to not be getting sent when filings are synced with Colin.
When the process-paid-filings job syncs a filing with Colin it is supposed to send an email with the receipt / confirmation. Here is the code for reference:
https://github.com/bcgov/business-ar/blob/main/jobs/process_paid_filings/src/process_paid_filings/job.py#L253
In the GCP logs the following error is appearing each time this happens:
DEFAULT 2024-10-10T17:50:22.512694Z Message: 'Error in send_notifications'
DEFAULT 2024-10-10T17:50:22.512702Z Arguments: (AttributeError("'tuple' object has no attribute 'get_data'"),)
DEFAULT 2024-10-10T17:50:22.512727Z [2024-10-10 17:50:22,514] ERROR in responses: AttributeError("'tuple' object has no attribute 'get_data'")
DEFAULT 2024-10-10T17:50:22.521199Z [2024-10-10 17:50:22,520] ERROR in job: Failed to send email for filing 420

These errors date back to September. There are over 400 errors in the logs, which is probably the same amount of filings done on this system indicating that this has never actually worked successfully.

The name field has been fixed.

The test account I am using has the name THOR.


"Button" error on Web

Current Behavior
React does not recognize the `textAlign` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `textalign` instead.

cause by https://github.com/tamagui/tamagui/commit/6a1e1b11493594717822e9ab09bb42ff8026b2a6
Expected Behavior
No response
Tamagui Version
1.110.1

Platform (Web, iOS, Android)
Web

Reproduction
- Clone this https://github.com/MeromTh/tamagui-bug
- run with `npm run web`
- error from index on the first visit

System Info
No response

I have a fix for this, will push it today.

Let me know if 1.110.2 fixes it via https://github.com/tamagui/tamagui/commit/5b699ec7ab08d0e9b47082e3f0555c0e4cc24837

I just upgraded to 1.110.2, and am still seeing the warning in my browser console:
Warning: React does not recognize the textAlignprop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercasetextalign instead. If you accidentally passed it from a parent component, remove it from the DOM element.

I see this issue as well now! Any quick fix for this?

Let me know if 1.110.2 fixes it via 5b699ec

Latest version has the same issue as well!

+1

Fix going out now in 1.110.3

On Sep 8, 2024, at 2:25 PM, Simon Szalai @.***> wrote:
+1
—
Reply to this email directly, view it on GitHub https://github.com/tamagui/tamagui/issues/2893#issuecomment-2336888027, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC6RH4B7P6R3WZOUBDRZLZVTTINAVCNFSM6AAAAABNRP34O2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZWHA4DQMBSG4.
You are receiving this because you commented.


Forum registration error

Trying to register on https://www.prxbx.com/forums/member.php makes the browser throw a Content Encoding Error preventing new user registration.
The error occurs on clicking "I Agree" at https://www.prxbx.com/forums/member.php?action=register

The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.
Please contact the website owners to inform them of this problem.

Tested with the latest Firefox, IE and Chrome.

Please monitor https://www.prxbx.com/forums/showthread.php?tid=2271 for the fix.


Quantity text field, validation and more leverage choices

resolves https://github.com/itchysats/10101/issues/405
Took me a while to get this together. The usual "tiny details make the difference" UI challenges :)
I first experimented with changing the screen and moving the FormTextField in a separate row. But we run into space problems that are difficult to solve then.
We could change the overall table font size to gain a bit more space, then it might be possible. But I felt it was not worth investing more time into this (it leaks through multiple screens then), so I opted for keeping the three fields in
I also looked into adding a modal drawer that opens from the bottom where the user is guided to enter the values. But that does not make it much better, because it's hard to see the effect of entering the values then.
Note: I opted for a min quantity of 10 rather than 1 because I think it looks better. The ticket specified 1, if we insist on that I can change it :)

Only when watching the gif one more time I noticed that margin is not properly reset to 0 when the quantity field is empty. Fixed with https://github.com/itchysats/10101/pull/454/commits/d04645d4f448574d06c7539d788818eeb70564cc

I'm assuming that the overflow in the gif has nothing to do with this PR.

Indeed it has not, it's the price that sometimes (depending on the price numbers...) overflows on iPhone SE :)

bors r+
Note: I changed the min amount to 1 contract after all, because otherwise test users might run into the problem that they don't have enough sats to open a position.


Pin Node 22 minor version to 22.4

There is a bug in Node 22.5.0 that is affecting NPM workflows. This is a temporary fix until that issue closes.
Relates-to: npm/cli#7657
Change-type: patch

LGTM


Update README.md

Example for Laravel 5

This doesn't just apply to Laravel 5.  Facades have always existed in the global namespace, so if you happen to be using one in a custom class (in its own namespace), importing the Facade with a 'use' statement is required. I think the confusion comes from the fact that typical Laravel 4 Controllers also exist in the global namespace, so importing is not necessary, but this was changed in Laravel 5.
I'm happy to update the README to remind developers to import the Facade as needed, but this should be version agnostic.

Updated in 5341998fc1d87a21ee44e44482d07de297b1b515


Error in DB Connection from URI

Hi, when I try to do npm start it gives me the error that there was  unhandled promise rejection warning mongooseserverselection.

I used your connection URI and secret, however, it still gives a unhandled promise rejection warning.
Would you be able to skype or webex

https://jasonwatmore.com/post/2018/06/14/nodejs-mongodb-simple-api-for-authentication-registration-and-user-management
maybe it will be helpful?
Best regards :)
pon., 2 mar 2020 o 03:10 Sangram Kadam<EMAIL_ADDRESS>napisał(a):

I used your connection URI and secret, however, it still gives a unhandled
promise rejection warning.
Would you be able to skype or webex
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cornflourblue/node-mongo-registration-login-api/issues/8?email_source=notifications&email_token=AGF5EW2O4V2E7ZKNU2KGAFDRFMIQTA5CNFSM4K7KPEXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENNU7II#issuecomment-593186721,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGF5EW4F5NIIFJFMIZFJVCLRFMIQTANCNFSM4K7KPEXA
.

Hi, when I try to do npm start it gives me the error that there was unhandled promise rejection warning mongooseserverselection.

I'm also getting the same error, kindly provide solution thanks.


Implement users.lookupByEmail

Added users.lookupByEmail, which is almost similar with users.info.

LGTM :D


If I use Chinese datasets, will the result be not bad?

Have you trained a Chinese model?And could you share your model about the Chinese clone results?

I have never trained in Chinese, but the result would be fine, maybe :->


Fix step walker and move to fort issues

Fix step walker timing issue. This solve some problems where we were moving more than the configured speed from time to time.
Fix move to fort task infinite loop with Polyline. Because MoveToFort was always taking the nearest fort, and because we do not always choose the straight line to move (Polyline), you might end up in a scenario where you infinitely switch between 2 forts.
Improve a bit the computation speed of step_walker get_next_step
pep8 fixes

Will fix #5384 but potentially other weird behavior as well

We would be probably better off by adding a parameter to the step walker init if you want to modify the StepWalker behaviour...

@Anakin5 is this still a change you want to do? I see it now detached from your repo/branch

it got detached when this repo has been deleted. I still plan to do the changes and create another pr

@Anakin5 ping?

@davidakachaos Do you mind merging this to your changes? So that when both yours and this are committed, I can move on to investigate what causes walker not moving after a session slate.

@MerlionRock I don't mind, but my two PRs were merged already. And I didn't modify these files, so could you please tell me where I should merge?

@davidachaos then maybe I'll try to raise a PR myself base on what has already being merged.
Just not sure how to correct that Monkey patching....

@MerlionRock Okay, well, if I can help you out in some way, let me know :smile:

@davidakachaos Step walker has no conflict, I'll do a PR for it.
I've changed move_to_fort with a little simple logic to prevent it from infinitely switching between 2 forts instead. Will merge it instead of using Anakin5's.
But I'll wait for the 0.53 API to be ready first before doing these PR.

Cool. Now we wait for a stable api again. Hope it will be available soon.
Op 21 jan. 2017 04:56 schreef "MerlionRock"<EMAIL_ADDRESS>
@davidakachaos https://github.com/davidakachaos Step walker has no
conflict, I'll do a PR for it.
I've changed move_to_fort with a little simple logic to prevent it from
infinitely switching between 2 forts instead. Will merge it instead of
using Anakin5's.
But I'll wait for the 0.53 API to be ready first before doing these PR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/PokemonGoF/PokemonGo-Bot/pull/5407#issuecomment-274232368,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD5Y-WgzVuK1Bxern_djmAtDRSiB7Hyks5rUYHbgaJpZM4J6jSp
.

@MerlionRock I think this PR can be closed now? cc @solderzzc

@davidakachaos I guess so. If @Anakin5 ever return, he can reopen it. cc @solderzzc

Yes, Let me close it by now.  @davidakachaos  @MerlionRock


Analysis and Content - Receipt Confirmation Email

[ ] Analyze existing content from va.gov and the physical letter sent
[x] Initiate the VSP Collaboration Cycle
- [ ] Finalize Receipt Confirmation Email Template - Content, Design, Accessibility (and address any  recommendations) Separating out design and content to separate cards, see #81 & #82

#81 and #82 created to track content and design independently.


chore(api): add implementation of new Item Search Controller

ping @ziimk

Hi there, could you please review this one?

Sorry for the long reply.  @xXNoceboXx thank you for making this PR and adding the missing methods. We just released a new version (1.1.0) that has all new missings search endpoints + documentations (that was missing in this PR).


Proposal for creating a Japanese localized version

Nice to meet you. And thank you for the great sample.
I am in awe of JetBrains' tools, they are really well done. I want my colleagues to get more familiar with this tool, so I am conducting my own Hands on.
I'm teaching it while translating it into Japanese, and I'd be happy to contribute step by step, and I'd like to send out a PR when I make a localized version in Japanese.
So I would like to discuss the directory structure of the Japanese localized version.
I think it would be better to have separate repositories, would the following structure be ok?
ex.
JetBrains
 `- resharper-rider-samples (current english version)
 `- resharper-rider-samples-ja (japanese localized version)

Best regards.

Hi @sun-flat-yamada ! First of all, thank you for stepping up with this proposal. It's really something we would like to see, so thank you in advance for this.
I'd like us to try subdirectories in the current repository (en and ja, for example), and then a README that explains in both languages where to find localized resources.
If you want, I can make a commit to make these base changes?

Thank you for your quick reply @maartenba .
I think your suggestion is fine. However, if it could be improved more, I think it would be better to create a intermediate directory like a 'localized'.
My understanding of your proposal is as follow:
resharper-rider-samples
  `- :
  `- 11-Other
  `- .gitattributes
  `- :
  `- en
  `- :
  `- ja
  `- :
  `- :

And the proposal I described above is below:
resharper-rider-samples
  `- :
  `- 11-Other
  `- localized (This naming is just an idea...)
    `- en (Is this redundant? The official (master) ver is already available in en.)
    `- :
    `- ja
    `- :
    `- :
  `- .gitattributes
  `- :

What do you think?
If you can make a subdirectory for localization, I would like the 1st commit to include the current English version. I will try to publish PRs in the order of the translated ones.

That's a good idea actually. I made a commit that adds the localized folder, and added ja in there.
Not sure about the kanji I used in the localized/README.md, but I trust you will correct it if needed :-)
You can copy everything in the localized/ja folder. Does that work for you?

Thanks for the quick response. @maartenba
The preparation you have done is good.
The Japanese Kanji you wrote is also perfect.
When I start working on it, I'll 1st commit the latest en version at that time and send out a PR.
Thanks.


Allow changing font face

This one's a bit subjective and probably biased by the fact that I've been enjoying coding in 1.3.2 so much, but I'm finding the choice of a different font in the NC2 editor is making reading code harder. The &/@ symbols in particular don't appear in the shape I'm expecting to see and the characters are overall a bit more packed and less legible than before at the same font size. It'd be handy if there was the possibility for users to select a font face as well as size, but IMO the old NC font is more legible.

NC 2.0.0 (from windows installer exe on the site)
Windows 10
System JRE 1.8.0_92-b14 (in case that's helpful).

Currently I'm using FiraCode which is fairly popular for editing code. I may look into allowing the font to change in the future. I changed the title to reflect that.

Yes, it is very subjective, but I am very attached to coding font I'm using (https://madmalik.github.io/mononoki/), so it would be great if I could use that with NC. Maybe just a few instructions how to build NC with a different font would be sufficient.

By modifying public/codemirror.html and public/paren-soup.html, and uploading the font to public/fonts I could change the font for the code.
This is good enough for my use case.


Clarification - does it uses virtual threads under the hood?

splitting the operations using tree structure sounds interesting.
i am curious how does that work.
Threads are heavily criticised, because it is bound to system hardware and it's operations are expensive.
In some cases, trying to do operations in parallel using threads decreases performance.
Light weight threads/Virtual threads/Coroutines came after that.
Does bend or the runtime uses something like virtual threads to overcome issues in threads?

The C runtime of HVM uses normal threads with the pthread library. They are basically always running with a work pool strategy.
Not sure how virtual threads are supposed to make a difference in this case.


404 error on helm chart url link & missing breadcrumb

Describe the bug
From the Sources page, when I clicked on the URL link for helm-charts, the UI opened a new page with a fancy diagram and a 404 error on the center. Although the diagram was nice to look at, the red 404 error should not have been present. The breadcrumb was also missing from the top left corner.
Environment

Weave-Gitops Version = v0.8.1-rc.4
Flux Version = v0.30.2
Kubernetes version = v1.23.4

To Reproduce

Navigate to UI dashboard and click on Sources tab
Click on the link of a helm chart object from the URL section
Navigate to a new page
See diagram with error

Expected behavior
Users should see no 404 errors
Actual Behavior With Screen Capture
https://images.zenhubusercontent.com/342592099/0862fb77-6ae9-4468-bb72-9438ab154ca3/screenshare___2022_05_17_4_42_06_pm.mp4

We'll need to more broadly address the Helm Chart details page as we fix this particular issue of the URL.

Broadly addressing helm charts details sound out of scope for this.
We currently try to display the HelmCharts' URL. This doesn't work, because HelmCharts don't have URLs. We should remove the URL.

@ozamosi agree - I'll need to create a new issue for anything beyond a change to the Helm Chart URL/breadcrumb.
As to whether Helm Charts have a URL... technically they do, but whether it is valuable to show is debatable. A valid example would be:
url: http://source-controller.flux-system.svc.cluster.local./helmchart/<source-namespace>/<chart-name>/<chart-name>-<chart-version>.tgz
I'd be happy still showing a (correct) value, particularly if it is more challenging to change the details page layout for a single type.


added custom path solvers

Added custom path solvers, providing an alternative to those based on opt_einsum. Includes 3 different solver algorithms (two are variants of a greedy search, one is a full search over all paths), as well as some helper functions that interface the solvers with networks defined in the ncon syntax.

@googlebot I signed it!

I'm not sure how this passed the linter check.

Please also add unit testing to the methods.

 Can you run yapf with the style settings given in the .style.yapf file over your files? that should fix most of them.

@gevenbly can you fix the linter complaints, then this should be good to go

@mganahl Should I just be looking at the linter complaints in https://travis-ci.org/github/google/TensorNetwork/jobs/702424867 or is there somewhere else too?

yep, those should be fixed


Showcase Submission for noc/5-autonomous-agents/7-path-following

Thank you Nwachukwu Ujubuonu for your contribution! A member of the Coding Train team will review it shortly.

Moniac
Nwachukwu Ujubuonu

Wow!


Error: webpack < 5 used to include polyfills for node.js core modules by default

I have a project with the following dependencies:
"react": "^18.1.0",
"react-scripts": "^5.0.1"
I get the following error:
webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.

If you want to include a polyfill, you need to:
        - add a fallback 'resolve.fallback: { "util": require.resolve("util/") }'
        - install 'util'
If you don't want to include a polyfill, you can use an empty module like this:
        resolve.fallback: { "util": false }

这是来自QQ邮箱的假期自动回复邮件。你好，我最近正在休假中，无法亲自回复你的邮件。我将在假期结束后，尽快给你回复。


the docs site is completely broken

website: https://opensource.huntersofbook.com/
github: https://github.com/huntersofbook/huntersofbook/tree/main/docs
localhost dont problem but vercel with deploy this problem
v.1.4.4

this is problem vercel, but custom server push working

same problem in v1.4.5

same with vercel and netlify

fixed with v1.4.6

fixed with v1.4.6

It doesn't seem to be fixed. Maybe a discussion group should be set up... The recent release does not seem to have been tested

Hello @productdevbook ; could you confirm the latest version fixed your issues?
Thanks a lot! 🙏

@Tahul no fixed
https://huntersofbook-site-iem4gnk90-productdevbook.vercel.app/

@Tahul new vercel open and re deploy fixed.
How to vercel cache delete website ?


User Snippets Not Working

Type: Bug
Version of VS Code:  1.72.2
Your operating system: Debian 22.04 LTS
List of extensions that you have installed:  Markdown All in One, Markdown Extended, markdownlint, Foam
Reproducible steps (1... 2... 3...) that cause the issue

Add a User Snippet with the scope 'markdown'
Create a new Markdown document
Enter the prefix for the snippet

What you expected to see, versus what you actually saw
I expected to see IntelliSense show a suggestion with the snippet, which I can then insert into the file by hitting enter. Instead, I did not see any suggestion.
I tried this after disabling all Extensions, I tried to check all of the settings under preferences to ensure that all options relating to showing snippet suggestions were enabled, I also tried using local snippets for the folder instead of global User snippets. None of these rectified the issue. I also tried removing all user snippets and re-adding them. This did not help either.
Errors from the Dev Tools Console (open from the menu: Help > Toggle Developer Tools)
There were no errors shown in the Dev Tools console.
VS Code version: Code 1.72.2 (d045a5eda657f4d7b676dedbfa7aab8207f8a075, 2022-10-12T22:16:26.920Z)
OS version: Linux x64 5.15.0-50-generic
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-3330 CPU @ 3.00GHz (4 x 3200)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
1, 1, 1

Memory (System)
31.23GB (27.92GB free)

Process Argv
--unity-launch --crash-reporter-id b328e58d-8e0b-4c83-bfbf-1e24cc8d07b1

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Extensions: none
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
azure-dev_surveyone:30548225
i497e931:30553904
pyindex848cf:30577861
nodejswelcome1cf:30587006
40g7c324:30573242

Thanks for your reply! I had already enabled quick suggestions in the user settings:
"[markdown]": {
        "editor.defaultFormatter": "yzhang.markdown-all-in-one",
        "editor.quickSuggestions": {
            "other": "on"
        }
    },

This still hadn't started showing the suggestions for Markdown.
I double checked to make sure the workspace settings didn't override the User settings, and I even tried by having quick suggestions enabled in the workspace. Neither of this helped.


How to Install Prerequisites

Raspbian that will run Linux-side program requires some prerequisite libraries.
Install Bluetooth Library
$ sudo apt-get install libbluetooth-dev

Since this project requires legacy IPC to communicate with Bluetooth service, you should execute Bluetooth service with legacy flag. You need to edit your systemd config file.
$ sudo vi /etc/systemd/system/dbus-org.bluez.service

ExecStart=/usr/lib/bluetooth/bluetoothd --compat

$ sudo systemctl daemon-reload
$ sudo systemctl restart bluetooth
$ sudo chmod 777 /var/run/sdp

Edit wpa_supplicant Daemon's Config
$ sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

update_config=1
driver_param=p2p_device=1

Install udhcpd
$ sudo apt-get install udhcpd
$ sudo touch /var/lib/misc/udhcpd.leases
$ sudo wpa_supplicant -iwlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

With PR #10, I added this documentation on source code directory.
Therefore I close this issue.


Components not rendering when running --prod flag

Short description of the problem:
Here a simple repo that could be used to replicate the issue. In this case, I am using the Ng2HighchartsModule to render a simple chart on the main page.

When generating a build without the --prod flag, the chart is displayed on an iOS device (iPhone 6 or Emulator).
When generating the build  with the --prod flag, the chart is not displayed (on the same iOS devices).
No errors are raised in both cases.
What behavior are you expecting?
The chart should display in both cases.
Steps to reproduce:
You can use this repo for code base.
Steps that will show the chart:

npm run ionic:build (in dev mode)
ionic build ios
Open the Xcode project and launch on iOS device - The chart will load

Steps that will not show the chart:

npm run ionic:build --prod
ionic build ios
Open the Xcode project and launch on iOS device - The chart will not load and no errors are reported

Which @ionic/app-scripts version are you using?
Happens with both 1.0.0 and 1.1.0
Other information: (e.g. stacktraces, related issues, suggestions how to fix, stackoverflow links, forum links, etc)
ionic info
Your system information:

Cordova CLI: 6.1.1
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic Framework Version: 2.0.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
ios-deploy version: 1.9.0
ios-sim version: 5.0.4
OS: Mac OS X El Capitan
Node Version: v7.5.0
Xcode version: Xcode 8.2.1 Build version 8C1002

Thank you for the detailed issue. I'll take a look.
Thanks,
Dan

This has to do with the ngc metadata changing in angular 2.3. Try running Angular 2.4.8. We are releasing Ionic 2.1 with a default of 2.4.8 this week. It should be a drop in replacement.
Thanks,
Dan

Thanks @danbucholtz. However 2.4.8 seems to break some components of Ionic as per here.
Any other suggestions that come to mind or should I just wait for Ionic compatibility with 2.4.8?

@eafif, more than likely it will be fine. We are going to ship 2.4.8 support this week or next. The only reason it missed the last release is we needed to do testing. @ionic/storage was broken due to changes in the dependency injection system. We published a beta version of those changes and will make them widely available soon.
Thanks,
Dan


Get all home charging sessions

I would like to export all home charging sessions to evaluate how much energy was taken from which wallbox and authenticated by which charging card.
So far I am working with the iobroker.vw-connect and iobroker.simple-api adapter. I am requesting the data from a python script using the simple-api REST API. This is not very efficient but was working in a first POC. I would like to get rid of the iobroker dependency providing an exporting possibility that is kind of standalone. It would be great to use the weconnect-python module to handle the VW API. However, I think there is no API yet to return the former home charging sessions . Would it be possible to add it?

You mean the data from the Elli Chargers?

yes

Ok, that is a good request, I already had that in mind to allow automatically to connect charging sessions in VWsFriend with the data from WeCharge. That would be the same authentication. The problem for home charging is that I do not have such a charger. So once the groundwork is done I would need some data examples. But First of all I would need some refactoring so.
To summarise: I can imagine to implement that but it is a bigger part and will need some time.

Hi,
we have three ID Chargers with 4 different RFID charging cards. We already generated 300+ records and I would share the data. Is there something else I could contribute (question also relates to source code)?

I guess it is also json what is coming from the server.
The WeCharge items need a different authentication, thus I will first refactor out the current WeConnect auth, (login, token refresh, ...) in a separate class. Then I can add the auth for the charging. The actual retrieval of the data should be a piece of cake, but it would be helpful to have a sample of the data in json format if you can capture that.

Short update: I was able to login to WeCharge the first time and fetch some data. I still have a lot of cleanup todo before I can think of integrating it into a release, but a first proof of concept is done.

I just have the json string coming from io-broker. However, I am not sure if this is the same format than returned by WeCharge.

We can have a try. You can anonymize it if it contains personal data.

Sure!
100 records with anonymized serial numbers, IDs and addresses.
wecharge_anonym.zip

super danke!

Any update on this? Elli Charger now supports EEBUS and VW Passat GTE is here (still waiting for ID.4...)

I have a working example, unfortunately I did not find enough time to finish it yet. I would need one or two days. Unfortunately my real job and family keeps me busy right now. But ist is not forgotten.

Any update on this? Elli Charger now supports EEBUS and VW Passat GTE is here (still waiting for ID.4...)

Is the EEBUS update finally available? I am waiting for the respective Fota update since 1,5 years meanwhile…

Any update on this? Elli Charger now supports EEBUS and VW Passat GTE is here (still waiting for ID.4...)

Is the EEBUS update finally available? I am waiting for the respective Fota update since 1,5 years meanwhile…

Yes, it is. You can install it via VW Connect ID App or wait for Autoupdate.

I have a working example, unfortunately I did not find enough time to finish it yet. I would need one or two days. Unfortunately my real job and family keeps me busy right now. But ist is not forgotten.

Hi @tillsteinbach have you any news about the ID Chargers?

Unfortunately not. Got even worse with spare time. Sorry.

Unfortunately not. Got even worse with spare time. Sorry.

we all have the same problems...
thank you for your great work!

Yes, I was able to get the charging sessions.


Install Failed in ASP.NET Core 3.1 project

Hi:
I am not sure whether the current Statiq.Framework can be used in an ASP.NET Core 3.1 MVC project?
I created an empty ASP.NET Core 3.1 MVC project in Visual Studio 2019, and then used Nuget Manager to install Statiq.App, Statiq.Common and Statiq.Markdown successfully. but later I found that I could not add any new controller class (right click the Controller folder and add new controller);
I realized it could be caused by the Statiq stuff. then I uninstalled Statiq.App, Statiq.Common and Statiq.Markdown,  then I could add a new controller class;
After I added the new controller class, I tried to install the 3 Statiq libs again, but I got failed messages:
Error	NU1107	Version conflict detected for Microsoft.CodeAnalysis.Common. Install/reference Microsoft.CodeAnalysis.Common 3.4.0 directly to project TryStatiq2 to resolve this issue.
TryStatiq2 -> Statiq.App 1.0.0-alpha.27 -> Statiq.Core 1.0.0-alpha.27 -> Microsoft.CodeAnalysis.CSharp 3.4.0 -> Microsoft.CodeAnalysis.Common (= 3.4.0)
TryStatiq2 -> Microsoft.VisualStudio.Web.CodeGeneration.Design 3.1.1 -> Microsoft.VisualStudio.Web.CodeGenerators.Mvc 3.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration 3.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.EntityFrameworkCore 3.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.Core 3.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.Templating 3.1.1 -> Microsoft.VisualStudio.Web.CodeGeneration.Utils 3.1.1 -> Microsoft.CodeAnalysis.CSharp.Workspaces 3.3.1 -> Microsoft.CodeAnalysis.Common (= 3.3.1).

Update:
Today I manually installed Microsoft.CodeAnalysis.Common 3.4.0 in Nuget Manager, the issue was resolved.

Great! Glad that worked. I suspect this may be an ongoing "problem". Given how much Microsoft.CodeAnalysis is used in tooling like Visual Studio, any library that also uses it will likely be out of sync version-wise from time-to-time. When that happens, manually installing the appropriate version helps remove the ambiguity. The alternative is for libraries to try and chase whatever version of Microsoft.CodeAnalysis is currently used by the tooling, but that's a loosing proposition since doing so is time consuming and probably won't keep up anyway.

Sorry, what I meant is that the issue is still there.
If I installed the Statiq lib in an ASP.NET Core 3.1 mvc project in Visual Studio 2019, whatever I manually update the Microsoft.CodeAnalysis.Common versions, I still could not add Controller or Views using Visual Studio's Scaffolding.  What I resolved issue is if I added a new Controller first then I could not install Statiq lib with manually updating  Microsoft.CodeAnalysis.Common.  but if I installed Statiq Lib (whenever), I no longer be able to add new Controller and Views.


Regular users cannot filter by stack label

Rancher versions:
rancher/server: v1.6.7
As admin when I open the STACKS top level menu I have:
All
--
User
Infrastructure
--
Label1
Label2
Label3

If I select Label1 the view is filtered to the stacks with that label.
If I login to rancher as a regular user (not admin) I see this in the STACKS top level menu:
All

So the labels are not displayed and there is no way to filter by label. What I expected to see as a regular user is:
All
--
Label1
Label2
Label3

However the regular user can still edit labels on the stacks, only he does not get the option in the STACKS menu to filter by them. Not sure if this is a bug,  working as intended, or if I have some misconfiguration.

Version - v1.6.15-rc6
Verified fixed


[1/n] MultiEmbeddingTensor: Restructure and clean up MultiNestedTensor

Preparation for #181.

Adds a base class for Multi{Nested,Embedding}Tensor.
Fixes typing.
Adds more docs.
Make a few methods private.

I'll address any other review in a follow-up #181 if there is.


amqpcpp lib stop to work after publish to invalid exchange

The code:
AMQP::Channel*    m_channel;

void RpcHandler::send_ack(const AMQP::Message &message, quint64 deliveryTag, const QByteArray& ba)
{
    AMQP::Envelope envelope(ba.data());
    envelope.setCorrelationID(message.correlationID());

    //    if (!m_channel->publish("", message.replyTo(), envelope))
    //        LDEBUG() << "qqqqqqqqqqq";

    // after this string library stop to work
    //     if coment this string and uncomment previous publish
    //    with correct exchange all is work (ack, receiving new messages etc.)
    //
    if (!m_channel->publish("ajhsakjdhasdkjhas", message.replyTo(), envelope))
        LDEBUG() << "qqqqqqqqqqq";

    if (!m_channel->ack(deliveryTag))
        LDEBUG() << "sssssss1";
}

After sending message to invalid exchange all stop to work:

When I sends ack of my previous message, server does not receives it like I did not send ack. After exit from amqpcpp callback, message status on server changes from unacked to ready status, like I did not send ack.
Also publish with invalid exchange return true, ack also returns true
No new messages does not comes to my all consumed queus. Also if I send messages to other queues. Messages are pushes to RabbitMQ server and does not comes to my service anymore
No any error reporting/conection closing on AMQP::ConnectionHandler::onError
No any errors from ack or invalid publish

I have only error message on rabbitMq server<EMAIL_ADDRESS>=ERROR REPORT==== 7-Aug-2015::17:46:25 ===
connection <0.2479.0>, channel 1 - soft error:
{amqp_error,not_found,"no exchange 'asasas' in vhost '/'",'basic.publish'}

No any errors about my ack.
Could you halp me? Is it bug? I do not want to stop working library, I want to have any errors as minimum e.g. ConnectionHandler::onError if everething stopped or return false from publish without stopping working library or any way to detect this situation in code (only from RabitMQ log file in current moment).  Just restarting of my service is helping (I did not try to close and reopen connection). Would be great to have false from publish call and all continue to work.
Thank you.

You can better create a different channel object for every publish call. You can even create a channel on the stack for that. In that case, an error that occurs with a publish() will not stop any of the ack() calls.
Remember that when an error occurs on a channel, the entire channel becomes invalid. Creating new channels is not a very expensive operation, so you can create new channels for everything you want to do.
void RpcHandler::send_ack(const AMQP::Message &message, quint64 deliveryTag, const QByteArray& ba)
{
    AMQP::Envelope envelope(ba.data());
    envelope.setCorrelationID(message.correlationID());

    //    if (!m_channel->publish("", message.replyTo(), envelope))
    //        LDEBUG() << "qqqqqqqqqqq";

    // create temporary channel for publishing
    AMQP::Channel tempchannel(m_connection);

    // after this string library stop to work
    //     if coment this string and uncomment previous publish
    //    with correct exchange all is work (ack, receiving new messages etc.)
    //
    if (tempchannel.publish("ajhsakjdhasdkjhas", message.replyTo(), envelope))
        LDEBUG() << "qqqqqqqqqqq";

    if (!m_channel->ack(deliveryTag))
        LDEBUG() << "sssssss1";
}


The private token is no longer given

Removed the private token from the User request, as it is no longer given by the API.

Can you please link to the GitLab PullRequest that is removing this from the API?

To be honest I didn't find it through the evolution docs, I was really working on adding more resources when I noticed this, but it's even updated on the API documentation's example response: https://docs.gitlab.com/ce/api/users.html#current-user
{
  "id": 1,
  "username": "john_smith",
  "email"<EMAIL_ADDRESS>  "name": "John Smith",
  "state": "active",
  "avatar_url": "http://localhost:3000/uploads/user/avatar/1/index.jpg",
  "web_url": "http://localhost:3000/u/john_smith",
  "created_at": "2012-05-23T08:00:58Z",
  "is_admin": false,
  "bio": null,
  "location": null,
  "skype": "",
  "linkedin": "",
  "twitter": "",
  "website_url": "",
  "organization": "",
  "last_sign_in_at": "2012-06-01T11:41:01Z",
  "confirmed_at": "2012-05-23T09:05:22Z",
  "theme_id": 1,
  "color_scheme_id": 2,
  "projects_limit": 100,
  "current_sign_in_at": "2012-06-02T06:36:55Z",
  "identities": [
    {"provider": "github", "extern_uid": "2435223452345"},
    {"provider": "bitbucket", "extern_uid": "john_smith"},
    {"provider": "google_oauth2", "extern_uid": "8776128412476123468721346"}
  ],
  "can_create_group": true,
  "can_create_project": true,
  "two_factor_enabled": true,
  "external": false
}

As you can see it was removed, used to be the last field on the response, I believe.

Because remember that GitLab is drifting away from Private Tokens, they want the user to manually create a personal access token for each app, so it would no longer make sense to show a resource that most users don't use.

I think the reason was another https://github.com/gitlabhq/gitlabhq/commit/727dff3f158b9ef852b2b014d4efe0abd69a23d0

Probably, it's also a quite evident security risk.

@pietbrauer Can you please restart the CI jobs on this one? According to the logs it seems like a temporary error with missing simulators, should be fixed by now.


Timeout during the prestart phase

It looks like there is a timeout during the prestart phase. Trying to run a long prestart ends up failing silently. Could it be possible to make it parameterized in the manifest ? Or at least log something about it ?

The timeout could be linked to the
DefaultTimeoutStartSec=, DefaultTimeoutStopSec=, DefaultRestartSec= of SystemD
I think it's related to the way rkt launch the unit in Stage1
here
I would also love a way to set the timeout by manifest.

I'd like to tease this apart into a bug and a feature request - could you provide more info on what you experience with the long prestart failing silently?

Here is a test aci with the "bug". (No log when the pre-start is over and timeouted.)
Test Aci
The last log the rkt run returns are this :

[28427.157242] bash[4]: 88 s
[28427.160184] bash[4]: Thu Oct  1 16:41:11 UTC 2015
[28428.163426] bash[4]: 89 s
[28428.165712] bash[4]: Thu Oct  1 16:41:12 UTC 2015

As for the features i think the link i provided in my previous post are more or less self explanatory.
But just in case.
We wanted to be able to set the timeout of the pre-start in the manifest.
Which would kind of look like
    "eventHandlers": [
      {
        "name": "pre-start",
        "timeout": "180s",
        "exec": [
          "/prestart.sh"
        ]
      }
    ],

@alban @iaguis what do you think about just setting the timeout to 0 for now? IMHO that default behaviour would be more expected

@alban @iaguis what do you think about just setting the timeout to 0 for now? IMHO that default behaviour would be more expected

Yes, let's do that by default, the user can just kill rkt if it takes too long.
#1547


requesting access logs for denied requests due to REGISTRY_ONLY

Describe the feature request
When a request is sent to the BlackHole cluster due to not matching a service entry please output logs so that people can know what hostname was blocked so appropriate service entries can be created.
here is a current log showing a blocked request:
root@ubuntu:/# curl https://www.espn.com
curl: (35) OpenSSL SSL_connect: Connection reset by peer in connection to www.espn.com:443
[ubuntu istio-proxy] {"response_code":0,"upstream_service_time":null,"upstream_host":null,"upstream_local_address":null,"request_id":null,"downstream_remote_address":"<IP_ADDRESS>:35070","bytes_sent":0,"upstream_cluster":null,"upstream_transport_failure_reason":null,"authority":null,"duration":8,"response_code_details":null,"response_flags":"UH","protocol":null,"user_agent":null,"path":null,"connection_termination_details":null,"method":null,"downstream_local_address":"<IP_ADDRESS>:443","route_name":null,"x_forwarded_for":null,"requested_server_name":null,"start_time":"2021-06-04T14:35:50.462Z","bytes_received":0}
Describe alternatives you've considered
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Additional context
istio 1.9.5
istio install yaml file related contents:
  outboundTrafficPolicy:
    mode: REGISTRY_ONLY

meshConfig:
accessLogFile: /dev/stdout
accessLogEncoding: JSON
accessLogFormat: '
start_time: "%START_TIME%",
authority: "%REQ(:AUTHORITY)%",
bytes_received: "%BYTES_RECEIVED%",
bytes_sent: "%BYTES_SENT%",
content_length: "%REQ(Content-Length)%",
connection_termination_details: "%CONNECTION_TERMINATION_DETAILS%",
downstream_local_address: "%DOWNSTREAM_LOCAL_ADDRESS%",
downstream_remote_address: "%DOWNSTREAM_REMOTE_ADDRESS%",
duration: "%DURATION%",
request_duration: "%REQUEST_DURATION%",
response_duration: "%RESPONSE_DURATION%",
response_tx_duration: "%RESPONSE_TX_DURATION%",
method: "%REQ(:METHOD)%",
path: "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
protocol: "%PROTOCOL%",
request_id: "%REQ(X-REQUEST-ID)%",
requested_server_name: "%REQUESTED_SERVER_NAME%",
response_code: "%RESPONSE_CODE%",
response_code_details: "%RESPONSE_CODE_DETAILS%",
response_flags: "%RESPONSE_FLAGS%",
transfer_encoding: "%REQ(Transfer-Encoding)%",
upstream_cluster: "%UPSTREAM_CLUSTER%",
upstream_host: "%UPSTREAM_HOST%",
upstream_local_address: "%UPSTREAM_LOCAL_ADDRESS%",
upstream_service_time: "%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
upstream_transport_failure_reason: "%UPSTREAM_TRANSPORT_FAILURE_REASON%",
user_agent: "%REQ(USER-AGENT)%",
x_forwarded_for: "%REQ(X-FORWARDED-FOR)%"
'

Probably you can see the host via %REQUESTED_SERVER_NAME%?

"requested_server_name":null, is what i see in the access logs

Probablysimilar issue as https://github.com/envoyproxy/envoy/issues/14922

yep appears so, we do see requested_server_name populated when we have service entries that match

not stale

I just checked and istio 1.11.4 now has a populated "requested_server_name" for when the cluster has an outbound traffic policy of registry_only and you do not have a service entry for what your trying to connect to.
The associated access log shows the following now:
{
  "requested_server_name": "www.google.com",
  "upstream_transport_failure_reason": null,
  "response_flags": "UH",
  "upstream_cluster": "BlackHoleCluster",
  "authority": null,
  "response_code_details": null,
  "route_name": null,
  "method": null,
  "upstream_local_address": null,
  "bytes_received": 0,
  "start_time": "2021-12-02T16:44:39.405Z",
  "response_code": 0,
  "protocol": null,
  "request_id": null,
  "downstream_local_address": "<IP_ADDRESS>:443",
  "connection_termination_details": null,
  "downstream_remote_address": "<IP_ADDRESS>:47858",
  "upstream_service_time": null,
  "bytes_sent": 0,
  "x_forwarded_for": null,
  "duration": 5,
  "upstream_host": null,
  "path": null,
  "user_agent": null
}

which is very helpful


Spontaneous horizontal scrolling when using useSortable

This issue is visible in the "Many items" multiple container example. Just pick up a single card starts the whole board scrolling rapidly to the right. I guess it's because the card is near the right edge, but in my experimentation it's very hard to get control of that horizontal scrolling if the board is wider than the screen.
Chrome/macOS

Is it possible to tune the scrolling behavior as a client of dnd-kit?

Duplicate of #23. Generally I think it's a bit tricky to find a one-size-fits-all strategy for auto-scrolling. I think in the future this should be a bit more extensible, and have either a pointer coordinates based strategy or a strategy that is based on the bounding rect of the dragged element


Various Labs: Minor issues – extra spaces, missing periods, upper case consistency

A recent QA of this series noted multiple issues in the Instructions that can be considered 'cosmetic':  They do not lead to blocking in completion of the labs, however I wanted to call them out so that if the CO wishes to do a pass through the markdown at a future date to correct them they will be aware and have some references.  The screenshots below are not specifically from this course, but meant to be an example of this minor issue.
Extra space:

Seen in Labs: 5, 7, 8, 9a, 11

Missing full stop (period):

Seen in Labs: 3a, 4, 5, 6, 8, 9a

Need upper case to be consistent:

Seen in Labs: 2a, 2b, 3a

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Run bugfix tool. ICMS QUERY
https://github.com/MicrosoftLearning/AZ-104-MicrosoftAzureAdministrator.fr-fr/blob/OLPRODLOC/Instructions/Labs/LAB_05-Implement_Intersite_Connectivity.md

Fixed.


fix: date formatting on created_at and updated_at columns

of github_issue_comments and github_pr_comments needed to be made consistent

Codecov Report

Merging #216 (2690f21) into main (feafa25) will decrease coverage by 0.28%.
The diff coverage is 40.00%.

@@            Coverage Diff             @@
##             main     #216      +/-   ##
==========================================
- Coverage   70.10%   69.82%   -0.29%
==========================================
  Files          47       47
  Lines        2489     2505      +16
==========================================
+ Hits         1745     1749       +4
- Misses        477      481       +4
- Partials      267      275       +8

Impacted Files
Coverage Δ

...tensions/internal/github/github_issues_comments.go
70.83% <40.00%> (-3.28%)
:arrow_down:

extensions/internal/github/github_pr_comments.go
70.83% <40.00%> (-3.28%)
:arrow_down:

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 feafa25...2690f21. Read the comment docs.


Invalid JSON result on HTTP API request

Hello,
When i send a REST request on an index containing multiple results, the json returned contains the list of expected vertices, but, the json is not valid. So, using a REST tool requester return me a parse error.
Example of request : http://orientb.mydomain.com/index/mydb/server.name/toto*
JSON response format :
[
{"key" : "value", ...}
{"key" : "value", ...}
{"key" : "value", ...}
]
as you can see, there is no comma separating the vertices.
Index is Fulltext / Lucene
Orientdb version : 2.1.12
Thank you for your help.

Hi @IamKazuya
Thank you for reporting, I'm on it
Thanks
Luigi

Hi @IamKazuya
I just pushed a fix for this problem,  you can find it in 2.1.x and develop branches.
The fix will be released with 2.1.14 and 2.2 beta2
Thanks
Luigi

Oh, thank you so much for your reactivity !


CMake Fails due to Missing TBB Dependency

When building the project on Ubuntu 22.04, the CMake configuration fails if TBB is not installed.
# Install gtsam (GTSAM_WITH_TBB=OFF) and iridescence

# Configure
git clone https://github.com/koide3/gtsam_points
mkdir gtsam_points/build && cd gtsam_points/build
cmake .. -DBUILD_WITH_CUDA=OFF --debug-find

cmake output

CMake Debug Log at cmake/FindGTSAM.cmake:3 (find_path):
  find_path called with the following settings:

    VAR: GTSAM_INCLUDE_DIRS
    NAMES: "gtsam/inference/FactorGraph.h"
    Documentation: GTSAM include directories
    Framework
      Only Search Frameworks: 0
      Search Frameworks Last: 0
      Search Frameworks First: 0
    AppBundle
      Only Search AppBundle: 0
      Search AppBundle Last: 0
      Search AppBundle First: 0
    CMAKE_FIND_USE_CMAKE_PATH: 1
    CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1

  find_path considered the following locations:

  The item was found at

    /usr/local/include/gtsam/inference/FactorGraph.h

Call Stack (most recent call first):
  CMakeLists.txt:31 (find_package)

CMake Debug Log at cmake/FindGTSAM.cmake:7 (find_library):
  find_library called with the following settings:

    VAR: GTSAM_LIB
    NAMES: "gtsam"
    Documentation: GTSAM libraries
    Framework
      Only Search Frameworks: 0
      Search Frameworks Last: 0
      Search Frameworks First: 0
    AppBundle
      Only Search AppBundle: 0
      Search AppBundle Last: 0
      Search AppBundle First: 0
    CMAKE_FIND_USE_CMAKE_PATH: 1
    CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1

  find_library considered the following locations:

  The item was found at

    /usr/local/lib/libgtsam.so

Call Stack (most recent call first):
  CMakeLists.txt:31 (find_package)

CMake Debug Log at cmake/FindGTSAM.cmake:11 (find_library):
  find_library called with the following settings:

    VAR: GTSAM_UNSTABLE_LIB
    NAMES: "gtsam_unstable"
    Documentation: GTSAM_UNSTABLE libraries
    Framework
      Only Search Frameworks: 0
      Search Frameworks Last: 0
      Search Frameworks First: 0
    AppBundle
      Only Search AppBundle: 0
      Search AppBundle Last: 0
      Search AppBundle First: 0
    CMAKE_FIND_USE_CMAKE_PATH: 1
    CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1

  find_library considered the following locations:

  The item was found at

    /usr/local/lib/libgtsam_unstable.so

Call Stack (most recent call first):
  CMakeLists.txt:31 (find_package)

CMake Debug Log at cmake/FindGTSAM.cmake:15 (find_library):
  find_library called with the following settings:

    VAR: TBB_LIB
    NAMES: "tbb"
    Documentation: TBB libraries
    Framework
      Only Search Frameworks: 0
      Search Frameworks Last: 0
      Search Frameworks First: 0
    AppBundle
      Only Search AppBundle: 0
      Search AppBundle Last: 0
      Search AppBundle First: 0
    CMAKE_FIND_USE_CMAKE_PATH: 1
    CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1

  find_library considered the following locations:

    /usr/local/lib/(lib)tbb(\.so|\.a)
    /usr/lib/(lib)tbb(\.so|\.a)
    /home/deck/bin/(lib)tbb(\.so|\.a)
    /usr/local/sbin/(lib)tbb(\.so|\.a)
    /usr/local/bin/(lib)tbb(\.so|\.a)
    /usr/bin/(lib)tbb(\.so|\.a)
    /var/lib/flatpak/exports/bin/(lib)tbb(\.so|\.a)
    /usr/bin/site_perl/(lib)tbb(\.so|\.a)
    /usr/bin/vendor_perl/(lib)tbb(\.so|\.a)
    /usr/bin/core_perl/(lib)tbb(\.so|\.a)
    /usr/sbin/(lib)tbb(\.so|\.a)
    /sbin/(lib)tbb(\.so|\.a)
    /bin/(lib)tbb(\.so|\.a)
    /usr/local/lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /usr/local/(lib)tbb(\.so|\.a)
    /usr/lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /usr/(lib)tbb(\.so|\.a)
    /lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /lib/(lib)tbb(\.so|\.a)
    /usr/X11R6/lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /usr/X11R6/lib/(lib)tbb(\.so|\.a)
    /usr/X11R6/(lib)tbb(\.so|\.a)
    /usr/pkg/lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /usr/pkg/lib/(lib)tbb(\.so|\.a)
    /usr/pkg/(lib)tbb(\.so|\.a)
    /opt/lib/x86_64-linux-gnu/(lib)tbb(\.so|\.a)
    /opt/lib/(lib)tbb(\.so|\.a)
    /opt/(lib)tbb(\.so|\.a)
    /usr/lib/X11/(lib)tbb(\.so|\.a)

  The item was not found.

Call Stack (most recent call first):
  CMakeLists.txt:31 (find_package)

CMake Debug Log at cmake/FindGTSAM.cmake:19 (find_library):
  find_library called with the following settings:

    VAR: TBB_MALLOC_LIB
    NAMES: "tbbmalloc"
    Documentation: TBB malloc libraries
    Framework
      Only Search Frameworks: 0
      Search Frameworks Last: 0
      Search Frameworks First: 0
    AppBundle
      Only Search AppBundle: 0
      Search AppBundle Last: 0
      Search AppBundle First: 0
    CMAKE_FIND_USE_CMAKE_PATH: 1
    CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
    CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1

  find_library considered the following locations:

    /usr/local/lib/(lib)tbbmalloc(\.so|\.a)
    /usr/lib/(lib)tbbmalloc(\.so|\.a)
    /home/deck/bin/(lib)tbbmalloc(\.so|\.a)
    /usr/local/sbin/(lib)tbbmalloc(\.so|\.a)
    /usr/local/bin/(lib)tbbmalloc(\.so|\.a)
    /usr/bin/(lib)tbbmalloc(\.so|\.a)
    /var/lib/flatpak/exports/bin/(lib)tbbmalloc(\.so|\.a)
    /usr/bin/site_perl/(lib)tbbmalloc(\.so|\.a)
    /usr/bin/vendor_perl/(lib)tbbmalloc(\.so|\.a)
    /usr/bin/core_perl/(lib)tbbmalloc(\.so|\.a)
    /usr/sbin/(lib)tbbmalloc(\.so|\.a)
    /sbin/(lib)tbbmalloc(\.so|\.a)
    /bin/(lib)tbbmalloc(\.so|\.a)
    /usr/local/lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /usr/local/(lib)tbbmalloc(\.so|\.a)
    /usr/lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /usr/(lib)tbbmalloc(\.so|\.a)
    /lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /lib/(lib)tbbmalloc(\.so|\.a)
    /usr/X11R6/lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /usr/X11R6/lib/(lib)tbbmalloc(\.so|\.a)
    /usr/X11R6/(lib)tbbmalloc(\.so|\.a)
    /usr/pkg/lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /usr/pkg/lib/(lib)tbbmalloc(\.so|\.a)
    /usr/pkg/(lib)tbbmalloc(\.so|\.a)
    /opt/lib/x86_64-linux-gnu/(lib)tbbmalloc(\.so|\.a)
    /opt/lib/(lib)tbbmalloc(\.so|\.a)
    /opt/(lib)tbbmalloc(\.so|\.a)
    /usr/lib/X11/(lib)tbbmalloc(\.so|\.a)

  The item was not found.

Call Stack (most recent call first):
  CMakeLists.txt:31 (find_package)

CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find GTSAM (missing: GTSAM_LIBRARIES)
Call Stack (most recent call first):
  /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  cmake/FindGTSAM.cmake:33 (find_package_handle_standard_args)
  CMakeLists.txt:31 (find_package)

CMake Debug Log at CMakeLists.txt:31 (find_package):
  find_package considered the following paths for GTSAM.cmake

    /usr/share/cmake-3.22/Modules/FindGTSAM.cmake

  The file was found at

    /home/deck/src/gtsam_points/cmake/FindGTSAM.cmake

-- Configuring incomplete, errors occurred!

After installing TBB, the build completes successfully.
sudo apt install libtbb-dev

Thanks for reporting the issue. It seems FindGTSAM.cmake tries to find TBB regardless of the option. I'll soon fix it to make this package installable without TBB.

I just opened a PR to make TBB optional https://github.com/koide3/gtsam_points/pull/34


windows support

shouldn't be too hard, I just haven't needed this yet
happy to accept a PR for it

this will have to get resolved for windows support https://github.com/maxogden/atom-shell-packager/blob/d254289a156c00c4d40a9898cafdee9cebf5d17b/index.js#L94

I'm very curious about getting involved and to help with this.  What in general needs porting? And does my not knowing what needs to be done preclude my ability of helping with this?

@dboshardy The goal of atom-shell-packager is to be a simple standalone CLI tool for building app executables. If you check out the code in the repo now you'll see that the process of building the mac app is pretty straightforward -- it just uses the provided mac app from Atom Shell and renames things/copies your files into it.
I haven't looked into creating a windows .exe, or a linux distributable app. I heard that there might be some code for creating windows .exes somewhere deep inside https://github.com/atom/atom-shell-starter.
I'd start by figuring out how to package atom-shell apps as a windows .exe, and then see how hard it would be to implement. If you figure that out, then we can figure out a good way to merge it into this repo w/o making the existing code too complex

I'mma take a stab at this sometime in the next few days. If someone else comes along and wants to work on it too, awesome! But here's an announcement of general intention.

Could look at this for reference, looks like it has some solid support for major operating systems https://github.com/szwacz/electron-boilerplate

Another reference could be https://github.com/atom/grunt-electron-installer which use Squirrel

basic windows support just landed in 3.4.0: https://github.com/maxogden/electron-packager/pull/20
the electron-boilerplate has an implementation of generating an installer. would be nice if it was in a standalone CLI tool like this. maybe we can port their implementation to this repo and add ourselves as a dependency in their boilerplate