text:
Hi~emoacht

I am so happy because of your Snowy 1.7
There are two hopes.

In the Option "Create folder for each date"
Current format is yyyymmdd.
I want not only yyyymmdd but also yyyy-mm-dd.
Is it possible?
In the Option "Sound"
Another notification sound is also needed
when Snowy detects(connects to) Flashair card??

Please help me.
Thanks in advance.

Hi, dentphoto

Regarding the formatting of date, it would be worth to consider.
Regarding the notification sound on detection or connection, actually this app just requests the card to respond and there is no clear point of such event in the work flow. It's not clear at all and this idea is not so fruitful in my view. So I decline it.

Thanks for your kind reply.
When the Flashair is off, Snowy displays the following status messages sequentially.
Waiting for auto check time
-> Checking FlashAir
-> Cannot connect to FlashAir
So I speculated that there would be a point when Snowy perform checking successfully
when the Flashair is powered ON.
"Checking Completed" is the event of Flashair detection(connection).
Is it my misunderstanding??
[PS] Simple question
What does "Timeout Duration" mean?
I do not understand the exact meaning.
Explain it to me please.
[PS] Example of wireless transfer with Your sound notification. ^.^
http://www.youtube.com/watch?v=wZ3qrwIHXkM

Regarding the first question, it depends on how you define the detection or connection precisely.
For checking, there are several different sequences of steps depending on the situation and each step has its own time frame.
See Check & Copy section of Source/SnowyImageCopy/Models/Operator.cs
For the second question, the timeout duration acts as the maximum time length for each request from this app to the card. If this app cannot receive the response within this time length, the request will be automatically aborted.
See FileManager.DownloadBytesAsync method of Source/SnowyImageCopy/Models/ImageFile/FileManager.cs

Snowy 1.7 is a very powerful tool for my Flashair.
Thank you very much for your help.

Sorry but last question.^^
In my opinion, the moment the message "Cannot connect to FlashAir" disappears
is the very moment of "Flashair Connected".
Is it right?
If so, is it possible to define that moment?

It is wrong. The message will be shown when the connection fails any time during the connection.
I suggest you to go back to the original purpose of your suggestion and think about the straight forward way to accomplish it.

authors: dentphoto emoacht

repo: emoacht/SnowyImageCopy


text:
stomp test result，nack and unsubcribe is fail

use  this tools to test follow stomp command
https://github.com/jasonrbriggs/stomp.py
Documented commands (type help ):
EOF    begin   help  rollback  sendfile   stats        ver
abort  commit  nack  run       sendrec    subscribe    version
ack    exit    quit  send      sendreply  unsubscribe
1、 stomp connect
client----
stomp
server ---
(emqttd@127.0.0.1)1> 15:22:59.472 [info] Connect from 127.0.0.1:35298 -> 127.0.0.1:61613
15:22:59.473 [info] RECV Frame: {stomp_frame,<<"STOMP">>,[{<<"accept-version">>,<<"1.1">>}],
2、begin
client------

begin
Transaction id: 34e90ddb-cf56-4d4a-9818-e10a503571a9

server ------
(emqttd@127.0.0.1)1> 15:25:13.736 [info] RECV Frame: {stomp_frame,<<"BEGIN">>,[{<<"transaction">>,<<"14aad9a6-9f00-433e-9eec-381f049e3f0e">>}],<<>>}
3、 rollback
client -------

rollback
Aborted transaction: 14aad9a6-9f00-433e-9eec-381f049e3f0e
server -----
15:25:54.474 [info] RECV Frame: {stomp_frame,<<"ABORT">>,[{<<"transaction">>,<<"14aad9a6-9f00-433e-9eec-381f049e3f0e">>}],<<>>}

4、subscribe
client ---

subscribe /test/file
Subscribing to "/test/file" with acknowledge set to "auto", id set to "1"
server ---
15:27:58.257 [info] RECV Frame: {stomp_frame,<<"SUBSCRIBE">>,[{<<"id">>,<<"1">>},{<<"destination">>,<<"/test/file">>},{<<"ack">>,<<"auto">>}],<<>>}

5、send
client-----

send /test/file hello
MESSAGE
destination: /test/file
content-length: 5
message-id: 1
content-type: text/plain
subscription: 1

hello
server ----
(emqttd@127.0.0.1)1> 15:29:47.536 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"5">>}],<<"hello">>}
6、sendfile
client------

sendfile /test/file /home/dongjun/stomp.py/setup.py
MESSAGE
destination: /test/file
content-length: 3604
message-id: 2
content-type: text/plain
subscription: 1

aW1wb3J0IG9zCmltcG9ydCBzaHV0aWwKZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAsIENvbW1hbmQKCmltcG9ydCB1bml0dGVzdAoKaW1wb3J0IGxvZ2dpbmcuY29uZmlnCnRyeToKICAgIGxvZ2dpbmcuY29uZmlnLmZpbGVDb25maWcoJ3N0b21wLmxvZy5jb25mJykKZXhjZXB0OgogICAgcGFzcwoKaW1wb3J0IHN0b21wCgoKY2xhc3MgVGVzdENvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbICgndGVzdD0nLCAndCcsICdzcGVjaWZpYyB0ZXN0IHRvIHJ1bicpIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHNlbGYudGVzdCA9ICcqJwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIHRyeToKICAgICAgICAgICAgaW1wb3J0IGNvdmVyYWdlCiAgICAgICAgICAgIGNvdiA9IGNvdmVyYWdlLmNvdmVyYWdlKCkKICAgICAgICAgICAgY292LnN0YXJ0KCkKICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgIGNvdiA9IE5vbmUKICAgICAgICAKICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCiAgICAgICAgaWYgc2VsZi50ZXN0ID09ICcqJzoKICAgICAgICAgICAgcHJpbnQoJ1J1bm5pbmcgYWxsIHRlc3RzJykKICAgICAgICAgICAgaW1wb3J0IHN0b21wLnRlc3QKICAgICAgICAgICAgZm9yIHRzdCBpbiBzdG9tcC50ZXN0Ll9fYWxsX186CiAgICAgICAgICAgICAgICBzdWl0ZS5hZGRUZXN0cyh1bml0dGVzdC5UZXN0TG9hZGVyKCkubG9hZFRlc3RzRnJvbU5hbWUoJ3N0b21wLnRlc3QuJXMnICUgdHN0KSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKS5sb2FkVGVzdHNGcm9tTmFtZSgnc3RvbXAudGVzdC4lcycgJSBzZWxmLnRlc3QpCiAgICAgICAgdW5pdHRlc3QuVGV4dFRlc3RSdW5uZXIodmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKICAgICAgICAKICAgICAgICBpZiBjb3Y6CiAgICAgICAgICAgIGNvdi5zdG9wKCkKICAgICAgICAgICAgY292LnNhdmUoKQogICAgICAgICAgICBjb3YuaHRtbF9yZXBvcnQoZGlyZWN0b3J5PScuLi9zdG9tcHB5LWRvY3MvaHRtbGNvdicpCgoKY2xhc3MgVGVzdFBpcEluc3RhbGxDb21tYW5kKENvbW1hbmQpOgogICAgdXNlcl9vcHRpb25zID0gWyBdCiAgICAKICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgcGFzcwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCd0bXAnKToKICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSgndG1wJykKICAgICAgICBvcy5ta2RpcigndG1wJykKICAgICAgICAKICAgICAgICBmcm9tIHZpcnR1YWxlbnZhcGkubWFuYWdlIGltcG9ydCBWaXJ0dWFsRW52aXJvbm1lbnQKICAgICAgICBlbnYgPSBWaXJ0dWFsRW52aXJvbm1lbnQoJ3RtcC9zY3JhdGNoJykKICAgICAgICBlbnYuaW5zdGFsbCgnc3RvbXAucHknKSAgICAgICAgICAgIAogICAgICAgIAoKY2xhc3MgRG94eWdlbkNvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICBwYXNzCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBvcy5zeXN0ZW0oJ2RveHlnZW4gY29uZmlnLmRveCcpCgoKZGVmIHZlcnNpb24oKToKICAgIHMgPSBbXQogICAgZm9yIG51bSBpbiBzdG9tcC5fX3ZlcnNpb25fXzoKICAgICAgICBzLmFwcGVuZChzdHIobnVtKSkKICAgIHJldHVybiAnLicuam9pbihzKQoKCnNldHVwKAogICAgbmFtZSA9ICdzdG9tcC5weScsCiAgICB2ZXJzaW9uID0gdmVyc2lvbigpLAogICAgZGVzY3JpcHRpb24gPSAnUHl0aG9uIFNUT01QIGNsaWVudCwgc3VwcG9ydGluZyB2ZXJzaW9ucyAxLjAsIDEuMSBhbmQgMS4yIG9mIHRoZSBwcm90b2NvbCcsCiAgICBsaWNlbnNlID0gJ0FwYWNoZScsCiAgICB1cmwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2phc29ucmJyaWdncy9zdG9tcC5weScsCiAgICBhdXRob3IgPSAnSmFzb24gUiBCcmlnZ3MnLAogICAgYXV0aG9yX2VtYWlsID0gJ2phc29ucmJyaWdnc0BnbWFpbC5jb20nLAogICAgcGxhdGZvcm1zID0gWydhbnknXSwKICAgIHBhY2thZ2VzID0gWydzdG9tcCcsICdzdG9tcC5hZGFwdGVyJ10sCiAgICBjbWRjbGFzcyA9IHsgJ3Rlc3QnIDogVGVzdENvbW1hbmQsICdkb2NzJyA6IERveHlnZW5Db21tYW5kLCAncGlwdGVzdCcgOiBUZXN0UGlwSW5zdGFsbENvbW1hbmQgfSwKICAgIHNjcmlwdHMgPSBbJy4vc2NyaXB0cy9zdG9tcCddLAogICAgY2xhc3NpZmllcnMgPSBbCiAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlJywKICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLAogICAgICAgICAnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UnLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnCiAgICAgICAgIF0KKQo=
server ----
15:31:24.085 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"filename">>,<<"/home/dongjun/stomp.py/setup.py">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"3604">>}],<<"aW1wb3J0IG9zCmltcG9ydCBzaHV0aWwKZnJvbSBkaXN0dXRpbHMuY29yZSBpbXBvcnQgc2V0dXAsIENvbW1hbmQKCmltcG9ydCB1bml0dGVzdAoKaW1wb3J0IGxvZ2dpbmcuY29uZmlnCnRyeToKICAgIGxvZ2dpbmcuY29uZmlnLmZpbGVDb25maWcoJ3N0b21wLmxvZy5jb25mJykKZXhjZXB0OgogICAgcGFzcwoKaW1wb3J0IHN0b21wCgoKY2xhc3MgVGVzdENvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbICgndGVzdD0nLCAndCcsICdzcGVjaWZpYyB0ZXN0IHRvIHJ1bicpIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHNlbGYudGVzdCA9ICcqJwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIHRyeToKICAgICAgICAgICAgaW1wb3J0IGNvdmVyYWdlCiAgICAgICAgICAgIGNvdiA9IGNvdmVyYWdlLmNvdmVyYWdlKCkKICAgICAgICAgICAgY292LnN0YXJ0KCkKICAgICAgICBleGNlcHQgSW1wb3J0RXJyb3I6CiAgICAgICAgICAgIGNvdiA9IE5vbmUKICAgICAgICAKICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RTdWl0ZSgpCiAgICAgICAgaWYgc2VsZi50ZXN0ID09ICcqJzoKICAgICAgICAgICAgcHJpbnQoJ1J1bm5pbmcgYWxsIHRlc3RzJykKICAgICAgICAgICAgaW1wb3J0IHN0b21wLnRlc3QKICAgICAgICAgICAgZm9yIHRzdCBpbiBzdG9tcC50ZXN0Ll9fYWxsX186CiAgICAgICAgICAgICAgICBzdWl0ZS5hZGRUZXN0cyh1bml0dGVzdC5UZXN0TG9hZGVyKCkubG9hZFRlc3RzRnJvbU5hbWUoJ3N0b21wLnRlc3QuJXMnICUgdHN0KSkKICAgICAgICBlbHNlOgogICAgICAgICAgICBzdWl0ZSA9IHVuaXR0ZXN0LlRlc3RMb2FkZXIoKS5sb2FkVGVzdHNGcm9tTmFtZSgnc3RvbXAudGVzdC4lcycgJSBzZWxmLnRlc3QpCiAgICAgICAgdW5pdHRlc3QuVGV4dFRlc3RSdW5uZXIodmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKICAgICAgICAKICAgICAgICBpZiBjb3Y6CiAgICAgICAgICAgIGNvdi5zdG9wKCkKICAgICAgICAgICAgY292LnNhdmUoKQogICAgICAgICAgICBjb3YuaHRtbF9yZXBvcnQoZGlyZWN0b3J5PScuLi9zdG9tcHB5LWRvY3MvaHRtbGNvdicpCgoKY2xhc3MgVGVzdFBpcEluc3RhbGxDb21tYW5kKENvbW1hbmQpOgogICAgdXNlcl9vcHRpb25zID0gWyBdCiAgICAKICAgIGRlZiBpbml0aWFsaXplX29wdGlvbnMoc2VsZik6CiAgICAgICAgcGFzcwoKICAgIGRlZiBmaW5hbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgcnVuKHNlbGYpOgogICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKCd0bXAnKToKICAgICAgICAgICAgc2h1dGlsLnJtdHJlZSgndG1wJykKICAgICAgICBvcy5ta2RpcigndG1wJykKICAgICAgICAKICAgICAgICBmcm9tIHZpcnR1YWxlbnZhcGkubWFuYWdlIGltcG9ydCBWaXJ0dWFsRW52aXJvbm1lbnQKICAgICAgICBlbnYgPSBWaXJ0dWFsRW52aXJvbm1lbnQoJ3RtcC9zY3JhdGNoJykKICAgICAgICBlbnYuaW5zdGFsbCgnc3RvbXAucHknKSAgICAgICAgICAgIAogICAgICAgIAoKY2xhc3MgRG94eWdlbkNvbW1hbmQoQ29tbWFuZCk6CiAgICB1c2VyX29wdGlvbnMgPSBbIF0KCiAgICBkZWYgaW5pdGlhbGl6ZV9vcHRpb25zKHNlbGYpOgogICAgICAgIHBhc3MKCiAgICBkZWYgZmluYWxpemVfb3B0aW9ucyhzZWxmKToKICAgICAgICBwYXNzCgogICAgZGVmIHJ1bihzZWxmKToKICAgICAgICBvcy5zeXN0ZW0oJ2RveHlnZW4gY29uZmlnLmRveCcpCgoKZGVmIHZlcnNpb24oKToKICAgIHMgPSBbXQogICAgZm9yIG51bSBpbiBzdG9tcC5fX3ZlcnNpb25fXzoKICAgICAgICBzLmFwcGVuZChzdHIobnVtKSkKICAgIHJldHVybiAnLicuam9pbihzKQoKCnNldHVwKAogICAgbmFtZSA9ICdzdG9tcC5weScsCiAgICB2ZXJzaW9uID0gdmVyc2lvbigpLAogICAgZGVzY3JpcHRpb24gPSAnUHl0aG9uIFNUT01QIGNsaWVudCwgc3VwcG9ydGluZyB2ZXJzaW9ucyAxLjAsIDEuMSBhbmQgMS4yIG9mIHRoZSBwcm90b2NvbCcsCiAgICBsaWNlbnNlID0gJ0FwYWNoZScsCiAgICB1cmwgPSAnaHR0cHM6Ly9naXRodWIuY29tL2phc29ucmJyaWdncy9zdG9tcC5weScsCiAgICBhdXRob3IgPSAnSmFzb24gUiBCcmlnZ3MnLAogICAgYXV0aG9yX2VtYWlsID0gJ2phc29ucmJyaWdnc0BnbWFpbC5jb20nLAogICAgcGxhdGZvcm1zID0gWydhbnknXSwKICAgIHBhY2thZ2VzID0gWydzdG9tcCcsICdzdG9tcC5hZGFwdGVyJ10sCiAgICBjbWRjbGFzcyA9IHsgJ3Rlc3QnIDogVGVzdENvbW1hbmQsICdkb2NzJyA6IERveHlnZW5Db21tYW5kLCAncGlwdGVzdCcgOiBUZXN0UGlwSW5zdGFsbENvbW1hbmQgfSwKICAgIHNjcmlwdHMgPSBbJy4vc2NyaXB0cy9zdG9tcCddLAogICAgY2xhc3NpZmllcnMgPSBbCiAgICAgICAgICdEZXZlbG9wbWVudCBTdGF0dXMgOjogNSAtIFByb2R1Y3Rpb24vU3RhYmxlJywKICAgICAgICAgJ0ludGVuZGVkIEF1ZGllbmNlIDo6IERldmVsb3BlcnMnLAogICAgICAgICAnTGljZW5zZSA6OiBPU0kgQXBwcm92ZWQgOjogQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UnLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDInLAogICAgICAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnCiAgICAgICAgIF0KKQo=">>}
7、sendrec
client------

sendrec /test/file sendrec
MESSAGE
destination: /test/file
content-length: 7
message-id: 3
content-type: text/plain
subscription: 1

sendrec
server ----
15:33:09.901 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>},{<<"receipt">>,<<"a5542178-d5e4-41ec-a9f0-a08182e984ef">>},{<<"destination">>,<<"/test/file">>},{<<"content-length">>,<<"7">>}],<<"sendrec">>}
8、sendreply
client----

sendreply /test/file 1 sendreply
MESSAGE
destination: /test/file
content-length: 10
message-id: 4
content-type: text/plain
subscription: 1

sendreply
server -----
15:34:55.437 [info] RECV Frame: {stomp_frame,<<"SEND">>,[{<<"destination">>,<<"/test/file">>},{<<"correlation-id">>,<<"1">>},{<<"content-length">>,<<"10">>}],<<"sendreply\n">>}
9、commit
client ------

commit
Committing 9cf5cc56-8926-40e5-b873-6aa4cc903c8a
server ---
15:36:12.398 [info] RECV Frame: {stomp_frame,<<"COMMIT">>,[{<<"transaction">>,<<"9cf5cc56-8926-40e5-b873-6aa4cc903c8a">>}],<<>>}

10、abort
client----

abort
Aborted transaction: 2a995931-3975-4560-bcd9-f0ab79e83de9
server ---
15:37:18.091 [info] RECV Frame: {stomp_frame,<<"ABORT">>,[{<<"transaction">>,<<"2a995931-3975-4560-bcd9-f0ab79e83de9">>}],<<>>}

11、ack
client ---

ack 1 1

server ---
15:39:08.921 [info] RECV Frame: {stomp_frame,<<"ACK">>,[{<<"transaction">>,<<"6c480e9f-f8ec-4e9d-b6b5-c1be96dfeb56">>},{<<"subscription">>,<<"1">>},{<<"message-id">>,<<"1">>}],<<>>}

nack
client ---

nack 1 1
lost connection

server ---
(emqttd@127.0.0.1)1> 15:40:14.723 [info] RECV Frame: {stomp_frame,<<"DISCONNECT">>,[{<<"receipt">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}],<<>>}
15:40:14.723 [info] Stomp(127.0.0.1:35298) terminated, reason: {undef,[{emqttd_stomp,make,[<<"RECEIPT">>,[{<<"receipt-id">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}]],[]},{emqttd_stomp_proto,received,2,[{file,"src/emqttd_stomp_proto.erl"},{line,131}]},{emqttd_stomp_conn,received,2,[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}
=ERROR REPORT==== 21-Sep-2015::15:40:14 ===
** Generic server <0.410.0> terminating
** Last message in was {inet_async,#Port<0.5534>,163,
{ok,<<68,73,83,67,79,78,78,69,67,84,10,114,101,99,
101,105,112,116,58,97,53,52,49,52,49,54,57,
45,52,57,48,51,45,52,49,50,49,45,57,57,100,
54,45,102,102,56,97,55,48,50,98,57,49,97,99,
10,10,0>>}}
** When Server state == {state,esockd_transport,#Port<0.5534>,
{{127,0,0,1},35298},
"127.0.0.1:35298 -> 127.0.0.1:61613",true,running,
false,#Fun<emqttd_stomp_frame.0.89968861>,
{proto_state,
{{127,0,0,1},35298},
#Fun<emqttd_stomp_conn.2.47219001>,true,
undefined,undefined,undefined,
[{<<"1">>,<<"/test/file">>,<<"auto">>}]},
[{max_headers,10},
{max_header_length,1024},
{max_body_length,8192}],
undefined}
** Reason for termination ==
** {'function not exported',
[{emqttd_stomp,make,
[<<"RECEIPT">>,
[{<<"receipt-id">>,<<"a5414169-4903-4121-99d6-ff8a702b91ac">>}]],
[]},
{emqttd_stomp_proto,received,2,
[{file,"src/emqttd_stomp_proto.erl"},{line,131}]},
{emqttd_stomp_conn,received,2,
[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},
{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}
13、unsubcribe
client ----

unsubscribe /test/file
Unsubscribing from "/test/file"
lost connection

server---
15:42:25.409 [info] RECV Frame: {stomp_frame,<<"UNSUBSCRIBE">>,[{<<"id">>,<<"1">>},{<<"destination">>,<<"/test/file">>}],<<>>}
15:42:25.409 [info] Stomp(127.0.0.1:35299) terminated, reason: {{case_clause,{proto_state,{{127,0,0,1},35299},#Fun<emqttd_stomp_conn.2.47219001>,true,undefined,undefined,undefined,[]}},[{emqttd_stomp_conn,received,2,[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}
=ERROR REPORT==== 21-Sep-2015::15:42:25 ===
** Generic server <0.427.0> terminating
** Last message in was {inet_async,#Port<0.5536>,172,
{ok,<<85,78,83,85,66,83,67,82,73,66,69,10,100,101,
115,116,105,110,97,116,105,111,110,58,47,
116,101,115,116,47,102,105,108,101,10,105,
100,58,49,10,10,0>>}}
** When Server state == {state,esockd_transport,#Port<0.5536>,
{{127,0,0,1},35299},
"127.0.0.1:35299 -> 127.0.0.1:61613",true,running,
false,#Fun<emqttd_stomp_frame.0.89968861>,
{proto_state,
{{127,0,0,1},35299},
#Fun<emqttd_stomp_conn.2.47219001>,true,
undefined,undefined,undefined,
[{<<"1">>,<<"/test/file">>,<<"auto">>}]},
[{max_headers,10},
{max_header_length,1024},
{max_body_length,8192}],
undefined}
** Reason for termination ==
** {{case_clause,{proto_state,{{127,0,0,1},35299},
#Fun<emqttd_stomp_conn.2.47219001>,true,
undefined,undefined,undefined,[]}},
[{emqttd_stomp_conn,received,2,
[{file,"src/emqttd_stomp_conn.erl"},{line,146}]},
{gen_server,try_dispatch,4,[{file,"gen_server.erl"},{line,593}]},
{gen_server,handle_msg,5,[{file,"gen_server.erl"},{line,659}]},
{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,247}]}]}

Move to https://github.com/emqtt/emqttd_stomp/issues/1

source: gharchive/issue

authors: erylee lsxredrain

repo: emqtt/emqttd

license_type: permissive

license_source: bigquery


text:
Documentation of data that is persisted to disk and still available after node/cluster restart

(copied from issue #443 comment: https://github.com/emqtt/emqttd/issues/443#issuecomment-214213517)
Can you please document which information is currently persisted to disk, so it will be restored after node or complete cluster restart? I assume currently persistent sessions (subscriptions, offline/not acked messages?) & retained messages are persisted.

@gbrehmer, Thanks for your suggestion. I will add a section about persistence in 'Design' document.

I didn't see anything about persistence in the documents, so I guess you have not updated it yet. My question is: is there any way of configuring the persistence of retained messages?
In our case we are interested in not persisting those messages. We can delete the file retained_message.DCD manually to achieve the same result, but ideally this should be configurable.

Same problem here: is there some way to delete persistant messages when restarting the server?

Did anyone figure this out? I would also like to be able to delete persistent / retained message on reboot?

@gbrehmer
The emqx-enterprise supports message persistence to the DB.
https://www.emqx.io/downloads/emq/enterprise?osType=Linux

authors: Xyon75 emqplus gbrehmer lucaslafarga maecky turtleDeng


text:
🛑 SL is down

In b1cf316, SL (https://sl.se) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SL is back up in cf63382 after 8 minutes.

repo: emryl/upptime-sl

license: MIT

license_source: github-api


text:
Feature request: datetime.date and datetime.datetime query/form param parsing

The following doesn't work, but likely should:
import datetime
def some_endpoint(before: datetime.datetime):
  pass

Attempting to call this endpoint produces the following:

Traceback (most recent call last):
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/components/dependency.py", line 114, in run_all
    func_steps = self._steps_cache[func]
KeyError: <function compute_state at 0x10baf0a60>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 135, in handle
    self.handle_request(listener, req, client, addr)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/gunicorn/workers/sync.py", line 176, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/frameworks/wsgi.py", line 134, in __call__
    response = self.http_injector.run_all(funcs, state=state)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/components/dependency.py", line 141, in run_all
    ret = step.func(**kwargs)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/frameworks/wsgi.py", line 130, in __call__
    response = self.http_injector.run_all(funcs, state=state)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/components/dependency.py", line 116, in run_all
    func_steps = self._create_steps(func)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/components/dependency.py", line 247, in _create_steps
    key, provider_func = self._resolve_parameter(param, func)
  File "/Users/owen/Development/grimoire.ca/cadastre/.venv/lib/python3.6/site-packages/apistar/components/dependency.py", line 208, in _resolve_parameter
    raise exceptions.CouldNotResolveDependency(msg)
apistar.exceptions.CouldNotResolveDependency: Injector could not resolve parameter before:datetime.datetime=None

It's not 100% clear what the right parsing behaviour here is; I'm partial to ISO8601 or to using dateparser, personally, but any pre-fab format would work.
Looking at the code and features, I think this is independent of support for datetimes at the schema level.
Workaround:
import datetime
def some_endpoint(before):
  before = datetime.datetime.strptime(before, SOME_FORMAT)
  ...

If you have a parser function you trust, surely you can just register it as a component?
Component(datetime.datetime, init=my_datetime_parser),

Nope. The list of parameter conversions for query and form parameters is hard-coded in dependency.py. A specific list of types are special and are handled separately from general dependency injection.
Registering an endpoint with a datetime.datetime parameter attempts to find a Component (or any other dependency) provider for that type, and then fails:
apistar.exceptions.CouldNotResolveDependency: Injector could not resolve parameter before:datetime.datetime

One can always add a Component, but it's not obvious how to access the name of the parameter from inside of a Component provider.

A Type subclass?

I'm not sure I follow, and reviewing the code doesn't provide more insight. Can you expand on that?

+1, also not sure how best to create a datetime component (or in our case, a component that turns a timestamp into a TZ-aware datetime).

Hello,
I juste "fake subclass" String  and use a regex :
class FormattedDate(typesystem.String):
"""
date formated yyyy-mm-dd
"""
pattern = r"^([0-9]{4})(-)?(1[0-2]|0[1-9])(?(2)-)(3[0-1]|0[1-9]|[1-2][0-9])$"
errors = typesystem.String.errors.copy()
errors['pattern'] = "The following format should be used : yyyy-mm-dd"
description = "Date formated yyyy-mm-dd
About your gist, un think using python-dateutil parser could replace your parse method

Yup 100% want to see this addressed. Planning to have it in for 0.4. #400

authors: funkybob jgirardet ojacobson pikeas tomchristie

repo: encode/apistar


text:
"Hook" system for adding custom ninja build rules

Use cases:

Custom script to decompress/extract modules before dol split, for archive types that dtk does not natively support
? Let me know if there's more

Implemented in #27

repo: encounter/dtk-template


text:
Remove USB and permissions functionality

Remove the views to grant permission to KOLIBRI_DATA in a USB external drive and handling the connection to it.
Also remove the routes, state, the window.WelcomeApp API, and cleanup assets.

What’s the loading-screen package for? I’m probably misunderstanding the plan in #748 entirely, but I thought the big win here was to remove the welcome-screen package. Renaming it looks to me like it would keep us with the same build system and i18n pain we have with welcome-screen, no?

What’s the loading-screen package for? I’m probably misunderstanding the plan in #748 entirely, but I thought the big win here was to remove the welcome-screen package. Renaming it looks to me like it would keep us with the same build system and i18n pain we have with welcome-screen, no?

Initially the loading screen was for the Endless Key physical USB for Windows, which had a very long startup time (minutes). A loading page in HTML would show up while Kolibri was loading. Also it had retry/error pages because Kolibri on Windows was a bit unreliable and startup could timeout.
Then after Android was introduced the requirement was to choose between: use data from a USB drive or download from network. Because of limitations in Kolibri we needed to add UI before Kolibri actually starts. Also for Android we needed screens to grant system permissions, ask user to plug a USB, etc. Thus the loading screen was extended and renamed to "welcome screen". Javascript evaluation/injection was used to communicate the Android app with the welcome page. And environment variables were used for passing the selected user choices to Kolibri.
The loading screen is also used on Android before Kolibri starts and during system pause/resume. The Android system can kill the Kolibri process and our resume handler takes care of restarting Kolibri while presenting the loading page. Implementation wise the app flips between 2 webviews, one containing the loading webapp and one containing the Kolibri frontend.
Also the flatpak wrapper needs a loading screen and I'm wondering why not reuse this one https://github.com/endlessm/endless-key-flatpak/pull/44
So yeah I guess the loading screen would need internationalization/localization for the sole 2 messages "welcome to endless key" and "powered by kolibri". Unless we change the design specs to a wordless UI.
A potential performance improvement could be replacing the loading webapp by a bunch of static HTML pages, one per language, as Kolibri does.

Looks good to me, too! :+1:

source: gharchive/pull-request

authors: dylanmccall manuq pwithnall

repo: endlessm/kolibri-explore-plugin


text:
Disable the Learn plugin

The Explore plugin conflicts with the Learn plugin at the moment.
https://phabricator.endlessm.com/T33407

Ha! I was doing almost the same change but local docker was taking a while. Grabbing the APK from Jenkins now to test.

authors: dylanmccall manuq

repo: endlessm/kolibri-installer-android


text:
Get Firebase Crashlytics build going

The basics for getting Firebase Crashlytics building. This depends on https://github.com/endlessm/python-for-android/pull/11. I'm marking it as a draft just to show what's needed.

I changed the Makefile so that it would install SDK 31 and squashed the commits together with some more background in the commit message.


text:
[postfix] Fix links

Ref #3095

Please have a look at https://github.com/endoflife-date/endoflife.date/issues/3095


text:
[visual-cobol] Add 9.0 and remaining 2.x, clarify description

Add 9.0, 2.0, 2.1, 2.2,
Add a clarification to document where the data comes from,
Rename Micro Focus to OpenText (see https://www.opentext.com/microfocus),
Give more details about the extended support.

@endoflife-date/everyone, does anyone have time to review this PR ?


text:
Update qt.md

Update from 6.5.3 to 6.5.4
https://www.qt.io/blog/commercial-lts-qt-6.5.4-released

Thanks a lot for this update @ziceck, but this will not be merged as qt 6.5.4 is a commercial release.
See also https://github.com/endoflife-date/endoflife.date/pull/4270#issuecomment-1855109441 and #4451.

authors: marcwrobel ziceck


text:
Update sbt-site, sbt-site-paradox to 1.6.0

About this PR
📦 Updates

com.github.sbt:sbt-site
com.github.sbt:sbt-site-paradox

from 1.5.0 to 1.6.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (1.5.0).
You might want to review and update them manually.
documentation/build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.github.sbt" }
}]

labels: sbt-plugin-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #1249.


text:
Create Docs site

Using Tailwind
Angular Universal
Add blog page (for changelog)

Use ngx-isr in the docs as it's the perfect use-case for it.

Docs are live at: https://ngx-isr.vercel.app/docs

repo: eneajaho/ngx-isr


text:
chore: update Code of Conduct to LFE

Updates the Code of Conduct to the Linux Foundation Europe policy document.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.John Henderson seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

authors: CLAassistant jrhender

repo: energywebfoundation/vc-api-owf


text:
🛑 Dipuravanarentals is down

In 7476aa0, Dipuravanarentals (https://dipuravanarentals.com) was down:

HTTP code: 500
Response time: 697 ms

Resolved: Dipuravanarentals is back up in 1e5ab84 after 6 hours, 46 minutes.

repo: enlivenonedrive/upptime


text:
Clicking Twitter & Notifications icons do not close respective elements

Clicking the Twitter icon will open the twitter feed, but clicking it again won't close it.  Same goes for notifications element.

I think that we could have one single mouseup event handler attached to the document body that closes all elements in an "open" state.  If we do that, we have to take into account Work section ul elements that may have an open class name.

repo: enove/NoSLB

license: mit


text:
Download with Cache

Improve support for web requests with an in built cache.

Should read the caching headers from response.
Only cached for the session with temporary file cleaned up on exit.
Only cached for GET requests.

Discuss engine-side caching with @JaroslavTulach
Should be able to be disabled by the end user (at a request or higher level).

i.e. Data.fetch and equivalent have options to control the caching.

Look to use Channels or another modern Java fetch techniques.

Where should the cached files be stored? In projects data directory?

Look to use Channels or another modern Java fetch techniques.

Should we download multiple resources in parallel? Then virtual threads would be our choice.

authors: JaroslavTulach jdunkerley

repo: enso-org/enso


text:
Scrollbar in the project selection section

This task is automatically imported from the old Task Issue Board and it was originally created by Greg Ociepka.
Original issue is here.

in both Open project dialogue window and homescreen
https://discord.com/channels/401396655599124480/1063051397655973938
Tasks:

[ ] Scrollbar for Home screen
[ ] Scrollbar for Open project dialog

Fixed in open project dialogue #5607 , and the homescreen will have a new version.

authors: farmaazon wdanilo


text:
Sort rational numbers and primes first benchmarks

Pull Request Description
Investigating #6361 - can we speed callback from java.util.TimSort.sort to Enso by using CallTarget?
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] All code follows the
Java,
[x] Compare std lib benchmarks and new run
[x] Compare engine benchmarks

More runs with Rational numbers:

engine benchmarks
stdlib benchamrks

However local measurements show 6df784b actually slows speed down and we don't want to use it.

The changes in this PR don't seem to speed things up:

Reverting the code changes in 815139a they don't seem to speed anything up. Now this PR just adds new benchmarks:

engine run
stdlibs run

Benchmarks are fine, just random vector benchmarks are worse, as they weren't measuring the Real McCoy:

I can rename the benchmarks to disassociate them from the previous ones. @radeusgd, @Akirathan?

@JaroslavTulach This is the one of the reasons why it is a good idea to version benchmarks (should be implemented as part of https://github.com/enso-org/enso/issues/5714). Please, rename that benchmark, as now, it is in fact a different benchmark measuring something else.

Benchmarks renamed in 62b1209 - let's see if such support for disassociation is enough for current state of our project.

When analyzing the benchmarks to find those eligible for disassociation I realized there have been two improvements in Vector.fill related benchmarks! Unbelievable: by writing two new benchmarks we speed unrelated benchmark up! We really must have problem with insufficient splitting somewhere... anyway, that's not a reason for not integrating this PR.

the Sorting_with_an_identity_function seems like it's consistently failing with the same error every time...
no idea what's going on though, but i assume the cause is the change to create vec_size
Benchmarking 'Vector_Sort.Sorting_with_an_identity_function' with configuration: [warmup={3 iterations, 4 seconds each}, measurement={3 iterations, 1 seconds each}]
Execution finished with an error: Cannot compare `(Int.Value 0.7536898540750544)` with `(Int.Value 0.5373718230445609)`
        at <enso> Panic.throw(Internal)
        at <enso> case_branch(Error.enso:139:25-43)
        at <enso> <anonymous>(Error.enso:138-143)
        at <enso> Error.catch_primitive(Internal)
        at <enso> Error.catch(Error.enso:137-143)
        at <enso> Panic.type.rethrow(Panic.enso:89:21-47)
        at <enso> Bench.type.single_call(Bench.enso:216:9-23)
        at <enso> case_branch(Bench.enso:195:31-51)
        at <enso> Bench.type.measure(Bench.enso:193-206)
        at <enso> <anonymous>(Bench.enso:171:13-66)
        at <enso> <anonymous>(Bench.enso:134:60-70)
        at <enso> f(Array_Like_Helpers.enso:258:22-48)
        at <enso> go<arg-2>(Range.enso:332:31-50)
        at <enso> go(Range.enso:331-333)
        at <enso> go<arg-2>(Range.enso:332:31-50)
        at <enso> go(Range.enso:331-333)
        at <enso> Range.fold<arg-2>(Range.enso:334:13-30)
        at <enso> Range.fold(Range.enso:328-334)
        at <enso> Array_Like_Helpers.fold(Array_Like_Helpers.enso:259:5-39)
        at <enso> Vector.fold(Vector.enso:337:9-50)
        at <enso> case_branch(Bench.enso:133:29-67)
        at <enso> Bench.fold(Bench.enso:132-135)
        at <enso> Bench.run_main(Bench.enso:167-171)
        at <enso> <anonymous>(src/Main.enso:121:9-22)
        at <enso> <anonymous>(Array_Like_Helpers.enso:289:9-24)
        at <enso> go<arg-1>(Range.enso:262:36-51)
        at <enso> go<arg-2>(Range.enso:262:21-52)
        at <enso> go(Range.enso:261-263)

the Sorting_with_an_identity_function seems like it's consistently failing with the same error every time...

You are right, E-Hern, this error is unlikely to go away by itself. This seems to be the fix: a191ee0

CI fighting GUI Tests.

authors: Akirathan JaroslavTulach somebody1234


text:
Forbid edits in read-only mode

Pull Request Description
Closes #6182
Implements read-only mode for relevant components of the IDE.

[x]  Project Name renaming
[x]  Nodes editing
[x]  Editing code in the code editor
[x]  Creating nodes
[x]  Removing nodes
[x]  Entering and leaving nodes
[x]  Creating, dropping, and changing connections between nodes
[x]  Buttons on nodes (except for visualization toggle button)
[x]  Widgets on nodes

https://user-images.githubusercontent.com/6566674/232824737-bdd6f676-b20d-4218-af7d-4373e00cbe3e.mp4
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:

[x] The documentation has been updated, if necessary.
[x] Screenshots/screencasts have been attached, if there are any visual changes. For interactive or animated visual changes, a screencast is preferred.
[x] All code follows the
Scala,
Java,
and
Rust
style guides. In case you are using a language not listed above, follow the Rust style guide.
All code has been tested:

[x] Unit tests have been written where possible.
[x] If GUI codebase was changed, the GUI was tested when built using ./run ide build.

@vitvakatu who is doing a QA here? Le's merge the PR and test read-only mode :)

authors: sylwiabr vitvakatu


text:
Community Meeting January 17th, 2024

Overview
At 10am Eastern, 7am Pacific, 2pm UTC; find your time
Video call link: https://meet.google.com/ved-ivnv-aen
dial-in: (US) +1 409-444-2447
PIN: 873 550 579#
More phone numbers: tel.meet/ved-ivnv-aen?pin=7872592963542&hs=1
Add topics you'd like to discuss below!

:confetti_ball: Happy New Year :tada:

Let's discuss Backstage integration.

I'd like to discuss "acceptable bundles" as described here.

The list of acceptable bundles is time based. A bundle that is acceptable today is not necessarily acceptable tomorrow. The list below may contain bundles that are "too old" and no longer acceptable. The reason for this behavior is to allow users a certain period of time to upgrade to a newer bundle.

The concept of entries being "too old" is confusing, making it hard to get the implementation right, and even to explain how it is supposed to work for users.
To further complicate things, the complete feature is implemented partially in ec-cli and partially in ec-policies.
Maybe it's time to find an alternate approach?

Bumping this to next week due to low attendance.

We discussed the backstage integration topic. Backstage is mostly a view aggregator. In order to have EC integration, we would likely need to first have EC as a service. Next step is to create a proof of concept of what EC as a service would look like. Then, we can revisit this topic and likely have another proof of concept backstage plugin.
Moved unaddressed topics to next week https://github.com/enterprise-contract/community/issues/24.

Meeting recording: https://drive.google.com/file/d/1J38676aQsPeJEtVqLzXWTmOzSK3_IQ4q/view?usp=drive_link

authors: lcarva robnester-rh zregvart

repo: enterprise-contract/community


text:
Build Failed

Xcode 8, Swift 3.0

@ptaking The pod isn't updated for swift 3 just now, look at the README for how to install it with swift 3.0

@jesster2k10 thanks.

repo: entotsu/TKSubmitTransition


text:
Bug: failed to watch files

About

failed to watch files

Version
0.0.5
How to reproduce this bug ?
always

Close this issue because it does not seem to reproduce.

repo: enuesaa/loadii


text:
🛑 905 (Managed - Web) - HTTPS is down

In d7eddbb, 905 (Managed - Web) - HTTPS ($URL_905) was down:

HTTP code: 0
Response time: 0 ms

Resolved: 905 (Managed - Web) - HTTPS is back up in 058e679.

repo: envesko/status


text:
templated Formatter and AccessLog support

Title: templated Formatter and AccessLog support
Description:
Access log support is common requirement and there are lots of releated issues for non-HTTP access log support.
https://github.com/envoyproxy/envoy/issues/6138
https://github.com/envoyproxy/envoy/issues/13085
https://github.com/envoyproxy/envoy/issues/17898
https://github.com/envoyproxy/envoy/issues/18083
However, re-implement access log support (and necessary formatter) for every protocol/module will need lots of energy and time.
And after in-depth check to the source code, we can found that most code of formatter and access log (at least, the file access log) could be shared by multiple different protocol/modules.
We can update these parts to be implemented as template. Then different protocol/modules could re-use it easily.
I have completed a proto with the generic proxy, see #28772 for more detail. By this way, only 200 lines specific code is necessary to add complete access log support to the generic proxy. (support all stream info commands and some protocol-dependent commands)
[optional Relevant Links:]

Any extra documentation required to understand the issue.

cc @mattklein123

repo: envoyproxy/envoy


text:
tcp_proxy: ignore transfer encoding in HTTP/1.1 CONNECT responses

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Commit Message: Ignore the transfer encoding header in CONNECT responses
Additional Description: NONE
Risk Level: low
Testing: integration test
Docs Changes: NONE
Release Notes: https://github.com/irozzo-1A/envoy/blob/ignore-transfer-encoding/docs/root/version_history/current.rst#new-features
Platform Specific Features: NONE
Fixes #11308

xref: https://github.com/envoyproxy/envoy/pull/13293#discussion_r520351145

xref: https://github.com/envoyproxy/envoy/pull/13293#discussion_r520351145

Hi @alyssawilk, this should be the last piece regarding #11308.

Hi @alyssawilk, this should be the last piece regarding #11308.


text:
downstream: refactoring code to remove listener hard deps

Risk Level: low (simply moving code around)
Testing: n/a
Docs Changes: n/a
Release Notes: n/a

I think clang tidy is one of those ones we have to force merge around:
/build/tmp/_bazel_envoybuild/b570b5ccd0454dc9af9f65ab1833764d/execroot/envoy/./source/common/common/hash.h:13:10: error: 'xxhash.h' file not found [clang-diagnostic-error]
#include "xxhash.h"
https://github.com/envoyproxy/envoy/blob/main/source/common/common/BUILD#L142


text:
generic proxy: tracing support for the generic proxy based on the generic tracing

Commit Message: generic proxy: tracing support for the generic proxy based on the generic tracing
Additional Description:
Add tracing support to the generic proxy.
Risk Level: Low.
Testing: n/a.
Docs Changes: n/a.
Release Notes: wait.
Platform Specific Features: n/a.

Before formal working on this, there is a problem need to be clarified first.
Should I create a new Tracing proto message in the api/config/tracing/v3 or somewhere for protocol-independent usage?
Tracing should be protocol independent but current Tracing proto message in the api/extensions/filters/network/http_connnection_manager/v3 is HTTP specific.
cc @envoyproxy/api-shepherds @envoyproxy/api-watchers
And there is a related issue #22695. cc @mattklein123 do you have some new idea to this problem?

This is probably a place that we would refactor if we could I think. In the absence of that option, we could either deprecate the one in HCM and move to a more neutral location as you suggest (lots of impacted users, somewhat cleaner) or have generic proxy take an HCM proto dependency (fragile, logically nonsensical but probably the least impactul). The alternative, of maintaining two parallel tracing top-level config protos with the same fields, is not great, since it means perma-skew in features and is a PITA to maintain. Any other thoughts here?

or have generic proxy take an HCM proto dependency (fragile, logically nonsensical but probably the least impactul)

I would probably vote for this just to avoid churn. We have made similar compromises in the past like this.

or have generic proxy take an HCM proto dependency (fragile, logically nonsensical but probably the least impactul)

I would probably vote for this just to avoid churn. We have made similar compromises in the past like this.

It's acceptable for me.
But it would be better to record this to somewhere to tell future developers it's a compormise rather than a design or error. 🤔

/wait
for formatting
@htuch I think this is waiting on your input

@wbpcode there are a lot of TODOs and no tests yet, are you planning on adding more to this PR merge? If so, please LMK when ready for contrib review/merge, thanks.

@wbpcode there are a lot of TODOs and no tests yet, are you planning on adding more to this PR? If so, please LMK when ready for contrib review/merge, thanks.

Some pre-work need to be completed first in other PRs.
I will mark this as waiting before I complete everything. Thanks.
/wait

This is ready for a review. And some core code modification is split out to #25420.
cc @htuch cc @soulxu

@soulxu can you take a look as CODEOWNER? Thanks.

/retest

no more question, LGTM, thanks

I think I forgot the changelog. I will add it.

Hi, @soulxu, could you give a new LGTM to this PR? Thanks. 🙇

And friendly ping @htuch

authors: KBaichoo htuch mattklein123 soulxu wbpcode


text:
mobile: Improve xDS APIs in EngineBuilder

This commit does a few things:

adds an API to EngineBuilder for setting the Bootstrap's node locality.
adds the ability to set call and channel credentials in ADS.
adds the ability to use xdstp for CDS via the cds_resources_locator field.
removes the api_type parameter from the ADS API, since the only supported API type is GRPC.
adds tests for all of these in envoy_config_test.cc.
adds an xdstp integration test in CdsIntegrationTest.
removes the Delta parameter in CdsIntegrationTest since mobile xDS doesn't support Delta.

Signed-off-by: Ali Beyad abeyad@google.com

cc @caschoener FYI

/retest

Sorry, the PR got merged based on my setting auto-merge, I will address the comments in a follow up PR now.


text:
mobile: Fix envoy-xds AAR artifact

--config=mobile-release-android has --define=google_grpc=disabled and if it appears after --define=google_grpc=enabled, it will set --define=google_grpc=disabled because the last one set wins. This PR fixes this issue by moving the --define=google_grpc=enabled last since xDS feature in Envoy Mobile requires Google gRPC.
Risk Level: low
Testing: manual
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: mobile

/assign @abeyad


text:
xds-failover: add stat tracking primary/failover connection

Commit Message: xds-failover: add stat tracking primary/failover connection
Additional Description:
Extends the possible values of the control_plane.connected_state gauge. Previously it only stored 0 when Envoy wasn't connecting/connected to the xDS server, and 1 when it was.
This PR changes it to have the following values:
0 - Envoy isn't connected/connecting to an xDS server.
1 - Envoy is connecting/connected to the primary source.
2 - Envoy is connecting/connected to the failover source.
Risk Level: low.
Testing: Added integration tests.
Docs Changes: Will be added once the feature is complete
Release Notes: N/A.
Platform Specific Features: N/A

I think this should be a simple review.
/assign @nezdolik @htuch

otherwise lgtm

authors: adisuissa nezdolik


text:
chore: improve extension server unit tests

When running unit tests that touch the Extension Server, go through the gRPC code and the regular extension manager
instead of creating a testing-only variant.
This PR enables using an in-memory gRPC server implementation as the extension server, instead of bypassing the manager code during tests.
This improves coverage and removes testing code from the built binary.

/retest

/retest

repo: envoyproxy/gateway


text:
Node.js Support

Any plan to support Node.js or do you accept Node.js support PR?
Thanks for the awesome project!
We use Node.js and Grpc build microservice. we want do message validation of proto file

Somehow a dup of #71 which is blocked by protocolbuffers/protobuf#5119.

authors: glerchundi phantomk

repo: envoyproxy/protoc-gen-validate


text:
ENYO-1285: Marquee ellipse

Issue.
Children are not notified of a parents reflow event, but are re-rendered, which causes their own reflow.
Fix.
Notify children of reflow, so that they do not need to be re-rendered to take reflow action
Enyo-DCO-1.1-Signed-off-by: Derek Anderson derek.anderson@lge.com

No loner needed!

repo: enyojs/enyo


text:
PureData Patch not working in Unity

Hello!
For whatever reason my PureData patch isn't working in Unity. I've made two wind generators to avoid recording ambience for a project I'm working on, both fairly similar. I uploaded them both to heavy, converted them fine and tested the audio in heavy as well. When I import them into Unity however, it seems to reset the frequencies and dumps my bandpass filter, so all I hear is noise with some variations (because of my low pass filters which seems to be fine??). I've checked the list of supported PD objects and I'm not using anything not supported. I'll (try to) upload both wind generators here so everyone can see what I've done.
Any help will be much appreciated! Cheers
Edit: I'm using PD-extended and Unity 2017.1.3f1 64 bit

first patch = https://enzienaudio.com/h/hystericalzombie/wind_generator/
second patch = https://enzienaudio.com/h/hystericalzombie/new_wind_generator/

Hi @hystericalzombie I've compared your first patch wind_generator in (vanilla) Pd 0.48.1 and Unity 2017.1.3f1 and I can't hear any significant difference in the sound output. Would you be able to try your patch in one of the Pd's versions from this site? See if it sounds the same as Pd extended.
If that's still working maybe try a recording of the expected and actual output and see if we can figure out what's going wrong.

I accidentally fixed it? I think? My lecturer gave me and my class some files to fix spatialising the audio which was still in my Unity project, and I accidentally deleted the object it was attached to and it's fixed -_- thank you anyway for your help!

Ah glad you figured it out!

authors: diplojocus hystericalzombie

repo: enzienaudio/heavy

license: ISC


text:
less descriptive

PR-Codex overview
This PR renames a class and updates documentation.
Detailed summary

Renamed FkStorage class to Storage.
Updated documentation to reflect the changes.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@h1alexbel thank you for your Pull Request. I'll assign someone to review it soon.
If this PR solves a todo from the code, please don't forget to remove it.

@h1alexbel please review this Pull Request. Deadline (when it should be merged or closed) is 2023-05-28T11:12:31.712623.
You should check if the requirements have been implemented (partially or in full), if there are unit tests covering the changes and if the CI build passes. Feel free to reject the PR or ask for changes if it's too big or not clear enough.
Estimation here is 30 minutes, that's how much you will be paid. You will be paid even if this PR gets rejected.

@rultor merge

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@h1alexbel thank you for resolving this ticket. I've just added it to your active invoice. You can always check all your invoices and more on the Contributor Dashboard.

authors: h1alexbel rultor zoeself

repo: eo-cqrs/xfake


text:
Optional positional arguments that get skipped if corresponding validation fails

 Issue by ducaale
Tuesday Sep 01, 2020 at 18:51 GMT
Originally opened as https://github.com/clap-rs/clap/issues/2122

Describe your use case
I am trying re-implement HTTPie cli using clap-rs/structopt. I would like to have something like this
yahc.exe [METHOD] <URL> [REQUEST_ITEM]...

where METHOD is an optional positional arg enum with a default value
Describe the solution you'd like
It would be good if clap-rs allowed multiple optional positional arguments that get filled with a default value whenever the corresponding value fails to parse. For example, if we had:
test.exe [arg1] [arg2] [arg3]...

where:

arg1 has a type of enum Arg1 { Foo, Bar } and defaults to Arg1::Bar
arg2 has a type of u32 and defaults to 0
arg3 has a type of Vec<String>

a user can use the CLI app in the following ways:

test.exe: arg1 = default_value, arg2 = default_value, arg3 = default_value
test.exe foo: arg1 = foo, arg2 = default_value, arg3 = default_value
test.exe 1: arg1 = default_value, arg2 = 1, arg3 = default_value
test.exe hello: arg1 = default_value, arg2 = default_value, arg3 = [hello]
test.exe foo hello: arg1 = foo, arg2 = default_value, arg3 = [hello]

Alternatives, if applicable
I tried using the following but they didn't fit my use case:

AllowMissingPositional can only be used when the last positional argument is required
optional subcommands cannot be followed by positional args if the subcommand is omitted

Additional context
https://github.com/clap-rs/clap/discussions/2120

 Comment by pksunkara
Thursday May 20, 2021 at 18:28 GMT

Might be related to #975

repo: epage/clapng


text:
[Compare] chat settings button for chat1 is available though the response in chat2 is still being generated. 'x' buttons always looks enabled.

EPAM AI DIAL chat version
0.16.0
What happened?

Create two new conversations in compare mode
Send any message
While the responses are being generated note that 'x' button look like enabled -> bug
Note that when the response1 is completed, the chat setting becomes enabled -> bug we need two wait until both responses are completed to enable the setting button

Expected result: while any response is being generated in any chat, chat setting and x buttons in both conversations should be disabled
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env successfully.

repo: epam/ai-dial-chat


text:
fix(chat): add prompt panel opening if click on 'go to a review...' (Issue #1482)

Description:
add prompt panel opening if click on 'go to a review...'
Issues:

#1482

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

authors: Alexander-Kezik IlyaBondar


text:
fix(chat): fix shared folder removing (Issue #847)

Description:
Fix shared folder removing
Issues:

https://github.com/epam/ai-dial-chat/issues/847

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review


text:
feat: initial application refactoring

Publication code is not affected in this pr

@artsiomkorzun
I think we should eliminate cycle dependencies  like this ApplicationService <-> ResourceService.

authors: artsiomkorzun astsiapanay

repo: epam/ai-dial-core


text:
Create Release Documentation for 3.9.0

The technical release is completed. We have to update the RELEASES.md file asap.

All the release documentation has been published, including the RELEASES.md file and Upgrade KubeRocketCI v3.8 to 3.9.

repo: epam/edp-install


text:
🛑 Help Desk is down

In 754eaef, Help Desk ($HELP_DESK) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Help Desk is back up in 8d1efee after 2 hours, 8 minutes.

repo: epederson/Eastbrook-Upptime


text:
Implement runUnsafe and compileUnsafe for Code[T]

Currently Code[T] has access to the enrichments that provide .run and .compile to IR[T,Any] (via InspectableCodeOps). This should probably not be the case.

This is now fixed (see #36). Evaluating a term with non-contextual type (now AnyCode[T]) requires an explicit unsafe cast with unsafe_asClosedCode.

repo: epfldata/squid


text:
OpenID Logout

Is your feature request related to a problem? Please describe.
After logging in via OpenID, our users are also logged in to the Nextcloud, which is used as an identity provider. If the user now presses in Ephios the logout button he remains logged in unnoticed in the Nextcloud. This leads to a security risk, for example, when this happens on public computers.
Describe the solution you'd like
It should be possible to define an endpoint for the logout in the .env file like the other OIDC endpoints. To do this, the implementation of OpenID Connect must be supplemented with a logout function.
Describe alternatives you've considered
As a workaround, the OpenID Connect provider can be set so that a logout occurs automatically after a defined time.

The functionality that you describe is not currently part of the OIDC specification. There are specific implementations for some Identity Providers, e.g. https://github.com/mozilla/mozilla-django-oidc/issues/320 explains how to set this up with keycloak for our OIDC library. There is an additional spec (https://openid.net/specs/openid-connect-session-1_0.html) that is either in draft status or not yet implemented by Identity Providers, I wasn't quite sure which one is appropriate.
So the feature you requested would most probably need some specific code for nextcloud similar to the issue linked above unless you can just redirect the user to a URL on the nextcloud (GET request). But that would mean that the users always end up on the nextcloud login page after logging out from ephios

So ähnlich haben wir es zwischen Nextcloud und Moodle gemacht. Hier kann der in der Dokumentation der Nextcloud OIDC-Provider App genannte Endpunkt index.php/apps/oidc/logout im Moodle OIDC-Plugin angegeben werden. Dies führt dazu, dass der Nutzer bei Klick auf den Logout-Button zu Nextcloud weitergeleitet und ausgeloggt wird. Eine Weiterleitung zurück zu Moodle findet leider nicht stat, aber durch den erfolgreichen Logout entsteht keine Sicherheitslücke. Daher wäre das durchaus zu bevorzugen.

We did something similar between Nextcloud and Moodle. Here the endpoint index.php/apps/oidc/logout mentioned in the documentation of the Nextcloud OIDC Provider App can be specified in the Moodle OIDC plugin. As a result, the user is forwarded to Nextcloud and logged out when the logout button is clicked. Unfortunately, there is no redirection back to Moodle, but the successful logout does not create a security gap. So that would be preferable.

I suppose you need to hand something to the Identity Provider (token?) to reference the user that should be logged out? Do you know any documentation about how that should be done? If we need to pass something. we might not be able to include that as it would be provider-specific
Regarding the redirect afterwards I had a quick look at the code and https://github.com/H2CK/oidc/blob/master/lib/Controller/LogoutController.php#L266-L273 has a post_redirect_uri that can be passed. But again, this is specific to the provider and therefore can't make it into ephios core.

About the settings: The identity provider needs a front-channel logout URL from the client and the client needs an IdP logout endpoint.
Here is the documentation of the Nextcloud app for the logout:
https://github.com/H2CK/oidc#endpoints
I think this might be helpful (this is what the Nextcloud app documentation refers to):
https://openid.net/specs/openid-connect-rpinitiated-1_0.html
The moodle plugin is part of the Microsoft Office 365 implementation in moodle - unfortunately without detailed documentation on the logout.

Regarding the redirect afterwards I had a quick look at the code and https://github.com/H2CK/oidc/blob/master/lib/Controller/LogoutController.php#L266-L273 has a post_redirect_uri that can be passed. But again, this is specific to the provider and therefore can't make it into ephios core.

@pov91 maybe you can experiment a bit while setting the logout URL, if I understood that section correctly you should be able to append a post_redirect_uri to the LOGOUT_URL that you set within ephios so it gets passed to nextcloud which in turn should redirect you back to ephios

repo: ephios-dev/ephios


text:
Select specific tab from va-tabs programmatically

Is there a way to trigger the selection (click) on a specific tab of a va-tabs element?
I have tried changing the v-model variable but without success.

v-model should work right now. See http://vuestic-ui-demo.sub.asva.by/#/demo/va-tabs/VaTabs.demo.vue

authors: asvae mhdaouas

repo: epicmaxco/vuestic-admin


text:
HttpClient in ApiClient

This PR is a small refactor that adds the HttpClient to the Epinio ApiClient, so that can be configured once at the beginning, and it will be then used by default during the API calls.
This will be useful when moving to the oauth2 implementation (see #1650)

Codecov Report

Merging #1686 (13c99bf) into main (5dff0cb) will decrease coverage by 43.29%.
The diff coverage is 26.92%.

@@            Coverage Diff             @@
##             main   #1686       +/-   ##
==========================================
- Coverage   51.92%   8.63%   -43.30%
==========================================
  Files         168      85       -83
  Lines       12492    8338     -4154
==========================================
- Hits         6487     720     -5767
- Misses       5152    7570     +2418
+ Partials      853      48      -805

Flag
Coverage Δ

acceptance-api
?

acceptance-apps
?

unittests
8.63% <26.92%> (-0.03%)
:arrow_down:

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

Impacted Files
Coverage Δ

internal/cli/usercmd/client.go
61.90% <0.00%> (-23.81%)
:arrow_down:

internal/cli/usercmd/login.go
0.00% <0.00%> (ø)

pkg/api/core/v1/client/apps.go
1.73% <0.00%> (-20.35%)
:arrow_down:

pkg/api/core/v1/client/http.go
22.68% <33.33%> (-28.87%)
:arrow_down:

pkg/api/core/v1/client/client.go
72.72% <57.14%> (-27.28%)
:arrow_down:

main.go
0.00% <0.00%> (-100.00%)
:arrow_down:

internal/api/v1/authtoken.go
0.00% <0.00%> (-100.00%)
:arrow_down:

internal/auth/certs.go
0.00% <0.00%> (-85.00%)
:arrow_down:

internal/api/v1/application/match.go
0.00% <0.00%> (-82.36%)
:arrow_down:

internal/configurations/configurations.go
0.00% <0.00%> (-82.12%)
:arrow_down:

... and 144 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

authors: codecov-commenter enrichman

repo: epinio/epinio


text:
exclusiveMinimum is supposed to be boolean. Error: "exclusiveMinimum should be number"

What version of Ajv are you using? Does the issue happen if you use the latest version?
// package.json
{ "ajv": "^5.0.0" }

Ajv options object

// Probably unrelated
var Ajv = require('ajv');
var ajv = new Ajv({ loadSchema: loadSchema });

JSON Schema

(Partial schema)
{
  "properties": {
    "factor": {
      "type": "number",
      "minimum": 0,
      "exclusiveMinimum": true
    }
  }
}

Your code

var ajv = new Ajv({ loadSchema: loadSchema });

function loadSchema(uri) {
    console.log(`Loading Schema: ${uri}`);

    return request(uri).then(function(res) {
        var schema = JSON.parse(res);
        return schema;
    });
}

var schema = ajv.compileAsync({
    "$ref": "some web url"
});
schema.then(() => {
    //...
}.catch((err) => {
    // err.message == "schema is invalid: data.definitions['meterpoint'].properties['factor'].exclusiveMinimum should be number"
})

What results did you expect?
exclusiveMinimum is supposed to be boolean.
http://json-schema.org/latest/json-schema-validation.html#rfc.section.5.5
Are you going to resolve the issue?
No, I'm going to remove exclusiveMinimum from my schema for the time being.

By default Ajv treats your schema as draft-06 - the latest version of JSON schema spec. In this specification exclusiveMaximum/Minimum have been changed to be number.
See docs on these keywords for more details.
See migration guide for info how to use Ajv 5.x.x with draft-04 schemas.

So with draft-06 your schema should be:
{
  "properties": {
    "factor": {
      "type": "number",
      "exclusiveMinimum": 0
    }
  }
}

Thank you. 😄
I had no idea that it updated recently. I was about to say, I wonder why the website is outdated, but then I saw that draft-06 was authored April 2017. I guess it makes sense.

Ajv still supports boolean form for exclusiveMaximum/Minimum, but you need to tell it that it's a draft-04 schema.

I figured, but I'm just now making these schemas, so I might as well start with the latest version. Thanks again.

authors: LeviDooley epoberezkin

repo: epoberezkin/ajv


text:
should NOT have duplicate items when there are not duplicate items

What version of Ajv are you using? Does the issue happen if you use the latest version? 6.2
Ajv options object
const ajv = new Ajv();
const metaSchema = require("ajv/lib/refs/json-schema-draft-06.json");
ajv.addMetaSchema(metaSchema);

JSON Schema
{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "definitions": {
    "Function": {
      "description": "Creates a new function.",
      "properties": {
        "apply": {
          "description": "Calls the function, substituting the specified object for the this value of the function, and the specified array for the arguments of the function.",
          "type": "object"
        },
        "arguments": {},
        "bind": {
          "description": "For a given function, creates a bound function that has the same body as the original function.\nThe this object of the bound function is associated with the specified object, and has the specified initial parameters.",
          "type": "object"
        },
        "call": {
          "description": "Calls a method of an object, substituting another object for the current object.",
          "type": "object"
        },
        "caller": {
          "$ref": "#/definitions/Function"
        },
        "length": {
          "type": "number"
        },
        "prototype": {},
        "toString": {
          "description": "Returns a string representation of a function.",
          "type": "object"
        }
      },
      "required": [
        "apply",
        "arguments",
        "bind",
        "call",
        "caller",
        "length",
        "prototype",
        "toString"
      ],
      "type": "object"
    }
  },
  "properties": {
    "myFunction": {
      "$ref": "#/definitions/Function"
    }
  },
  "required": [
    "myFunction"
  ],
  "type": "object"
}

Error
[ { keyword: 'uniqueItems',
    dataPath: '.definitions[\'Function\'].required',
    schemaPath: '#/definitions/stringArray/uniqueItems',
    params: { i: 7, j: [Function: toString] },
    message: 'should NOT have duplicate items (items ## function toString() { [native code] } and 7 are identical)' } ]

That's a 6.0.0 issue caused by https://github.com/epoberezkin/ajv/commit/5e17f9b4eed702e016d8b810e19a40852104b342 (https://github.com/epoberezkin/ajv/issues/608).
The workaround is to use 5.x.x version.

The solution is to use Object.prototype.hasOwnProperty() here: https://github.com/epoberezkin/ajv/blob/master/lib/dot/uniqueItems.jst#L37 (as this hash does have toString property...)
@domoritz if you make a PR, please add the test as well

authors: domoritz epoberezkin


text:
Implement Access Keys for Exchangerates.host

This PR will significantly speed up testing and make them more performant. It adds Vcrpy to Dali-RP2, so that we can mock HTTP requests as well as adds support for the now necessary access keys for the fiat pricing provider Exchangerates.host.
Fixes #211

@eprbell It took some finagling, but I got vcrpy to work. It does not really like Python < 3.10.  The package itself is amazing. It really speeds things up and is easy to use. It cuts down on a lot of bulky mocking code.

@eprbell Sorry about the confusion. I should have made a comment instead of pushed the request review button. I've been snowed over with this new job at times. I was in a rush.
Hopefully, this is all good to go now. Let me know if you need anything else. After this gets rolled through, I'll try to rebase the pricing correction #207 and then if we rebase #203 it should also go green.


text:
Install React 19 types

Closes https://github.com/eps1lon/DefinitelyTyped/issues/22
Commits are split into the changes that the codemod covers and changes that need to be done manually.
Remaining issues

@headlessui/react/dist/components/listbox/listbox.d.ts declares ListBox, ListBox.Option (and many more it seems) as a forwardRef render function i.e. (props, ref) => Node which is almost certainly incorrect (unless they expect people to pass it to forwardRef first. This was not caught because previously, structurally ref took up the position of legacy context.

Finished. Remaining issues in headlessui/react tracking in https://github.com/eps1lon/DefinitelyTyped/issues/25


text:
Alternate Subtraction Method, Faster

I was trying out ways of manipulating the encoded text and one that I tried was subtracting encoded text from the encoded text prompt. I tried four renders for each and they look about the same, except the one that changes the encoded text had less of the subtract prompt which suggests to me that it's more effective at subtracting a prompt. Also it ends up using just the one txt_enc rather than 2, and just the one cosine similarity.
Prompt: "a photo of a human face" and Negative: "a photo of a face"
Subtracting Subtract's txt_enc0 from text_enc resulted in these

Existing negative method what uses cosine similarity with the image and negative prompt for loss resulted in these

And for fun, using subtract to increase the difference between the two by txt_enc + (txt_enc - text_enc0) resulted in these

The encoded text and images seem to be explorable like latent space.

good point, will move subtraction out of the training loop.
your method of "increasing the difference" in fact just decreasing the effect of subtraction (like adding weight < 1): here 2x-y ~ x-0.5y. and the examples did show that - some kind of "faces" appeared with such weighing down.
sure; on my understanding, any continuous embedding is a latent vector by definition. we just don't have decoder for that, like from proper dall-e (not the stripped down published version, but the photorealistic one from the article), so have to move around with optimization techniques instead.

Ha! Whoops, I was so focused on trying to do something involving the tendency for CLIP to label an image with a face as "a photo of a human face" with a higher score than "a photo of a human face" that I done went and did 2*enc1-enc2, shit. Back to the drawing board.

regarding preliminary text subtraction txt_enc - text_enc0: after second thinking, it's not the same. when we compare the losses after cossimilarity, we check how far or close we're to those prompts/concepts (that's what we probably want). if we subtract it at once, we will check instead how close we are to the difference between the two, essentially losing the position of "center of mass" of the pair (in the embedding space). so the resulting vector may have nothing in common with either of prompts, and most likely we'd get smth rather different.

just to ensure - i've tried direct subtraction method on a few meaningful sentences, and it predictably went totally aside of main topic. and just to make it clear - encoded embeddings are NOT losses, their summation/subtraction have different impact.
finally, cossim comparison is just an op, it's probably few orders of magnitude faster than encoding (and even slicing), so "time savings" should not be measurable


text:
Check that the directory pointed to by --repo exists and contains the config file

Applies to both, the client and the injector

Fixed here

repo: equalitie/ouinet


text:
Add invoices sub-commands

What problem are you facing?
The Metal API includes endpoints for requesting invoices. https://deploy.equinix.com/developers/api/metal#tag/Invoices/operation/findOrganizationInvoices
https://deploy.equinix.com/developers/api/metal#tag/Invoices/operation/getInvoiceById
These are available in the API and Portal today.

How could the Equinix Metal CLI help solve this problem?
The CLI should have commands related to this feature.
CSV format would be helpful in this use-case: https://github.com/equinix/metal-cli/issues/81
The Portal provides CSV download options by processing the API's JSON response. The CLI could effectively offer the same.

/assign @aayushrangwala

authors: aayushrangwala displague

repo: equinix/metal-cli


text:
Do not make empty search API calls to algolia

Data shows that the most searched term on our website is empty (LOL). We should prevent our app from making empty search api calls, to reduce our usage.

This should have fixed the empty search issue on search page.

You are probably aware of this already :) but remember that the empty search is the initial state for the news room ++ 👍

You are probably aware of this already :) but remember that the empty search is the initial state for the news room ++ 👍

@wenche True, news indices have the majority empty searches.

Empty search on newsroom and magazine is unavoidable, otherwise no results will be shown and nothing can be filtered out of an empty result.
https://www.algolia.com/doc/guides/search-analytics/guides/exclude-queries/#empty-searches
We are not sending empty searches on the search page, so we have done the maximum optimization.

authors: fernandolucchesi padms wenche

repo: equinor/energyvision


text:
BUG: global_variables path is not forwarded to fmu-sumo-uploader

Custom paths to global_variables can be passed to SIM2SUMO:
https://github.com/equinor/fmu-sumo-sim2sumo/blob/8c075dead5a03a2e87ff7bf88d44cc19b3eb35e2/src/fmu/sumo/sim2sumo/config_jobs/SIM2SUMO#L17
However, it is never passed on to the Uploader:
https://github.com/equinor/fmu-sumo-sim2sumo/blob/8c075dead5a03a2e87ff7bf88d44cc19b3eb35e2/src/fmu/sumo/sim2sumo/common.py#L511
Result is that Uploader defaults to the standard path:
https://github.com/equinor/fmu-sumo-uploader/blob/a98c3fe498b4081f7e913252615dada00ef21bb7/src/fmu/sumo/uploader/_upload_files.py#L145
See also: https://equinor.slack.com/archives/CT986DYF3/p1726811975798499
Expected behavior:

When custom path to global_variables is passed to SIM2SUMO, it is used throughout the code.

#97 with related bugfix in fmu-sumo-uploader should fix.

authors: equinor-ruaj perolavsvendsen


text:
chore(dependencies): Update dependency eslint-plugin-jsdoc to v46.4.6

This PR contains the following updates:

Package
Type
Update
Change

eslint-plugin-jsdoc
devDependencies
patch
46.4.5 -> 46.4.6

Release Notes

gajus/eslint-plugin-jsdoc
v46.4.6
Compare Source
Bug Fixes

update jsdoccomment, comment-parser, and devDeps. (#1139) (eed807e)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 1.1.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

repo: erNail/glpushrule


text:
Changing sed delimiters to accept pull-secret

Pull-secret may have forward slashes in it.
Adjusting the delimiter for sed accordingly.

cc @eranco74

Nice catch.
Please update it to | so it will match the rest of the sed commands (assuming the pull secret shouldn't have any | .

done.


text:
Embedded-mobility-factsheet DRAFT

Draft proposal of how to allow embedding mobility factsheets into the Institutions API response.
(At the moment, I am somewhat against including this, because I think no one will actually implement it.)

Related discussion:
https://github.com/erasmus-without-paper/ewp-specs-api-institutions/issues/5#issuecomment-257543246

Draft proposal of how to allow embedding mobility factsheets into the Institutions API response.
(At the moment, I am somewhat against including this, because I think no one will actually implement it.)

The proposal has two aspects:

Titles/headers in addition to content
Nestability

I definitely vote for 1) - both for classification/link display purposes and for aligning with the model.
Since I have seen examples of nested fact sheets, I vote for 2) as well, but not as strongly.

BTW, do you (Norway) are planning to implement this? I am quite sure we (Poland) won't. We will rather stick with PDF fact sheets, at least in the beginning.

BTW, do you (Norway) plan to implement this? I am quite sure we (Poland) won't. We will rather stick with PDF fact sheets, at least in the beginning.

Whether we will implement nested fact sheets, I don't know, but I assume we will supply a title/header of some sort. Anyway, since both the header and the actual nesting is optional, I don't see the harm of implementing it: The partners who won't implement one and/or the other can simply leave that information out as server and ignore ("flatten") incoming complexity as client?

What I meant was - do you have this kind of data in your database? Because we don't. I wonder if any partner does.

What I meant was - do you have this kind of data in your database? Because we don't. I wonder if any partner does.

As far as I can see, we don't have recursive fact sheet information, but we do have headers (information types). If the existing nested fact sheets aren't based on databases, they are presumably file based. If those HEIs want to keep the nested structure in EWP, they will presumably change their databases to accommodate this.
I think the relevant question is whether any of the HEIs want to a) start or b) continue to serve nested fact sheets in EWP. If a), they will have to change their database structure in this respect.

If those HEIs want to keep the nested structure in EWP, they will presumably change their databases to accommodate this.

No, wait... How to explain this...
The purpose of introducing nesting was only to help developers "display" their flat data in a locally predefined header structure. This means that I don't expect any partner to have nesting in their databases, and surely I don't expect anyone to accommodate their databases. I only expect that what they do have should not necessarily always be presented as a flat list of headers. I want them to have control over how this gets displayed.
One way of giving this control would be to allow them to pass raw HTML. But this would introduce security issues (XSS, etc.). Hence this format proposal. It's not HTML, but it allows to group plaintext content in - kind of - <h1>..<hN> headers, thus allowing developers to describe how their data should be displayed.
But still, I believe that PDF is much better and much simpler solution. I think this proposal should be dropped. I don't see any reason for passing raw text content of this kind...

I believe that PDF is much better and much simpler solution. I think this proposal should be dropped. I don't see any reason for passing raw text content...

Ok, that's fine by me. But I assume having a header is still a good idea, for link display?

I prefer to read text straight from the page, not PDF.

But I assume having a header is still a good idea, for link display?

What do you mean exactly?

I prefer to read text straight from the page, not PDF.

Everyone does. Problem is, HTML pages may contain many attack vectors (XSS, CSRF, etc.). It's much safer to redirect the user and read the fact sheets directly on the target institution's servers. And we already allow for it (see here).

But I assume having a header is still a good idea, for link display?

What do you mean exactly?

I was thinking about a logical header like "Visa contacts" or "Course catalogue" describing the contents. If the information was to be displayed inline, the header would typically be displayed as a HTML header.
Now that we're leaning towards a link to a PDF, I was thinking it could be used as a logical display of the link (as in "see here" link above, where "here" is a logical display of the link) - but then I guess it's customary to include the logical display in the link itself, so forget about that part. (Remember, as a database developer I'm not well versed in markup languages)
The question is whether it's still useful with some header info to classify the contents of a (PDF) link? (The header is optional in the model, so it would only be used if/when the server had something meaningful to put there)
In the model, the HEI Information entity is not just used for links, but also for inline content:

Free-form Content or
Contact info like Email/Phone/Fax/Address

From your earlier comments, I take it that the former is unsafe and should be dropped. Is that the case for the latter as well? It seems very cumbersome to have to click a PDF link just to see some contact information, but maybe it's necessary for security purposes?

@wrygiel, I need an answer to this, to finalize the model and dictionary:

In the model, the HEI Information entity is not just used for links, but also for inline content:

Free-form Content or
Contact info like Email/Phone/Fax/Address

I.e. fact sheet information.

From your earlier comments, I take it that the former is unsafe and should be dropped. Is that the case for the latter as well? It seems very cumbersome to have to click a PDF link just to see some contact information, but maybe it's necessary for security purposes?

Now that we're leaning towards a link to a PDF, I was thinking it could be used as a logical display of the link (as in "see here" link above, where "here" is a logical display of the link)

Ok, so you meant having an ability to provide a list (or even a tree) of links with labels, right?
This information might indeed be useful for the client. But I'm not sure if any servers would provide it (because of the additional workload of having it updated later on). I would rather guess they would prefer providing a single PDF (or a single webpage) which someone if already keeping up-to-date. I suggest not to add it just now, to avoid clutter.

From your earlier comments, I take it that [Free-form Content] is unsafe and should be dropped

In particular:

It's difficult to store/deliver free-form content without some kind of rich-formatting.
There's no other well-known format for rich-formatting besides HTML.
Displaying foreign HTML is unsafe (without proper protection).

Hence my conclusion that passing free-form content might be unsafe. It's doable all right, but someone might try to exploit it in the future.

@wrygiel, I need an answer to this, to finalize the model and dictionary

I don't think you will be able to really "finalize" the model just know. It will probably keep mutating in the next months. However, in this first version, I suggest we drop the free-form content. We might add it back later, if partners judge it's necessary.

Ok, so you meant having an ability to provide a list (or even a tree) of links with labels, right?
This information might indeed be useful for the client. But I'm not sure if any servers would provide it (because of the additional workload of having it updated later on). I would rather guess they would prefer providing a single PDF (or a single webpage) which someone if already keeping up-to-date. I suggest not to add it just now, to avoid clutter.

Ok.

It's difficult to store/deliver free-form content without some kind of rich-formatting.
There's no other well-known format for rich-formatting besides HTML.
Displaying foreign HTML is unsafe (without proper protection).

Hence my conclusion that passing free-form content might be unsafe. It's doable all right, but someone might try to exploit it in the future.

Ok.

@wrygiel, I need an answer to this, to finalize the model and dictionary

I don't think you will be able to really "finalize" the model just know. It will probably keep mutating in the next months.

I know  :-) I meant "finalizing" enough for Publishing a new version.

However, in this first version, I suggest we drop the free-form content. We might add it back later, if partners judge it's necessary.

No problem.

authors: janinamincer-daszkiewicz kaiqu wrygiel


text:
PointGauges variables with underscore text parsing

If a model has variables such as ['h', 'h_u', 'h_v'], the following piece of code will not work:

heightPointGauges = PointGauges(gauges=((('h_u'), ((7.56, 16.05,  0),
                                                 (7.56, 14.55, 0),
                                                 (7.56, 13.05, 0),
                                                 (7.56, 11.55, 0),
                                                 (9.36, 13.80, 0),
                                                 (10.36, 13.80, 0),
                                                 (12.96, 11.22, 0),
                                                 (15.56, 13.80, 0))),),
                                activeTime=(0., opts.final_time),
                                fileName='island_wave_gauges.csv')

but

heightPointGauges = PointGauges(gauges=((('h'), ((7.56, 16.05,  0),
                                                 (7.56, 14.55, 0),
                                                 (7.56, 13.05, 0),
                                                 (7.56, 11.55, 0),
                                                 (9.36, 13.80, 0),
                                                 (10.36, 13.80, 0),
                                                 (12.96, 11.22, 0),
                                                 (15.56, 13.80, 0))),),
                                activeTime=(0., opts.final_time),
                                fileName='island_wave_gauges.csv')

will work. The loop line seen here https://github.com/erdc/proteus/blob/master/proteus/Gauges.py#L67  separates the h_u variable into three separate characters. A hack involves surrounding the single variable with [] as follows: (['h_u']). However, surrounding multiple single variables like (['h'],['h_u']) gives an error.

@zhang-alvin

@ejtovar what about ('h_u',) and ('h', 'h_u'), or ['h_u'] and ['h', 'h_u']?
I think your problem here is that putting parentheses around a string without a comma does not make it a tuple (('h_u') is equivalent to just 'h_u'), so your code worked fine only if your unique string had a single character. Parentheses are also superfluous for (['h_u']), this works because it is a list

Yes, you are correct!

Perhaps we should add a conditional to where the fields are parsed to check if the argument is a tuple and if not, make it a tuple. It seems bizarre for the user to know this.

Perhaps we should add a conditional to where the fields are parsed to check if the argument is a tuple and if not, make it a tuple. It seems bizarre for the user to know this.

@zhang-alvin There are many places in the code where we are supposed to pass a list of variables even if there is only one variable for some cases in practice.
An extra conditional would not hurt if that makes things easier, but making non-tuple arguments become tuples could cause issues (what if the user passes a list of strings?). Checking if it is a string (field variables are strings here), and if it is, making it a list or a tuple would work better though.
Anyway, I think the confusion came from the use of tuples within tuples when calling PointGauges here, but those can be replaced by lists instead for clarity. Also, the documentation does mention that it must be a "set of fields to be monitored":
https://proteustoolkit.org/api/proteus.Gauges.html (there is even an example with a single field variable ('p',))
If it is confusing, it might be worth updating the documentation, but don't forget to "read (and update) the docs"™ ;)

authors: ejtovar tridelat zhang-alvin

repo: erdc/proteus


text:
未来版本的期待

是否能在将来的版本中提供一些其他的特性。
1、ACL 和 PAC 模式
2、服务器测速
3、订阅服务

等ssr重新开始维护后再说吧

也是，另外最近形势比较紧张，还是注意点安全。

@HougeLangley 订阅有啊。。

怎么订阅啊？


text:
Please add additional reply

Would be nice to have proper answer for "300"

Нет (пидора ответ). Этот бот создан для того, чтобы выполнять лишь одну задачу. И он выполняет её хорошо. Вы всегда можете сделать форк репозитория и заточить его под свои нужды. Я даже с радостью добавлю ссылку в README, указывающую на вашего бота, чтобы любой желающий мог собрать полную коллекцию ботов на своём канале :)

authors: andsol erickskrauch

repo: erickskrauch/da-pizda-bot

license: WTFPL


text:
Implement pipeline module (0.5.0)

Module for running pipelines of data. Differs from validation as focuses on transformation and the various states involved in each step (rather than just checking data). Can add Rule | RuleGroups to stop execution (like assert statements)
Overview
...
High-level design
...
Additional context

Also closes https://github.com/ericpan64/pydian-canvas-fork/issues/41

Dataframe DAGs are a bit ambitious, though let's see...

Note: Huggingface library uses the words pipeline and pipe already, so keep that in mind (worth looking into how it's used)

A key thing to add in this -- some way for partial saves / completion. E.g. save to a local pickle file on unhandled exception. Have benchmarks user-specified.
A lot of CS229 data processing with APIs -- the ones that take 3hr+ and don't finish, really sucks! And is completely do-able but different thinking eng problem, so hard to bring up in the moment


text:
pdb

Sorry to be extremely needy.
Can we get a snippet for adding pdb?
pdb -> __import__('pdb').set_trace()

Would this be useful?

Ahh, I see VSCode has this already built-in. I didn't realise. That's exactly right, it adds a breakpoint.
Can we keep this open? And see if anyone is interested, please.
Thanks in advance.

Ahh, I see VSCode has this already built-in. I didn't realise. That's exactly right, it adds a breakpoint.
Can we keep this open? And see if anyone is interested, please.
Thanks in advance.

But it will be bad for this extension reputation thought 😅 because from marketplace it will display this extension got 1 open issue. Plus I think not a lot of people will visit the github unless they notice a bug or have some suggestion anyway.
Anyway, if you want this feature, do provide some python example I can add it to next update~

authors: ericsia shivan-s


text:
Show result?

Love this tool! I'm using it to send youtube videos into my watch-later, via a Heroku hobby server.
It would be cool if the extension could show a browser notification of the response from the webhook. Like if the webhook returns HTTP 200 and "Success", you could toast "Success". And also to show any errors the webhook responds with.

Thanks @GeoffreyPlitt, it's on my radar.

@ericvan76 Cool! Any ETA? On occasion, my webhook has an error in the response and I don't know until I check logs.

@GeoffreyPlitt I'm trying to wrap up something recently before I can pull my brain back on this, shouldn't be too far.

@ericvan76 Any update on this? I lost 30+ videos yesterday because my receiving server was sending 500 errors, but your plugin didn't show any errors, so I didn't realize for a while.
At the very least, when the webhook returns a non-2xx result, can you show an error?

@GeoffreyPlitt, Sorry I don't really have time to maintain this little thing. But you're welcome to contribute if you have spare time.


text:
Domain expired

It seems that http://placephant.com domain has expired.
Hopefully it will be renewed someday 👍

Yes, I was using that service extensively in my app's data fixtures :'(

Is there any mirror? May be forked one?

authors: Kurre stmswitcher toverux

repo: erikaheidi/placephant


text:
Dispatch not triggered in onBlur

Inside of a form AskQuestion, when a user clicks out of an input field I want to reset the field.
<Field
   name="company"
   type="text"
   keyUp={this.renderCompanyList}
   onBlur={this.onClearSearch}
   component={renderField}
   label="Choose Company..."/>

and this is my renderField
 function renderField(field) {
    const { meta: {touched, error} } = field;
    return(

      <input type={field.type}
             placeholder={field.label}
             onKeyUp={field.keyUp ? () => {field.keyUp(field.input.value)} : ""}
             autoCapitalize={field.autocapitalize ? field.autocapitalize : ""}
             autoComplete={field.autoComplete ? field.autoComplete : ""}
             onBlur={field.onBlur ? () =>{field.onBlur()} : ""}
             {...field.input}
             // I also tried putting in after ...input
             onBlur={field.onBlur ? () =>{field.onBlur()} : ""}
           />

             {touched ? error : ''}

  );
}

the onClearSearch callback however does not dispatch an action to reset the field despite the following. I have also correctly bound the function's this binding to the component.
  onClearSearch(e){
    this.props.dispatch(change('AskQuestion','company',''));
  }

How do I reset the field programmatically after a user clicks out?

Hello,
Since you didn't show how your renderField looks like, I assume the problem lies there. In this case please open a StackOverflow question asking for help to debug the issue.
Thanks for using Redux Form.

ok, I edited my response, not sure why you rushed so fast to close this. i searched other issues before including this (including mentioning to put custom onBlur after ...input and this did not work).

Sorry for that. You're asking a question here, not requesting a feature to be added or a bug to be fixed. That's why StackOverflow is better anyway.

authors: gustavohenke yeezysallonyoursofa

repo: erikras/redux-form


text:
Make numeric_range an iterable

The numeric_range function is meant to be

An extension of the built-in range() function whose arguments can be any orderable numeric type.

But range(...) is an iterable, while numeric_range(...) is an iterator:
>>> r = range(5)
>>> list(r) + list(r)
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
>>> from more_itertools import numeric_range
>>> nr = numeric_range(5)
>>> list(nr) + list(nr) # nr was exhausted
[0, 1, 2, 3, 4]

I think that numeric_range should be an iterable. (Note that this semantic difference has some effects: range has an efficient implementation of len, reversed, r[...], but those are features of an iterable, not an iterator. Hence we can't add these features to numeric_range.)
This PR is a basic implementation. Main drawback: we need division and modulo. I don't know if there are numeric entities in Python that can't be divided (and would need a fallback).

A couple more requests here, plus one more: could you add some tests of the new methods with Decimal, Fraction, and datetime objects to see what breaks?

I added a lot of tests and fixed some issues. See commit message 37e6b6f for details.

Thanks for this!

authors: bbayles jferard

repo: erikrose/more-itertools


text:
Create jetbrainspycharm.sh

New label for pycharm licensed version

Thanks

repo: erikstam/uninstaller


text:
fix procedure syntax

procedure syntax is deprecated https://github.com/scala/scala/commit/1d4d901fcea0a162cd139836b246e85cc0130a6b

Thanks @xuwei-k !

authors: erikvanoosten xuwei-k

repo: erikvanoosten/metrics-scala


text:
Collision glitch with polygon sliding over simple edges with ghost vertices

See the attached testbed demo. A polygon slides over 3 connected edge shapes
(using ghost vertices), which form a very simple terrain with no harsh angles.
When passing from the horizontal edge to the first downsloping edge, there in a
collision which jerks the polygon back.

Treating the terrain as 4 vertices A, B, C, D with edges ()AB(C), (A)BC(D) and
(B)CD(), where parentheses represent the previous/next vertices of the edge
shape:

The unwanted collision occurs when the polygon first reaches vertex B.
If either the previous or next vertices of BC are removed, the collision goes
away and behaviour is as expected.
Bizarrely, with both ghost vertices in place, whether or not the collision
occurs is dependent upon the coordinates of vertex D - two vertices away from
the point of collision.

Tested with Box2d v2.3.1

Original issue reported on code.google.com by cjan...@gmail.com on 20 Dec 2014 at 8:35
Attachments:

collision_issue.png
Skier.h

Incidentally, I did some work in my dev branch fork of Box2D to change the way collision responses were generated for polygons sliding over any multi-vertex shape. Was able to get smooth sliding of polygons over polygons without using anything like "ghost" vertices. Also smooth sliding over edge shapes (without ghost vertices).
I have a write-up of sorts of these changes that I put online. It's not perfect but it was an interesting endeavor for me and I'd be happy if it's interesting to anyone else too.

Fixed in #607


text:
Remove CJ Affiliate

I work at CJ Affiliate.
Haskell is now out of favor at CJ. It will be avoided for new development.

Thanks for the update.

authors: brandonbyskov erkmos

repo: erkmos/haskell-companies

license: Unlicense


text:
Publish to Hex Certificate Expired

./rebar3 hex cut
===> Verifying dependencies...
===> Using deprecated rebar_utils:vcs_vsn/3. Please upgrade your plugins.
Select semver increment or other (Current 1.8.1):
1) patch
2) minor
3) major
4) other
[1-4] > 4
New Version > 2.0.0-alpha.1
===> Using deprecated rebar_utils:vcs_vsn/3. Please upgrade your plugins.
Create 'v2.0.0-alpha.1' commit? ("Y")> n
===> oidcc.app.src : deprecated field maintainers found
Publishing oidcc 2.0.0-alpha.1 to hexpm
  Description: an easy to use OpenID Connect client library
  Dependencies:
    hackney ~> 1.18
    erljwt ~> 2.0.7
  Included files:
    README.md
    rebar.config
    rebar.lock
    src/oidcc.app.src
    src/oidcc.erl
    src/oidcc_app.erl
    src/oidcc_client.erl
    src/oidcc_http_cache.erl
    src/oidcc_http_util.erl
    src/oidcc_openid_provider.erl
    src/oidcc_openid_provider_mgr.erl
    src/oidcc_openid_provider_sup.erl
    src/oidcc_session.erl
    src/oidcc_session_mgr.erl
    src/oidcc_session_sup.erl
    src/oidcc_sup.erl
    src/oidcc_token.erl
  Licenses: Apache 2.0
  Links:
    GitHub: https://github.com/indigo-dc/oidcc
  Build tools: rebar3
Be aware, you are publishing to the public Hexpm repository.
Before publishing, please read Hex CoC: https://hex.pm/policies/codeofconduct
Proceed? ("Y")> y
Local Password:
=NOTICE REPORT==== 30-Sep-2021::19:24:27.392258 ===
TLS client: In state wait_cert_cr at ssl_handshake.erl:1985 generated CLIENT ALERT: Fatal - Certificate Expired

===> An unknown error was encountered. Run with DEBUG=1 for more details.

Libary that I tried to publish: https://github.com/Erlang-Openid/oidcc/tree/7bb7c2e0a9f9ec0fd84575683a1f95227f0f6c9d
Rebar / Erlang Version: rebar 3.17.0 on Erlang/OTP 24 Erts 12.1.1

@maennchen Are you running a version of erlang equal to or greater than 24.0.4 ?

The hex.pm server certificate chain was modified to leave out the cross-signed ISRG Root X1. That should fix the issue without any need for client-side changes. Can you please try again @maennchen ?

@starbelly Yes, I'm using erlang 24.1.1.
@voltone Thanks. I'll try tomorrow morning ❤

@voltone Works, thanks :)

authors: maennchen starbelly voltone