split values of nowcast(s)

For the visualization it is necessary to split the values.

With commented out code for comparison. Feel free to remove comments.

To make the tileset more humanreadable I changed the naming from 1,2,3,4
to their explicit naming. @vogelino @dnsos Is this okay for you?
or should use just numbers?

To make the tileset more humanreadable I changed the naming from 1,2,3,4 to their explicit naming. @vogelino @dnsos Is this okay for you? or should we use just numbers?

I'm not sure of which naming you're taking about. Do these name changes have an implication on the frontend?

:tada: This PR is included in version 2.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Move kubectl overview to be section index

Old page (also see its parent)
New page

Also:

use glossary definition in page introduction
tidy broken link in What's Next section
redirect old URL to new URL

/sig cli
/language en
/kind cleanup

An enabling change for https://github.com/kubernetes/website/issues/25943

/lgtm
I wonder if this should land after the release and if we need to boost visibility to localization (to me it feels like a small big change vs. a refactor)?

Happy to let this land after the v1.23 release and yes, we should consider applying the refactor label.
/label refactor

@jimangel the only changes since your previous LGTM were a (quite big) rebase with no manual rework

/approve

/lgtm


Remove cert-manager CRDs

Issue: https://github.com/open-cluster-management/backlog/issues/12080

/lgtm


Final character of text is delete

In new version 1.7 the last character in the widget is trimmed off when saving

Duplicate of #17, will investigate


Proxy

It does not wpork with proxy

Solution is to add this section in app.config (or web.config) file of an bot application:
 <system.net>     <defaultProxy useDefaultCredentials="true" />   </system.net>


Switch to more recent, smaller Docker image

For the package published to Docker Hub and also the containers used by datasette package and datasette publish cloudrun.

Relevant Twitter thread: https://twitter.com/simonw/status/1544710944462254080
Looks like python:3.10-slim-bullseye is a good option, see https://pythonspeed.com/articles/base-image-python-docker-images/

I tried this on Datasette Cloud and swapping datasetteproject/datasette to python:3.10-slim-bullseye as the base image dropped the overall image size from ~232MB to ~166MB - but note that I don't have SpatiaLite in that second image.

https://hub.docker.com/layers/python/library/python/3.10.6-slim-bullseye/images/sha256-cf85cd32e60184a94d88a0103c289d09024abffaa77680d116d7cc837668ea15?context=explore is the most recent - 3.10.6-slim-bullseye.

Tested locally with:
datasette package fixtures.db --extra-options="--setting sql_time_limit_ms 2500" \
  -t datasette-package-python-upgrade

And then:
docker run -p 8081:8001 datasette-package-python-upgrade
INFO:     Started server process [8]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8001 (Press CTRL+C to quit)

Also trying this locally:
datasette publish cloudrun fixtures.db --service issue-1768

https://issue-1768-j7hipcg4aq-uc.a.run.app/-/versions


Flag for console.log / debug output?

There's a lot getting dumped into the console output. Suggest we need to clean this up and/or perhaps have a 'Developer' value in the settings to turn these bits on as it's pretty handy to inspect what's coming back from the server.
Thoughts?

yes!

:+1:


Shouldn't there be a restriction on displayName length and other fields in the extension manifest?

Initially filed by @aravindvnair99 here - https://github.com/microsoft/vscode/issues/126771

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.57.1
OS Version: Windows 10 21H1 19043.1052

Steps to Reproduce:

Install Tabnine AI Code Completion for all major programming languages, autocomplete JavaScript, Python, TypeScript, PHP, Go, Java, Ruby, C/C++, HTML/CSS, C#, Rust, SQL, Bash, Kotlin, React, Swift, Scala, Sass, Perl, Objective C, Node JS, Matlab, Haskell, Dart, Angular extension.
Open Running Extensions or Extension panel to end up with these:

Unable to see activation time in Visual Studio Code - Running Extensions:

Name not completely visible in Visual Studio Code - Extension panel

I did report to the authors at https://github.com/codota/tabnine-vscode/issues/535 and also gave them a PR for the same at https://github.com/codota/tabnine-vscode/pull/536 which they have closed by saying:

we use longer names to make it easier for people to find Tabnine in the search results.

I understand that, but shouldn't there be a restriction on displayName length from Visual Studio Code itself to prevent authors from using whatever length they feel like? As then I would not end up with the scenario as shown in the screenshot, especially I not being able to view the activation time.
On a side note, I also feel not imposing length or quantity restrictions for items in the extension manifest leads to abuse and unfair competition. I strongly feel this should be regulated so that all extensions have equal visibility and opportunity to grow their user base and not based on who adds more things in the fields. Right now, I see only the following two restrictions:

Name
Type
Details

description
string
A short description of what your extension is and does.

keywords
array
An array of keywords to make it easier to find the extension. These are included with other extension Tags on the Marketplace. This list is currently limited to 5 keywords.

But short is subjective. Short to you is different from short to me. I feel there should be a well-defined maximum number. And likewise, for keywords, I see many extensions using more than 5 keywords including the one I mentioned which is using 34 keywords.
Other fields don't have restrictions at all.

It seems authors are adding such long titles for better discoverability. I do not think we shall encourage authors to come up with such hacks for discoverability. Is it possible to place some restrictions for such usages?

I disagree on the keywords part. Please don't do that. Search in marketplace is broken as is.
Please fix that first!
Thanks

💯 Agree -- Marketplace search needs to be fixed before anything here should be changed imo.

@sandy081 @prashantvc any updates?

like everyone mentioned it is an issue with search, and people optimising their extension to show up on the top.
As we improve the search, we hope extension authors will stop doing this.
We will evaluate this later, while we deploy search improvements. I am closing this issue for now


Update Python on RTD to v3.11

This is needed because with the release of urllib3 v2.0, requests crashes on old envs. An alternative would be to pin urllib3 which we opted not to do.
Contributor checklist

[x] Provided the tests for the changes.
[x] Assure PR title is short, clear, and good to be included in the user-oriented changelog

Maintainer checklist

[x] Assure one of these labels is present: backwards incompatible, feature, enhancement, deprecation, bug, dependency, docs or skip-changelog as they determine changelog listing.
[ ] Assign the PR to an existing or new milestone for the target version (following Semantic Versioning).

Thank you @webknjaz ! I'll try to find some way to make myself a useful member.


Make asm component invisible by default.

Make asm component invisible by default.

Won't fix.  Not required in the end.


Update kube-state-metrics.libsonnet

With the bump to kube-state-metrics v1.6 they added ingress and certificates monitoring this updates the rbac rules so that those work with the new version.

Thanks! lgtm :+1:


Add walk action (#239)

Resolves #239

Going to hold this one until next is merged. Otherwise merge conflicts is going to be a pain


Fix installation of bash completions (#2803)

Ping

Thanks a lot for fixing this and sorry for the delay.


Whether the parameter is incorrect

Description
The seconde parameter: WH, whether the correct parameter is "HI"?
(Optional:) Please add any files, screenshots, or other information here.
No response
(Required) What is this issue most closely related to? Select one.
Choose One
Internal issue ID
63294773-8165-494b-a317-0921917634bf
Paper URL
https://arxiv.org/html/2403.11703v1
Browser
Chrome/<IP_ADDRESS>
Device Type
pc

Please contact the authors directly for questions on document content.
This repository only tracks the quality of the experimental HTML format. Thank you!


Enable new multithreading support in Verilator 4

Use --threads flag, need to test.

Could use the ProcessorCount cmake module to automatically determine number of threads: https://cmake.org/cmake/help/latest/module/ProcessorCount.html

This is a simple patch to enable this (optionally)
--- a/hardware/CMakeLists.txt
+++ b/hardware/CMakeLists.txt
@@ -17,6 +17,18 @@
 project(hardware)
 add_subdirectory(fpga/de2-115)

+set(ENABLE_VERILATOR_THREADS 0 CACHE BOOL "Enable multithreaded verilator model (improves performance on multiprocessor host machines)")
+
+if (${ENABLE_VERILATOR_THREADS})
+    include(ProcessorCount)
+    ProcessorCount(NUM_THREADS)
+    message("Configure verilator with ${NUM_THREADS} threads")
+else()
+    set(NUM_THREADS 0)
+    message("Configure verilator with 1 thread")
+endif()
+
+
 find_program(VERILATOR NAMES verilator)

 set(VERILATOR_GEN_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
@@ -29,7 +41,8 @@ set(VERILATOR_OPTIONS --unroll-count 512
     -I${CMAKE_CURRENT_SOURCE_DIR}/core
     -y ${CMAKE_CURRENT_SOURCE_DIR}/testbench
     -y ${CMAKE_CURRENT_SOURCE_DIR}/fpga/common
-    -Mdir ${VERILATOR_GEN_DIR})
+    -Mdir ${VERILATOR_GEN_DIR}
+    --threads ${NUM_THREADS})

 if(DEFINED ENV{DUMP_WAVEFORM})
     set(VERILATOR_OPTIONS ${VERILATOR_OPTIONS} --trace --trace-structs)

However, when building, this fails with a link error:
Undefined symbols for architecture x86_64:
  "VL_PRINTF_MT(char const*, ...)", referenced from:
      VlThreadPool::VlThreadPool(int, bool) in verilated_threads.o
  "Verilated::endOfEvalGuts(VerilatedEvalMsgQueue*)", referenced from:
      Vsoc_tb::eval() in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
  "Verilated::endOfThreadMTaskGuts(VerilatedEvalMsgQueue*)", referenced from:
      Vsoc_tb::__Vmtask__2(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__8(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__10(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__16(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
  "thread-local wrapper routine for Verilated::t_s", referenced from:
      Vsoc_tb::_eval(Vsoc_tb__Syms*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__2(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__8(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__10(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
      Vsoc_tb::__Vmtask__16(bool, void*) in Vsoc_tb__ALL.a(Vsoc_tb__ALLcls.o)
ld: symbol(s) not found for architecture x86_64

The makefile is generated by Verilator. This may be an issue specific to OSX.

The CMakeLists.txt file in hardware would also need be modified to update the minimum supported version to one with multithreading support.

Need to do some performance measurements and regression tests.

Running a randomized cosimulation test (3.1 GHz Intel Core i7, 2 cores, 4 threads)
1 thread - 18s
2 threads - 16s
4 threads - 27s

ProcessorCount returns 4 on my machine, even though system info reports two cores. This is presumably the number of threads. Using this value is slower than 1 thread.


MSL: Fix sampling with FP16 coordinates.

MSL fails to resolve overloads if you don't pass in FP32 coordinates exactly.
Also fixes an unrelated FXC failure with HLSL.
Fix #1044.

Verified locally, merging early.


SB5 Theming breaks React 15 compat

The problem
Currently theming operates in config.js which is "preview" code (user code). It requires Emotion, which in turn requires React 16.3+.
In 5.0.x the workaround is to not theme Storybook.
This breaks in 5.1.x, probably due to https://github.com/storybooks/storybook/pull/6435
I've created an example and added it to the repo so we can discuss around it, and also to make sure we don't inadvertently break back-compat in the future. Coming in a PR shortly.
The solution
Allow users to configure the manager separately from the preview, as relates to https://github.com/storybooks/storybook/issues/4796 https://github.com/storybooks/storybook/issues/4995

[ ] split out create into its own file
[ ] update documentation

There is another solution which I suggested somewhere else and which seems to have dropped off the map: rearrange @storybook/theming so the bit that you import from config.js doesn't import from emotion.
This doesn't seem at all hard to do, I had just asked @ndelangen some question about the animation stuff but he hadn't responded. I can take a look at it if we clear that up (that's the file that imports emotion)

Should be fixed in this PR:
https://github.com/storybooks/storybook/pull/6475

Thanks for the repro branch @shilman !

Yowza!! I just released https://github.com/storybooks/storybook/releases/tag/v5.1.0-alpha.40 containing PR #6475 that references this issue. Upgrade today to try it out!
Because it's a pre-release you can find it on the @next NPM tag.
Closing this issue. Please re-open if you think there's still more to do.

I have tried it and still get same error.
TypeError: Object(...) is not a function

problem is here: (core.browser.esm.js)
var EmotionCacheContext = createContext(createCache());

There is problem with two versions of React. I use React 15 and Emotion use React 16. Import createContext from React 15 is resolved as undefined so it can not be call as function.

Im facing the same problem also. Even using the next tag

@shilman do you know how to reproduce this?

This issue seems like it hasn't gotten much action lately. Closing, please shout if you're still stuck on this!


[Macros] Add attr to html twig macro for components

Description
Related to https://github.com/kevinpapst/TablerBundle/issues/85
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] I updated the documentation (see here)
[x] I agree that this code will be published under the MIT license

Here is what does e('html_attr') twig filter
https://github.com/twigphp/Twig/blob/a1f8d3f91a0d28c258e81607e6711387a46f1705/src/Extension/EscaperExtension.php#L321


UATv0.3.3 | Order for Scheduling

Change Required:

Add recommeded Hearing options  (as recommended by Scheduller) to Order for Scheduling incase no date is selected

Template to include Purpose of Hearing
@Taherabharmal to provide the updated template.

hi @Taherabharmal can you explain more, as far as remember we already implemented the api where dates are coming from backend to schedule.
cc : @Ramu-kandimalla

Hi @Taherabharmal  Can You please share the detailed requirement, what is expected to be done ???

In the order template for scheduling of hearing, below option for Hearing date, show the 5 recommended options as per the scheduler.
These are for use cases that the hearing date is not selected as per workflow but user directly going into order for scheduling.
Additionally, the PDF template for order for Hearing does not have purpose of hearing.
Template has been included to contain purpoise.

Hi @rajeshcherukumalli as per discussion completed the point 2 of showing purpose of hearing in the pdf. Please verify
cc:- @Ramu-kandimalla

Hi @shambhavigoel1002,
This Issue is not present in DPG-DEV. please refer the screenshot.

HI @shambhavigoel1002
This is resolved in DPG-DEV
refer screenshot

Hi @Taherabharmal, @Ramu-kandimalla , @rajeshcherukumalli
This Issue is Resolved in UAT
Refer Screenshot


Blacklist entire url tree?

Hello,
I was using this library today, and noticed that I was having a lot of issues with one site that had comments enabled. As a result, while the fetch/parsing of the main content was fairly quick, there were many cases where I was also crawling the https://example.com/article/comment/<comment_number> as well. When I added in
website.configuration.blacklist_url.push("https://www.example.com/comment/".to_string());

to my configuration, I believe it successfully stopped that particular page from coming up, but pages that contains that url (although didn't match it exactly) still seemed to appear. It would be nice to be able to avoid this tree entirely (I'm not interested in the comments of the site at all).
I believe this is because the is_allowed() function uses the following internally
if self.configuration.blacklist_url.contains(link) {
            return false;
        }

which checks for exact matches of the intended link in the blacklisted urls, rather than checks for a pattern match of the blacklisted url on the link itself. Is there a way that might make sense for helping to prevent this?
I'm using spider = "1.5.1" in my Cargo.toml file, with rustc 1.60.0-nightly. I've actually seen this behavior on a couple of sites, but at the risk of annoying him by running too many crawlers over it, one example of this might be https://www.jeffgeerling.com

Hi @quietlychris does this issue happen in 1.5.0?

@quietlychris pr up with the changes here https://github.com/madeindjs/spider/pull/36. I need to add some test before it gets merged.

Released in v1.5.3 as an optional feature regex. Thanks @quietlychris  🙌


HTTPS: Fatal error evaluating certificates - S3 client gets ECONNRESET

GA1.0.3
CentOS 7
I created a certificate, key and CA certificate according to the guidelines in Federation/Using.md
My s3cmd client returns ECONNRESET.    The S3  See snippet from s3 log below.
The S3/lib/auth code is failing to correctly parse an error reported from the signature callback and is throwing an exception causing an ECONNRESET to the client.
There are 2 problems:

It appears the signature code is trying to evaluate "host.local." instead of "host.local", causing the authentication to fail.
When this response is returned to the client, the XML response is not well-formed, and the vault module throws a TypeError

TLS creation:
openssl genrsa -out ca.key 2048
openssl req -new -x509 -extensions v3_ca -key ca.key -out ca.crt -days 99999 -subj "/C=US/ST=Country/L=City/O=Organization/CN=local
openssl genrsa -out test.key 2048
openssl req -new -key test.key -out test.csr -subj "/C=US/ST=Country/L=City/O=Organization/CN=*.local"
openssl x509 -req -in test.csr -CA ca.crt -CAkey ca.key -CAcreateserial  -out test.crt -days 99999 -sha256

My s3cmd output:
DEBUG: Sending request method_string='GET', uri='/', headers={'Authorization': 'AWS 6XCJ7R7FUT9UYQJ6DC0Y:MSaSzYkmx5ASSQk/HNcuCcQGRss=', 'x-amz-date': 'Sat, 02 Jul 2016 15:44:51 +0000'}, body=(0 bytes)
DEBUG: ConnMan.put(): closing over-used connection
WARNING: Retrying failed request: / (HTTP/1.1 ECONNRESET unknown
)
WARNING: Waiting 3 sec...

Complete log snippet from /logs/s3-0.log
{"name":"S3","clientIP":"::ffff:<IP_ADDRESS>","clientPort":45347,"httpMethod":"GET","httpURL":"/","time":1467474291518,"req_id":"e7284dcf488afcb4e14c","level":"info","message":"received request","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","clientIP":"::ffff:<IP_ADDRESS>","clientPort":45347,"httpMethod":"GET","httpURL":"/","time":1467474291518,"req_id":"e7284dcf488afcb4e14c","level":"info","message":"received request","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","method":"routerGET","time":1467474291521,"req_id":"e7284dcf488afcb4e14c","level":"debug","message":"routing request","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","method":"auth","time":1467474291521,"req_id":"e7284dcf488afcb4e14c","level":"debug","message":"running auth checks","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","authHeader":"AWS 6XCJ7R7FUT9UYQJ6DC0Y:MSaSzYkmx5ASSQk/HNcuCcQGRss=","time":1467474291521,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"authorization header","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","time":1467474291521,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"authenticating request with auth v2 using headers","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","time":1467474291522,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"running header auth check","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","requestTimestamp":1467474291000,"time":1467474291522,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"request timestamp","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","currentTimestamp":1467474291522,"time":1467474291522,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"current timestamp","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","signatureFromRequest":"MSaSzYkmx5ASSQk/HNcuCcQGRss=","time":1467474291522,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"signature from request","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","time":1467474291523,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"constructing string to sign","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","stringToSign":"GET\n\n\n\nx-amz-date:Sat, 02 Jul 2016 15:44:51 +0000\n/","time":1467474291524,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"constructed string to sign","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","algo":"sha1","time":1467474291524,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"algo for calculating signature","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","time":1467474291524,"req_id":"e7284dcf488afcb4e14c","level":"debug","message":"authenticating V2 request","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","errorMessage":{"reason":"Host: lb1bbqconn01.local. is not cert's CN: *.local","host":"lb1bbqconn01.local.","cert":{"subject":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"*.local"},"issuer":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"local"},"modulus":"BC82E630F6C93D3A56C1530CC23C3CE56CD7027BD56F7DBC2EC1408BBAA3FB13F49B3A1AF9C839781D3C0CA7308A3B822DE504BD58B3111798F65136B29664F42F1E5277822C8336B622B13272121AD8B8B3AA0D4DFD70F80BF57792ECA400474D2260BB2810D4292422CB223F2D0226DC931E35E56BB2751A3E26594E11B544FE8DD2B09F5E25485C9DA67D01EC1611480D6569485E0EEAA3703ED0E944CF724EB683146EDBEA2858E088E0148FE6D9505BAD1EDBDAD65DF53F4077C8F84D2ED8F9453FFC990959FD7048E390FB96D8E3F416E3934A06FD3337C244EC40AC16AEE360700ECBB4A42407D3B10288FE29C960A63E49AC09D5D5F0B10DDE223B67","exponent":"0x10001","valid_from":"Jul  1 19:38:55 2016 GMT","valid_to":"Apr 15 19:38:55 2290 GMT","fingerprint":"45:59:C9:28:B6:CF:54:9F:D8:F4:2A:FA:57:B0:34:9F:32:9A:9C:9F","serialNumber":"ABBEF04ED4673BF0","raw":{"type":"Buffer","data":[48,130,3,42,48,130,2,18,2,9,0,171,190,240,78,212,103,59,240,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,48,85,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,14,48,12,6,3,85,4,3,12,5,108,111,99,97,108,48,32,23,13,49,54,48,55,48,49,49,57,51,56,53,53,90,24,15,50,50,57,48,48,52,49,53,49,57,51,56,53,53,90,48,87,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,16,48,14,6,3,85,4,3,12,7,42,46,108,111,99,97,108,48,130,1,34,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,188,130,230,48,246,201,61,58,86,193,83,12,194,60,60,229,108,215,2,123,213,111,125,188,46,193,64,139,186,163,251,19,244,155,58,26,249,200,57,120,29,60,12,167,48,138,59,130,45,229,4,189,88,179,17,23,152,246,81,54,178,150,100,244,47,30,82,119,130,44,131,54,182,34,177,50,114,18,26,216,184,179,170,13,77,253,112,248,11,245,119,146,236,164,0,71,77,34,96,187,40,16,212,41,36,34,203,34,63,45,2,38,220,147,30,53,229,107,178,117,26,62,38,89,78,17,181,68,254,141,210,176,159,94,37,72,92,157,166,125,1,236,22,17,72,13,101,105,72,94,14,234,163,112,62,208,233,68,207,114,78,182,131,20,110,219,234,40,88,224,136,224,20,143,230,217,80,91,173,30,219,218,214,93,245,63,64,119,200,248,77,46,216,249,69,63,252,153,9,89,253,112,72,227,144,251,150,216,227,244,22,227,147,74,6,253,51,55,194,68,236,64,172,22,174,227,96,112,14,203,180,164,36,7,211,177,2,136,254,41,201,96,166,62,73,172,9,213,213,240,177,13,222,34,59,103,2,3,1,0,1,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,3,130,1,1,0,189,254,51,106,51,125,164,100,154,183,21,67,30,2,241,130,81,102,221,31,40,114,102,210,112,123,18,248,112,19,51,5,98,223,242,238,184,40,88,165,192,247,26,117,65,159,64,140,59,160,213,13,244,194,140,24,23,63,28,130,12,93,165,189,238,136,158,220,9,221,159,209,226,120,255,206,159,39,196,171,4,171,50,44,239,28,160,67,244,205,85,233,142,154,253,113,125,50,16,251,134,20,134,184,107,167,165,174,217,13,238,156,16,47,99,26,167,15,99,66,223,202,172,135,129,133,215,176,53,81,99,172,12,0,89,58,174,204,5,119,238,131,45,93,230,155,140,67,28,90,19,135,110,95,238,211,140,248,156,164,0,202,186,215,135,60,12,63,63,99,104,143,165,98,135,254,62,124,178,207,69,44,8,207,229,84,164,46,250,213,146,3,251,248,240,52,57,162,240,188,232,109,11,131,79,70,235,77,141,234,204,131,31,94,52,138,198,205,182,90,189,117,91,98,82,41,17,136,53,255,189,95,241,236,88,221,141,145,204,0,27,132,126,232,164,133,14,197,9,138,114,28,138,43,204,12]}}},"time":1467474291563,"req_id":"e7284dcf488afcb4e14c","level":"error","message":"received error message from vault","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","error":{"reason":"Host: lb1bbqconn01.local. is not cert's CN: *.local","host":"lb1bbqconn01.local.","cert":{"subject":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"*.local"},"issuer":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"local"},"modulus":"BC82E630F6C93D3A56C1530CC23C3CE56CD7027BD56F7DBC2EC1408BBAA3FB13F49B3A1AF9C839781D3C0CA7308A3B822DE504BD58B3111798F65136B29664F42F1E5277822C8336B622B13272121AD8B8B3AA0D4DFD70F80BF57792ECA400474D2260BB2810D4292422CB223F2D0226DC931E35E56BB2751A3E26594E11B544FE8DD2B09F5E25485C9DA67D01EC1611480D6569485E0EEAA3703ED0E944CF724EB683146EDBEA2858E088E0148FE6D9505BAD1EDBDAD65DF53F4077C8F84D2ED8F9453FFC990959FD7048E390FB96D8E3F416E3934A06FD3337C244EC40AC16AEE360700ECBB4A42407D3B10288FE29C960A63E49AC09D5D5F0B10DDE223B67","exponent":"0x10001","valid_from":"Jul  1 19:38:55 2016 GMT","valid_to":"Apr 15 19:38:55 2290 GMT","fingerprint":"45:59:C9:28:B6:CF:54:9F:D8:F4:2A:FA:57:B0:34:9F:32:9A:9C:9F","serialNumber":"ABBEF04ED4673BF0","raw":{"type":"Buffer","data":[48,130,3,42,48,130,2,18,2,9,0,171,190,240,78,212,103,59,240,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,48,85,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,14,48,12,6,3,85,4,3,12,5,108,111,99,97,108,48,32,23,13,49,54,48,55,48,49,49,57,51,56,53,53,90,24,15,50,50,57,48,48,52,49,53,49,57,51,56,53,53,90,48,87,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,16,48,14,6,3,85,4,3,12,7,42,46,108,111,99,97,108,48,130,1,34,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,188,130,230,48,246,201,61,58,86,193,83,12,194,60,60,229,108,215,2,123,213,111,125,188,46,193,64,139,186,163,251,19,244,155,58,26,249,200,57,120,29,60,12,167,48,138,59,130,45,229,4,189,88,179,17,23,152,246,81,54,178,150,100,244,47,30,82,119,130,44,131,54,182,34,177,50,114,18,26,216,184,179,170,13,77,253,112,248,11,245,119,146,236,164,0,71,77,34,96,187,40,16,212,41,36,34,203,34,63,45,2,38,220,147,30,53,229,107,178,117,26,62,38,89,78,17,181,68,254,141,210,176,159,94,37,72,92,157,166,125,1,236,22,17,72,13,101,105,72,94,14,234,163,112,62,208,233,68,207,114,78,182,131,20,110,219,234,40,88,224,136,224,20,143,230,217,80,91,173,30,219,218,214,93,245,63,64,119,200,248,77,46,216,249,69,63,252,153,9,89,253,112,72,227,144,251,150,216,227,244,22,227,147,74,6,253,51,55,194,68,236,64,172,22,174,227,96,112,14,203,180,164,36,7,211,177,2,136,254,41,201,96,166,62,73,172,9,213,213,240,177,13,222,34,59,103,2,3,1,0,1,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,3,130,1,1,0,189,254,51,106,51,125,164,100,154,183,21,67,30,2,241,130,81,102,221,31,40,114,102,210,112,123,18,248,112,19,51,5,98,223,242,238,184,40,88,165,192,247,26,117,65,159,64,140,59,160,213,13,244,194,140,24,23,63,28,130,12,93,165,189,238,136,158,220,9,221,159,209,226,120,255,206,159,39,196,171,4,171,50,44,239,28,160,67,244,205,85,233,142,154,253,113,125,50,16,251,134,20,134,184,107,167,165,174,217,13,238,156,16,47,99,26,167,15,99,66,223,202,172,135,129,133,215,176,53,81,99,172,12,0,89,58,174,204,5,119,238,131,45,93,230,155,140,67,28,90,19,135,110,95,238,211,140,248,156,164,0,202,186,215,135,60,12,63,63,99,104,143,165,98,135,254,62,124,178,207,69,44,8,207,229,84,164,46,250,213,146,3,251,248,240,52,57,162,240,188,232,109,11,131,79,70,235,77,141,234,204,131,31,94,52,138,198,205,182,90,189,117,91,98,82,41,17,136,53,255,189,95,241,236,88,221,141,145,204,0,27,132,126,232,164,133,14,197,9,138,114,28,138,43,204,12]}}},"time":1467474291565,"req_id":"e7284dcf488afcb4e14c","level":"warn","message":"authentication error","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","error":"Cannot read property 'toString' of undefined","stack":"TypeError: Cannot read property 'toString' of undefined\n    at ServerResponse.writeHead (_http_server.js:190:44)\n    at errorXMLResponse (routesUtils.js:87:14)\n    at Object.responseXMLBody (routesUtils.js:149:20)\n    at routeGET.js:10:25\n    at api.js:28:24\n    at headerAuthCheck.js:58:24\n    at vaultSignatureCb (vault.js:47:16)\n    at ClientRequest.<anonymous> (vault.js:72:24)\n    at emitOne (events.js:77:13)\n    at ClientRequest.emit (events.js:169:7)","level":"fatal","message":"caught error","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","level":"error","message":"shutdown of worker due to exception","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","error":{"reason":"Host: lb1bbqconn01.local. is not cert's CN: *.local","host":"lb1bbqconn01.local.","cert":{"subject":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"*.local"},"issuer":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"local"},"modulus":"BC82E630F6C93D3A56C1530CC23C3CE56CD7027BD56F7DBC2EC1408BBAA3FB13F49B3A1AF9C839781D3C0CA7308A3B822DE504BD58B3111798F65136B29664F42F1E5277822C8336B622B13272121AD8B8B3AA0D4DFD70F80BF57792ECA400474D2260BB2810D4292422CB223F2D0226DC931E35E56BB2751A3E26594E11B544FE8DD2B09F5E25485C9DA67D01EC1611480D6569485E0EEAA3703ED0E944CF724EB683146EDBEA2858E088E0148FE6D9505BAD1EDBDAD65DF53F4077C8F84D2ED8F9453FFC990959FD7048E390FB96D8E3F416E3934A06FD3337C244EC40AC16AEE360700ECBB4A42407D3B10288FE29C960A63E49AC09D5D5F0B10DDE223B67","exponent":"0x10001","valid_from":"Jul  1 19:38:55 2016 GMT","valid_to":"Apr 15 19:38:55 2290 GMT","fingerprint":"45:59:C9:28:B6:CF:54:9F:D8:F4:2A:FA:57:B0:34:9F:32:9A:9C:9F","serialNumber":"ABBEF04ED4673BF0","raw":{"type":"Buffer","data":[48,130,3,42,48,130,2,18,2,9,0,171,190,240,78,212,103,59,240,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,48,85,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,14,48,12,6,3,85,4,3,12,5,108,111,99,97,108,48,32,23,13,49,54,48,55,48,49,49,57,51,56,53,53,90,24,15,50,50,57,48,48,52,49,53,49,57,51,56,53,53,90,48,87,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,16,48,14,6,3,85,4,3,12,7,42,46,108,111,99,97,108,48,130,1,34,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,188,130,230,48,246,201,61,58,86,193,83,12,194,60,60,229,108,215,2,123,213,111,125,188,46,193,64,139,186,163,251,19,244,155,58,26,249,200,57,120,29,60,12,167,48,138,59,130,45,229,4,189,88,179,17,23,152,246,81,54,178,150,100,244,47,30,82,119,130,44,131,54,182,34,177,50,114,18,26,216,184,179,170,13,77,253,112,248,11,245,119,146,236,164,0,71,77,34,96,187,40,16,212,41,36,34,203,34,63,45,2,38,220,147,30,53,229,107,178,117,26,62,38,89,78,17,181,68,254,141,210,176,159,94,37,72,92,157,166,125,1,236,22,17,72,13,101,105,72,94,14,234,163,112,62,208,233,68,207,114,78,182,131,20,110,219,234,40,88,224,136,224,20,143,230,217,80,91,173,30,219,218,214,93,245,63,64,119,200,248,77,46,216,249,69,63,252,153,9,89,253,112,72,227,144,251,150,216,227,244,22,227,147,74,6,253,51,55,194,68,236,64,172,22,174,227,96,112,14,203,180,164,36,7,211,177,2,136,254,41,201,96,166,62,73,172,9,213,213,240,177,13,222,34,59,103,2,3,1,0,1,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,3,130,1,1,0,189,254,51,106,51,125,164,100,154,183,21,67,30,2,241,130,81,102,221,31,40,114,102,210,112,123,18,248,112,19,51,5,98,223,242,238,184,40,88,165,192,247,26,117,65,159,64,140,59,160,213,13,244,194,140,24,23,63,28,130,12,93,165,189,238,136,158,220,9,221,159,209,226,120,255,206,159,39,196,171,4,171,50,44,239,28,160,67,244,205,85,233,142,154,253,113,125,50,16,251,134,20,134,184,107,167,165,174,217,13,238,156,16,47,99,26,167,15,99,66,223,202,172,135,129,133,215,176,53,81,99,172,12,0,89,58,174,204,5,119,238,131,45,93,230,155,140,67,28,90,19,135,110,95,238,211,140,248,156,164,0,202,186,215,135,60,12,63,63,99,104,143,165,98,135,254,62,124,178,207,69,44,8,207,229,84,164,46,250,213,146,3,251,248,240,52,57,162,240,188,232,109,11,131,79,70,235,77,141,234,204,131,31,94,52,138,198,205,182,90,189,117,91,98,82,41,17,136,53,255,189,95,241,236,88,221,141,145,204,0,27,132,126,232,164,133,14,197,9,138,114,28,138,43,204,12]}}},"time":1467474291565,"req_id":"e7284dcf488afcb4e14c","level":"warn","message":"authentication error","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","errCode":{"reason":"Host: lb1bbqconn01.local. is not cert's CN: *.local","host":"lb1bbqconn01.local.","cert":{"subject":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"*.local"},"issuer":{"C":"US","ST":"Country","L":"City","O":"Organization","CN":"local"},"modulus":"BC82E630F6C93D3A56C1530CC23C3CE56CD7027BD56F7DBC2EC1408BBAA3FB13F49B3A1AF9C839781D3C0CA7308A3B822DE504BD58B3111798F65136B29664F42F1E5277822C8336B622B13272121AD8B8B3AA0D4DFD70F80BF57792ECA400474D2260BB2810D4292422CB223F2D0226DC931E35E56BB2751A3E26594E11B544FE8DD2B09F5E25485C9DA67D01EC1611480D6569485E0EEAA3703ED0E944CF724EB683146EDBEA2858E088E0148FE6D9505BAD1EDBDAD65DF53F4077C8F84D2ED8F9453FFC990959FD7048E390FB96D8E3F416E3934A06FD3337C244EC40AC16AEE360700ECBB4A42407D3B10288FE29C960A63E49AC09D5D5F0B10DDE223B67","exponent":"0x10001","valid_from":"Jul  1 19:38:55 2016 GMT","valid_to":"Apr 15 19:38:55 2290 GMT","fingerprint":"45:59:C9:28:B6:CF:54:9F:D8:F4:2A:FA:57:B0:34:9F:32:9A:9C:9F","serialNumber":"ABBEF04ED4673BF0","raw":{"type":"Buffer","data":[48,130,3,42,48,130,2,18,2,9,0,171,190,240,78,212,103,59,240,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,48,85,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,14,48,12,6,3,85,4,3,12,5,108,111,99,97,108,48,32,23,13,49,54,48,55,48,49,49,57,51,56,53,53,90,24,15,50,50,57,48,48,52,49,53,49,57,51,56,53,53,90,48,87,49,11,48,9,6,3,85,4,6,19,2,85,83,49,16,48,14,6,3,85,4,8,12,7,67,111,117,110,116,114,121,49,13,48,11,6,3,85,4,7,12,4,67,105,116,121,49,21,48,19,6,3,85,4,10,12,12,79,114,103,97,110,105,122,97,116,105,111,110,49,16,48,14,6,3,85,4,3,12,7,42,46,108,111,99,97,108,48,130,1,34,48,13,6,9,42,134,72,134,247,13,1,1,1,5,0,3,130,1,15,0,48,130,1,10,2,130,1,1,0,188,130,230,48,246,201,61,58,86,193,83,12,194,60,60,229,108,215,2,123,213,111,125,188,46,193,64,139,186,163,251,19,244,155,58,26,249,200,57,120,29,60,12,167,48,138,59,130,45,229,4,189,88,179,17,23,152,246,81,54,178,150,100,244,47,30,82,119,130,44,131,54,182,34,177,50,114,18,26,216,184,179,170,13,77,253,112,248,11,245,119,146,236,164,0,71,77,34,96,187,40,16,212,41,36,34,203,34,63,45,2,38,220,147,30,53,229,107,178,117,26,62,38,89,78,17,181,68,254,141,210,176,159,94,37,72,92,157,166,125,1,236,22,17,72,13,101,105,72,94,14,234,163,112,62,208,233,68,207,114,78,182,131,20,110,219,234,40,88,224,136,224,20,143,230,217,80,91,173,30,219,218,214,93,245,63,64,119,200,248,77,46,216,249,69,63,252,153,9,89,253,112,72,227,144,251,150,216,227,244,22,227,147,74,6,253,51,55,194,68,236,64,172,22,174,227,96,112,14,203,180,164,36,7,211,177,2,136,254,41,201,96,166,62,73,172,9,213,213,240,177,13,222,34,59,103,2,3,1,0,1,48,13,6,9,42,134,72,134,247,13,1,1,11,5,0,3,130,1,1,0,189,254,51,106,51,125,164,100,154,183,21,67,30,2,241,130,81,102,221,31,40,114,102,210,112,123,18,248,112,19,51,5,98,223,242,238,184,40,88,165,192,247,26,117,65,159,64,140,59,160,213,13,244,194,140,24,23,63,28,130,12,93,165,189,238,136,158,220,9,221,159,209,226,120,255,206,159,39,196,171,4,171,50,44,239,28,160,67,244,205,85,233,142,154,253,113,125,50,16,251,134,20,134,184,107,167,165,174,217,13,238,156,16,47,99,26,167,15,99,66,223,202,172,135,129,133,215,176,53,81,99,172,12,0,89,58,174,204,5,119,238,131,45,93,230,155,140,67,28,90,19,135,110,95,238,211,140,248,156,164,0,202,186,215,135,60,12,63,63,99,104,143,165,98,135,254,62,124,178,207,69,44,8,207,229,84,164,46,250,213,146,3,251,248,240,52,57,162,240,188,232,109,11,131,79,70,235,77,141,234,204,131,31,94,52,138,198,205,182,90,189,117,91,98,82,41,17,136,53,255,189,95,241,236,88,221,141,145,204,0,27,132,126,232,164,133,14,197,9,138,114,28,138,43,204,12]}}},"time":1467474291566,"req_id":"e7284dcf488afcb4e14c","level":"trace","message":"sending error xml response","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","errorMessage":{"code":"ECONNRESET"},"time":1467474291680,"req_id":"e7284dcf488afcb4e14c","level":"error","message":"received error message from vault","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","error":{"code":"ECONNRESET"},"time":1467474291681,"req_id":"e7284dcf488afcb4e14c","level":"warn","message":"authentication error","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","accessKey":"6XCJ7R7FUT9UYQJ6DC0Y","clientIP":"::ffff:<IP_ADDRESS>","clientPort":45347,"httpMethod":"GET","httpURL":"/","httpCode":"ECONNRESET","time":1467474291683,"req_id":"e7284dcf488afcb4e14c","elapsed_ms":166.049623,"level":"info","message":"responded with error XML","hostname":"libbbqconn01.local","pid":72}
{"name":"S3","workerId":6,"level":"error","message":"worker disconnected. making sure exits","hostname":"libbbqconn01.local","pid":42}
{"name":"S3","workerId":6,"level":"error","message":"worker exited.","hostname":"libbbqconn01.local","pid":42}
{"name":"S3","workerId":12,"level":"error","message":"new worker forked","hostname":"libbbqconn01.local","pid":42}
{"name":"S3","host":"lb1bbqconn01.local","port":8500,"https":true,"level":"info","message":"vaultclient configuration","hostname":"libbbqconn01.local","pid":115}
{"name":"S3","bootstrap":["lb1bbqconn01.local"],"https":true,"level":"info","message":"bucketclient configuration","hostname":"libbbqconn01.local","pid":115}
{"name":"S3","https":true,"level":"info","message":"Https server configuration","hostname":"libbbqconn01.local","pid":115}
{"name":"S3","address":"::","port":8000,"pid":115,"level":"info","message":"server started","hostname":"libbbqconn01.local"}

When creating your certificate, please try: *.yourhostname.local
The relevant error is: "Host: lb1bbqconn01.local. is not cert's CN: *.local"
This error is being returned by Vault's server and is causing S3 to crash since the error is not being converted to a proper arsenal error.

My hostname convention is:
proxy1.local for HAproxy and conn1 thru conn5.local
What should I use for the CN for the cert and CA cert?
I can change the hostname convention if there is a combo that will work....

It was a problem with my CN.  Closing.


#25 Added changes NewOrExisting pattern for Application Gateway public ip in template (CCS 163279).

… address in template (CCS 163279)
PR Checklist
Check these items before submitting a PR...
Contribution Guide
Best Practice Guide

[ ] - Please check this box once you've submitted the PR if you've read through the Contribution Guide and best practices checklist.

Changelog

Following on from the review meeting yesterday, Nishu is working on this issue now so I'm closing the PR


Update conv.d

https://issues.dlang.org/show_bug.cgi?id=17712#c15

There are other ways to fix one of the case (https://issues.dlang.org/show_bug.cgi?id=17712#c11) which i would prefer. It's delicate because while there's another test case, this is still only a workaround for one of the case.

There are other ways to fix it (https://issues.dlang.org/show_bug.cgi?id=17712#c11) which i would prefer. It's delicate because while there's another test case, this is still only a workaround for one of the case of a compiler bug.

@BBasile I'm sympathetic to this but Issue #17712 has been open for a year without movement. I'm going to mark this 72h no objection -> merge. If another PR is made during that time it can go ahead. Otherwise I think the right thing to do is merge this, and if another solution is made in the future it can replace it.


ENH: Add POC async implementation, example using storescp

POC async implementation.

Created a feature flag tokio which controls the importing of read_pdu and write_pdu from either [read|write].rs or [read_nonblocking|write_nonblocking].rs
Created feature gated implementations of the methods in Client and Server which depend on using read_pdu/write_pdu or any read/write to the socket themselves.

A couple other notes:

We could consider using the maybe_async crate.

Since most of the code in read_pdu/write_pdu is copied for the sync/async implementation I thought this could be nice to use, but I found that I'd have to extend the macro to adjust the trait bounds for the sync/async implementation and I couldn't figure out the best way to do that

I had to change a little bit of the internal API for write_chunk_u16 and write_chunk_u32
For now I completely ignored the PDataReader and PDataWriter since I'm not exactly clear where they should be used or not used (storescp doesn't use those at all, and in my implementation of c-find I didn't end up using either at all either)
I just added the timeouts in another MR, but it seems like the concept of socket level timeouts doesn't exist in an async context?  So Future work will be adding the timeout to the individual methods like send, receive, establish, etc. via something like tokio::time::timeout

Also note this is meant to just be one possible implementation, and I totally expect completely rewriting this MR however you want it to look! Thanks in advance!

I've been doing some more reading up, and unfortunately it seems like the options are

Repeat a bunch of code either manually or with a nice macro to write truly sync and async versions of ul, but that would (and the current PR) break users expecting cargo install dicom-ul --all-features to work.
Make the code async only, and expose a blocking client which just calls block_on for the blocking client

Much appreciated!

I've been doing some more reading up, and unfortunately it seems like the options are

Repeat a bunch of code either manually or with a nice macro to write truly sync and async versions of ul, but that would (and the current PR) break users expecting cargo install dicom-ul --all-features to work.
Make the code async only, and expose a blocking client which just calls block_on for the blocking client

There ought to be a bit of redundancy in this process unfortunately. Whether to go async or not requires a different function "color" which affects its inner workings altogether.
At best, there is a way to reduce the amount of redundancy, which is to write non-blocking and non-polling implementations of the PDU readers. While this can be a bit trickier than the existing logic at read_pdu, this would couple nicely with the concept of framing without requiring users to depend on tokio if they only intend to use the blocking API.
Let me know if more guidance is needed here.

Let me make sure I'm understanding where you're going.  For the reader implementation, it would be something like:

Rename read_pdu to something like parse_pdu and leave the trait bound as R: Read, keeping the logic essentially as is but changing the return type to something like Result<Option<Pdu>> instead of Result<Pdu>
Making an async receive and leaving the existing receive method on the ClientAssociation, changing the logic to something like:

pub async fn receive(&mut self) -> Result<Pdu> {
    loop {

        if let Some(pdu) = parse_pdu(&mut self.buffer)? {
            return Ok(Some(pdu));
        }

        if 0 == self.stream.read_buf(&mut self.buffer).await? {
            if self.buffer.is_empty() {
                return Ok(None);
            } else {
                return Err("connection reset by peer".into());
            }
        }
    }
}

And similar for pub fn receive? (Mostly copy/pasting code from the framing article you linked :smile: )

Let me make sure I'm understanding where you're going. For the reader implementation, it would be something like:

Rename read_pdu to something like parse_pdu and leave the trait bound as R: Read, keeping the logic essentially as is but changing the return type to something like Result<Option<Pdu>> instead of Result<Pdu>

That could work if we use a reader that keeps a buffer of all partial data, so that it can be read multiple times until a complete frame is available. In practice, we may be better off making this function receive a value with a better trait bound than Read, providing a peekable source of bytes which can be extended as more data arrives from the network, and only consumes the front bytes when individual frames comprising those bytes have been fully processed. The bytes crate (part of the tokio ecosystem) offers some nice data types and traits for this, so it may be worth trying it out.

I'm not really following, sorry!  What kind of trait bound might be better, something like Buf or BufMut?  At that point why not just make read_pdu take &mut BytesMut or Cursor<&[u8]>. Any chance you could provide a little code snippet of something you had in mind so I know which direction to go?

What kind of trait bound might be better, something like Buf or BufMut? At that point why not just make read_pdu take &mut BytesMut or Cursor<&[u8]>.

Both BytesMut and Cursor<&[u8]> implement Buf, but they assume a contiguous portion of bytes. The way I see it, the trait would make room for memory usage optimizations by allowing us to read from chained portions of data (thinking network packet payloads).

Any chance you could provide a little code snippet of something you had in mind so I know which direction to go?

I would just try and see if you can tweak the implementation so that the function signature is fn read_pdu(x: impl Buf) -> Result<Option<Pdu>>. BufMut would offer write access, which we do not need for reading.

Okay, I'm happier with the implementation now.  I have a POC fully working for storescp, but I'm having trouble getting the AsyncPDataWriter working for use with storescu.  Currently I get the association working fine, but the send_pdata section is not working.

Orthanc logs:
======================= END A-ASSOCIATE-AC ======================
T0807 10:13:53.602828          DICOM-1 CommandDispatcher.cpp:760] (dicom) Received Command:
===================== INCOMING DIMSE MESSAGE ====================
Message Type                  : C-STORE RQ
Presentation Context ID       : 1
Message ID                    : 1
Affected SOP Class UID        : MRImageStorage
Affected SOP Instance UID     : <IP_ADDRESS>.4.1.145<IP_ADDRESS>.8421.4004.102660487069874494712993403337
Data Set                      : present
Priority                      : medium
======================= END DIMSE MESSAGE =======================
I0807 10:13:53.602850          DICOM-1 main.cpp:353] Incoming Store request from AET STORE-SCU on IP <IP_ADDRESS>, calling AET ANY-SCP
E0807 10:13:53.603049          DICOM-1 StoreScp.cpp:273] Store SCP Failed: DIMSE Failed to receive message

Wireshark capture:

Can attach the actual capture file if needed

I'm hoping you could

Go over existing implementation of read_pdu and write_pdu and changes to the interface of the server/client from a high level so I know if I'm approaching it right.
Similar for high level review of how I've introduced the async functionality into storescu and storescp
Help me with the AsyncPDataWriter issue  hopefully

After that, I'd like to start writing tests, I just didn't want to write them yet if the interface is going to change.
And then I'd like to do some benchmarking of the async vs sync code and also the new sync code (with the framing) vs. the old sync code.
LMK your thoughts!  Thanks again!

Okay, I think I've mostly finished.  I have storescp and storescu working as sync and async.  I'm having some problems with feature flags though that I could use some help with, and thats also causing the CI to fail.
When I compile each package  within the workspace separately they work, but when I try to do anything on the whole workspace I get issues, i.e. store-scu tries to pull in the async feature set of ul when I try to do cargo build or cargo test on the whole workspace, even though async is not a default feature for any of the members that have that as a flag.

Okay, I think I fixed the workspace compilation issue, and looks like all the CI is passing. I'm going to go ahead and mark this as no longer a draft!

As I'm thinking more about this, I'm wondering if the sync/async methods shouldn't be named differently.  Potentially keeping the existing methods like ClientAssociation::send and then making the async ones like ClientAssociation::send_async.  LMK what you think

@naterichman , thanks for your work on an async api. I was testing out your work on my project and ran into some errors. My issue is that I have a storescp that depends on the sync api (previously written before you wrote the async functionality) and I am working on a storescu that depends on the async features. The two don't seem compatible since functions like establish on ServerAssociationOptions are conditionally compiled based on the "async" feature flag. I can work around this but wanted to bring up the case where the same package might need to use both the async and sync apis.

@naterichman and @Enet4 would it make sense to separate the async and sync functionality into separate modules so that the async and sync features can be used together? You could leave all the common functionality as is but anywhere where async and sync code use the same functions, move those functions to sub-modules? Then, you could put those modules behind feature gates and people can select whether they want the async functions, sync functions, or both?

@nathan-brainkey I hadn't thought of using sync and async in the same program but it makes sense.  I think switching to the sync/async modules makes sense.  I was trying to avoid as much code duplication as I could but I think without conditional complication it will have to happen.
For example in the current version of the implementation ClientAssociation s socket is a std::net::TcpStream when its sync and tokio::net::TcpStream when its async, so I'll definitely need to create two types, one for sync and one for async.
I'll get around to this hopefully sometime in the next few weeks!

@nathan-brainkey Just pushed a version with those changes, showing in storescu I exposed a --blocking flag so the comand runs in async by default but also can run in blocking mode if the flag is passed.  LMK your thoughts!

Hi @Enet4, I've been using this branch in a project of mine for a few weeks now and its working pretty well.  I realize this PR itself is pretty messy with a few different stages of changes. What can I do to clean it up and/or get it ready for review? Would you like me to rebase and clean up the commit history, or I could just create a new branch/PR from the current state?
I'm also planning on going through and adding/fixing up documentation.  Let me know if there is anything else you'd like me to do!

Thank you for your commitment @naterichman. I haven't had much free time to work on DICOM-rs last month, but I'm looking forward to getting more contributions rolling this month.
Is CI still failing on this branch? Maybe a minor tweak is missing in one of the tests.

Hi @Enet4, was strange, it was only in beta and it has now gone away...

Hi @Enet4, was strange, it was only in beta and it has now gone away...

Oh yes, it was likely a bad rustc lint in beta (#564), which has been reverted by now.

Where are those files you were testing on? I'd like to see if I can reproduce using that file, or maybe its because you are on windows and there are some minor differences (I'm on linux).

The file I used was MG1_JPLY from the WG04 test file set, though I'm not sure if the problem was specific to this file. It can also be downloaded from dicom-test-files.
I was using Linux this time, but I can try again on both machines in any case and get back to you. :)

I would have greatly wished to merge this, but right now the transfer goes wrong whenever the concurrency option in dicom-storescu is set, even when I set it to 1. For instance:
cargo run --bin dicom-storescu -- -c 1 ANYSCP@localhost:1111 .../dicom-test-files/data/WG04/JPLL

Our store SCP starts reporting errors of this kind at random:
024-10-18T13:50:03.021555Z  INFO dicom_storescp::store_async: New association from STORE-SCU
2024-10-18T13:50:03.031017Z  INFO dicom_storescp::store_async: Stored storage\<IP_ADDRESS>.4.1.59<IP_ADDRESS>.1.4.20040826185059.5457.dcm
2024-10-18T13:50:03.060996Z ERROR dicom_storescp: failed to read DICOM data object

Caused by these errors (recent errors listed first):
  1: Could not read data set token
  2: Could not read item header
  3: Could not decode element header at position 1311814
  4: Failed to read the item header
  5: failed to fill whole buffer

And often the files won't end up saved
Also tested with another store SCP (Dicoogle), it also reports errors and returns status code 101h.
This could constitute a problem with PDU writing in async mode, so withholding concurrency might just be hiding the problem. I'm afraid this will stay blocked until we find a fix.

I was worried that it was a random/intermittent thing when you said it failed at first but when you ran it again it passed.  I will try to reproduce and look into it!

Will get to those too.  Don't worry about figuring out the sendscu issue, its something within the messed up logic of self.writing in the implementation of AsyncPDataWriter.poll_write.  I've had a hell of a time figuring out how to handle the underlying stream write call returining Poll::Pending, so I just need to figure out the correct logic for handling that, but it will get there!

Okay I believe this is fixed.  It only ever came up on sufficiently large files and I believe it had to do with how the tokio TCPStream write method works in that a lot of data can be written immediately, but with a large enough amount to transfer, it can sometimes return Pending instead of Ready. This explains why I had no issues sending a lot of smaller files and then was able to reproduce by trying to send a large US dicom.
I'll be honest feel much better about this implementation too since the original was mostly guided by chatGPT...  This implementation I understand much better, and I left a decent amount of inline comments explaining it for future reference


side-by-side view is broken

This is how it's supposed to look when there isn't enough width to show
everything side-by-side, AFAIK.
On Sat, Aug 20, 2022, 13:07 Ashwin Ramaswami @.***>
wrote:

[image: image]
https://user-images.githubusercontent.com/1689183/185764391-5512f29d-4779-4326-a151-f3ac54f2b5b6.png
—
Reply to this email directly, view it on GitHub
https://github.com/ambuda-org/ambuda/issues/173, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAF3MKWLH2VC2Q6XQPS4XP3V2E3JVANCNFSM57DXHZQA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

It's showing like this even at full width. Also, it's showing like this (incorrectly) when the view is "in-place".

Ah yes, it's like that for me too...

The dropdown behavior is fixed, but the rendering behavior is still off due to a CSS change in a parent element. Seems the CSS here is fragile to upstream changes -- we can make this more robust and add comments to prevent similar breakages in the future.


Use existing RKE role

Our existing RKE role has already been factored out to be independently reusable: https://github.com/CloudVE/cloudman-boot/tree/master/roles/rke and includes support for GPUs etc.
There may be a few things we can use from here as well: https://github.com/rancherfederal/rke2-ansible

I will double check, but I am pretty sure that what is there now is the RKE role from cloudman-boot.  I am just using it as a stand-alone playbook for now as I was under some time pressure to get it out before going on leave.  My plan is to convert all of those playbooks to be used as roles rather than using import_playbook.


Update git to 2ab7360 and Git Credential Manager

Updates git and dependencies. The main update is to Git Credential
Manager, which includes a fix to erase credentials when requested.


Prepdocs: Support additional args

Purpose

Prepdocs scripts require certain environment variables to be set.
Prepdocs has many additional arguments, and not all of them map to environment variables. For example, --removeall is used to delete documents from the search index.
Support passing through these additional documents (e.g. ./prepdocs.ps1 --removall) without requiring environment variables.

Does this introduce a breaking change?
When developers merge from main and run the server, azd up, or azd deploy, will this produce an error?
If you're not sure, try it out on an old environment.
[X] Yes
[ ] No

Does this require changes to learn.microsoft.com docs?
This repository is referenced by this tutorial
which includes deployment, settings and usage instructions. If text or screenshot need to change in the tutorial,
check the box below and notify the tutorial author. A Microsoft employee can do this for you if you're an external contributor.
[ ] Yes
[X] No

Type of change
[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Yay! I was hoping you'd make this change. Can you update the data_ingestion.md doc to say that the arguments can be passed directly?


Handlebars: Access has been denied to resolve the property in console logs during unit tests in React

Everytime I run my unit tests since upgrading to Babel 7, I see a long list of console logs with this message in them...
  logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See http://localhost:8080/api-reference/runtime-options.html#options-to-control-prototype-access for details');

How do I make this go away?
What is most disturbing is you disabled a lint rule in your release to make it happen...
*Note: It only happens when running coverage on untested files...

The warning is printed because the code coverage report is actually not working correctly. Istanbul-reports have been broken with the 4.6.0 release of handlebars and the warning is printed to point to the correct handlebars configuration to change on such cases.
See #1636 for details and #1633 for more details about the reason for the breaking change in a minor version bump. You can also open the link in the warning to see how to make it go away, but if you are using handlebars as third or fourth level dependency, I guess you can't.
Sorry about the hassle, but I still believe it was the right thing to do.

That link contains links to all the security advisories that ultimately led to the changes we made.

I also have this issue as well and opening the link does nothing as there is no webserver running.
While I do understand, after looking into the other issues, why the change was needed, introducing this as a breaking minor change is against SEMVER Spec #8.
It's going to be especially challenging for those, like my team, that use handlebars as a 4th level dependency jest -> @jest/core -> @jest/reporters -> istanbul-reports -> handlebars
Is there any guidance on how to fix this beyond poking the isntanbul team to pin to a previous version?

I could try to change so that the log output is only printed once.
Is this breaking your build or just log annoyingly much data?

I think you could also disable the HTML coverage reporter until this is resolved.

Istanbul is also working on a backport of the new HTML reporter to 2.x

An new version of "istanbul-reports" is published, mentioned in #1636

@antempus the logged message should be something like... Argh, I just noticed I copied the link-url while running the local dev-server of the Handlebars homepage.
I'll fix it in the next release.

I could try to change so that the log output is only printed once.
Is this breaking your build or just log annoyingly much data?

Super annoying as in most cases it prints 1000+ times ... If you could just say access denied x times and if array is greater than x only print once.... That would male this much more tolerable

I have just pushed a change that will log it only once per property. And fix the link url.

and it's released 4.7.1

Hello, I'm using handlebars 4.7.1 with webpack, i.e through handlebars-loader. After reading the handlebars API ref, I've changed my  webpack loader config:
{
  test: /\.hbs$/,
  loader: 'handlebars-loader',
  query: {
          allowProtoPropertiesByDefault: true,
          allowProtoMethodsByDefault: true,
          helperDirs: [path.join(__dirname, 'src/view/helpers')]
}},

But I still get the errors:
logger.js:34 Handlebars: Access has been denied to resolve the property "format" because it is not an "own property" of its parent.
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details

Any clue to fix that?

Check the docs for the handlebars-loader on how to pass runtime options. It is not a compile option but runtime.

You need to pass the options as second parameter to the template function that is the result of your import.

Thank you for your quick answer (sorry for being a bit off subject). I didn't know it is possible to pass options as 2nd param. I tried, it works, but, if possible, I'd like to declare it once for all in my wekpack config.
For those who would be interested, I opened an issue on the handlebars-loader repo.

i stringgified my obeject with JSON.stringify and I parsed it back with JSON.parse.
Not the best, but it was a quick solution.


correction for drop graph, collection handling

The wording of comment indicated supplying true results in the collections being preserved but the opposite is true. It might make more sense to update the comment but wasn't sure certain on the intent of the example.

This is indeed confusing. I think the point was to show that, even if you tell _drop() to delete the underlying collections, they will still be around if you remove them from the graph definition prior to dropping the graph. In other words, the example de-couples the collections from the graph, then drops it, but because the collections aren't part of the named graph anymore, they will not be deleted despite the true argument.
graph._deleteEdgeDefinition("edges");
graph._removeVertexCollection("vertices");
graph_module._drop("myGraph", true); // does not drop any collections

The example makes sense, assuming that it wants to show the particular case of collections being removed from the graph definition before dropping the graph, but it could use a better description. How about the following?
graph._deleteEdgeDefinition("edges");      // remove edge collection from graph definition
graph._removeVertexCollection("vertices"); // remove vertex collection from graph definition
graph_module._drop("myGraph", true);       // does not drop any collections because there are none left in the graph definition

Thank you for the clarification and I see now the original example was true just a little confusing. I have added your suggestion as I think that helps clarify it.


refactor: improve crosschain cli

Summary by CodeRabbit

Refactor

Consolidated blockchain client commands under the crosschaincli package for streamlined command handling across multiple blockchain modules.

This update simplifies command retrieval and execution for various blockchain modules, enhancing maintainability and consistency across the application.

mg


How to deploy a contract on the 0.13.0 testnet?

I want to declare new contract in new testnet, but show error below. How should I do next?
starkli declare target/dev/src_Test.contract_class.json
Enter keystore password:
Sierra compiler version not specified. Attempting to automatically decide version to use...
Unknown network. Falling back to the default compiler version 2.1.0. Use the --compiler-version flag to choose a different version.
Declaring Cairo 1 class: 0x06fe4be614eddfe1ca0c5ab160f132b4d690cea0d7e2e82a031d464db7b6c6db
Compiling Sierra class to CASM with compiler version 2.1.0...
Error: error from the program registry

RPC:
https://starknet-sepolia.public.blastapi.io/rpc/v0_6
Scarb version:
scarb 2.4.0 (cba988e68 2023-12-06)
cairo: 2.4.0 (https://crates.io/crates/cairo-lang-compiler/2.4.0)
sierra: 1.4.0
starkli --version
0.1.20 (e4d2307)

Hello! Thank you for the report. A PR has been merged to solve this issue https://github.com/xJonathanLEI/starkli/pull/51.
At the next release you'll be able to provide the new compiler version. 👍🏻


Hostile Custom Runner API - Silent crash

I've just noticed that my custom runner started crashing silently. The problem is that Runner errors cause Mocha to crash with an OK exit status and no error notice.
For example:
var mocha = require('mocha');

function FooReporter(runner) {
  mocha.reporters.Base.call(this, runner);

  //return visual(runner)

  let count = 0
  runner.on('suite', function(test){
  })

  runner.on('pass', function(test){
    count++
    if(count > 3) throw Error('An error!')
    process.stdout.write('.')
  });

  runner.on('fail', function(test, err){
    process.stdout.write('x')
  });

  runner.on('end', function(){
    console.log()
    console.log('end!')
  });
}

module.exports = FooReporter;

Using the above runner will silently crash Mocha after 3 test passes. The thrown Error will not be shown and shell exit status of mocha will be 0

This could be related to https://github.com/mochajs/mocha/issues/2890#issuecomment-311118312

You mean custom reporter, not custom runner right?

My mistake. Yes I meant custom reporter. Any error inside the reporter will
cause the runner to fail silently
On Jul 9, 2017 04:30, "Operations Research Engineering Software+" <
<EMAIL_ADDRESS>wrote:

You mean custom reporter, not custom runner right?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/mochajs/mocha/issues/2777#issuecomment-313893466, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPc5T6l6Dbpv6MmOT7GSY8oDibhOtEZks5sMDstgaJpZM4NFXb5
.

Closing this issue because it seems that since my report, now Mocha reporters crash with "reporter blew up with error" message and even there is a stacktrace


No access_token provided to compare against at_hash claim.

Hello and Thank you !!!!!!
I am very new with Keycloak and also with Django.
I am using a fresh install of keycloak 12.0.2 (before that I was using 4.5.0 and not problems).
I got this message error in django when the keycloak server redirect the login approval to Django:
Error => "No access_token provided to compare against at_hash claim."
if not access_token:
    msg = 'No access_token provided to compare against at_hash claim.'
    raise JWTClaimsError(msg)

Also, I had to add the client scopes: openid, given_name, family_name in order for the request no be not invalid.
My questions:
It makes sense to implement 12.0.2 instead of 4.5.0?
Is there a way I can fix this?
Thank you, I really appreciate it.
Mariano

Hello,
Reading... and learning a little bit.
Maybe is there enforcement of at_hash value no matter if access_token is being used or not?
"The at_hash value is a case sensitive string. If the ID Token is issued from the Authorization Endpoint with an access_token value, which is the case for the response_type value code id_token token, this is REQUIRED; otherwise, its inclusion is OPTIONAL."

Thank you,
Mariano

Hello,
Reading... and learning a little bit.
Maybe is there enforcement of at_hash value no matter if access_token is being used or not?
"The at_hash value is a case sensitive string. If the ID Token is issued from the Authorization Endpoint with an access_token value, which is the case for the response_type value code id_token token, this is REQUIRED; otherwise, its inclusion is OPTIONAL."

Thank you,
Mariano

I'm encountering the very same problems (despite that the custom client scope openid is not required) and hoping someone here could explain what we are doing wrong?!
Did someone got this module to work with the current Keycloak version and could provide some tips?

Maybe the 18 months old issue statement is still valid and this plugin is still unusable with key cloak > v4?!
(What means we should consider this plugin as abandoned at the moment)
see #25

I use this package with keycloak 9.0.3 and it works ok. After update keycloak to version 12.0.4 I have the same problems like you. @mchingotto where you add client scopes? Because I have invalid request too 😢

I am also encountering this issue. Did anyone find a fix?

I don't know if this was the case for previous versions of keycloak, but you have to set "Use Refresh Tokens For Client Credentials Grant" to ON for the client for this plugin to work.

Hello @citos88, sorry for the delay.
What I did was adding those scopes in Configure/Client Scopes.
Then, inside Clients => Client Scopes => You added to "Assigned Default Client Scopes".

Hello, I could not make this work yet, I posted a traceback on @boladjivinny commit.
Please, let me know if somebody has this working on keycloak 12.0.2 or newer.
Thank you,
I appreciate it.

It is working now with 15.0.1.
I am suspecting a cache problem. Not sure if it was not possible to make this work on 12.0.2 (maybe my fault ?)
Thank you @boladjivinny !!
M

Yes worked after renewing the renew certificates, etc from django side. Thank you @mchingotto


Split configs into keys, local, and consensus

We should split the existing config file into 3 different files:

keys.conf - encrypted private key material
local.conf - editable by the user
consensus.conf - controls the consensus config (will need another PR to use only during consensus upgrades)

We should consider removing unnecessary config values from the command-line config gen (denominations, federation_name, etc) and instead have users edit the relevant files (or provide a generic way to pass in changes via command line).

Maybe have some utility that first creates default consensus.conf and local.conf, which users then edit and finally call keygen? We'd also need to figure out interactions with the web setup tool.

I think it could work like this:

Running DKG via the setup UI would generate all 3 files with default values
User could edit the files manually (or eventually through a UI)
User starts server which reads from the edited files
Federation does a sanity check to confirm consensus values are equal


rendering latex psudocode

Hi could you render the latex pseudocode in cell 9?

Yes, it renders just fine on a fresh checkout on my machine...


Fixing rm command and API…

… to behave more like docker-compose. Fixes #129 🐝.
$ libcompose-cli ps
# […]
Name           Command                         State         Ports
compose_db_1   /docker-entrypoint.sh postgres  Up 8 seconds  5432/tcp
compose_web_1  nginx -g 'daemon off;'          Up 8 seconds  443/tcp, 80/tcp
$ libcompose-cli rm
# […]
No stopped containers
$ libcompose-cli stop db
# […]
$ libcompose-cli rm
# […]
Going to remove compose_web_1, compose_db_1
Are you sure? [yN]

As docker-compose it will try to remove only containers that are stopped. And the --force flag is used to skip the confirmation only 🐞.
$ libcompose-cli stop db
# […]
$ libcompose-cli rm --force
# […]
Going to remove compose_db_1
$ libcompose-cli ps
# […]
Name           Command                 State          Ports
compose_web_1  nginx -g 'daemon off;'  Up 54 seconds  443/tcp, 80/tcp

It's not really done yet :

[X] Probably should add some log/information of each container removed (like docker-compose does). This should be handled widely on the cli I think.
[X] Should add more integration tests (making sure we don't remove non-stopped containers, etc…).

🐸
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>

/ping @dnephin

@dnephin Updated, rebased and added an integration tests.

LGTM


Added Github Action

I created a GitHub action for this project and added the following actions to get started:
Caching dependencies
Automatic release.

Hi @danieldevel thanks for your contribution and interest in this project. Are you a filemaker developer as well? Have you used fm-mock before?
I have a couple questions/thoughts:

I see you specified the action runs on pushes to "main", but this repo has no "main" branch. Does that automatically map to "master"?
I see it does npm run example-multi, but that is just there as an example to users, and not needed as part of a release.
How does Songmu/tagpr@v1 work? I assume as part of an automated release the version number should be incremented, but historically I usually manually increment the version when I do npm releases using npm version minor for example. I'm not sure how this all fits together as part of publishing to npm.

Thanks again.

I'm going close this specific request since it doesn't appear to be tested or match the repo, but I'll refer to this as starter code later when I decide to automate releases.

Right on, I appreciate your work. I'll take a look soon.

Hey Daniel, I'm considering simplifying this workflow a bit to just a NPM publish (with testing) that runs whenever I create a release (and maybe a separate action can be added to create releases somehow, perhaps if I bump the version in package.json). I'm less keen on using commit messages to bump the version automatically.
What do you think of the below workflow. actions/setup-node should cache between jobs using  actions/cache under the hood according to this.
Does this look reasonable to you? If so I think I can edit this PR and merge it.
name: Publish To NPM

on:
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: 'npm'
      - run: npm ci
      - run: npm run build
      - run: npm test

  publish-npm:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          registry-url: https://registry.npmjs.org/
          cache: 'npm'
      - run: npm ci
      - run: npm run build
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{secrets.npm_token}}

Best,
Josh

Hey Josh,
That's fantastic news! If you've had a chance to test it out and everything is working smoothly, we're good to go. Let's move forward with it!

Thanks again for this @danieldevel! This should make my life a bit easier. I'd be interested in doing this repo too, if you'd like to submit the same action there too (the simplified NPM release version preferred for now): https://github.com/jwillinghalpern/fm-gofer

It's amazing I'll do it sure, Just let me time @jwillinghalpern


Update _index.md

Marketplace release notes for 11th August.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


exit status 129

nathan at alfie in ~
$ commit
exit status 129

My system
$ uname -a
Linux alfie <IP_ADDRESS>-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

$ go version
go version go1.18.4 linux/amd64

Sorry, I wasn't runn the tool in a git repo, my bad

Still, the tool didnt give you much help knowing that

commit will now check if you're in a git repo before it does anything else


feat: add reactor application

Description
Adds Reactor Application

Testing required outside of automated testing?

[x] Not Applicable

Screenshots (if appropriate):

Rollback / Rollforward Procedure

[x] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

:tada: This PR is included in version 1.41.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Import open data continuously and script account creation in loklak

Let's think of how we can add information from Open Data portals and the Internet of things to loklak. As loklak will get more useful organizations will add data to loklak themselves. For the beginning we need to make the service useful and add data we find automatically.
I see the following steps. How do we automate these?

Crawl the web with our search engine and find suitable JSON files for loklak.
Categorize name of JSON owner and automatically create a loklak account (Questions: how do we create accounts? what is the naming convention? everyone account needs an email - what is the email? and every account should be re-created in twitter as well - how to script it?)
Create loklak tweets with time stamp of events in JSON files - Each time event gets a tweet.
a) How to create tweets? What is the specific content, e.g. xxx releases data about zzz.. What do we tweet exactly?
b) Questions how about "year time events" e.g. growth of gdp in Germany 2015 - what date - length do we assign? What is the tweet date?)
Each location (city, country, street) gets a hashtag
Each document period gets a png-animated map tweet
How do we show links to JSON on the web in the interface (the above should also be possible manually for people who have an account)?

I suggest to add different types of data step-by-step. I.e. first add geojson data. To do that, we can provide a 'submit' function in loklak where a user can simply paste an url with geojson content. This can then be submitted to the loklak_server backend which takes care of the import process.
Other types of content can be added later. Possible i.e.: geo-rss
The addressed identification of such imported tweets is important: either the tweets are identified with an user account of the user who submitted the source or they are anonymously imported using a technical account.


[DO NOT REVIEW] PoC - two device managers with different video devices, no call agent

What
Poc to show that

DeviceManager can be used without ever creating a callAgent

Can create video stream

Two different CallClient and associated DeviceManager can be created in the same tab

Can choose different cameras in the two

Why
This proves that we can create a fake CallClient that uses the real DeviceManager for all device access, but fakes all call related functionality by simply using the correct LocalVideoStream as the remote stream.

Just an experiment.


FEAT: use halo2-ecc's ecdsa implementation [Ready for review]

Suppose to move to https://github.com/scroll-tech/zkevm-circuits/pull/282, since private crate access halo2-ecc is only configured on scroll-tech/zkevm-circuits (not zhengfeizhang/zkevm-circuits).


(MODULES-4216) Avoiding remounts in case of a refresh event, when a m…

…ountpoint actually gets created.
By this fix refresh events are invalidated, when a mountpoint actually gets created. When a mountpoint's state is "absent", but it should be "present" and when this resource receives a refresh event, the share gets mounted and subsequently remounted. Especially in the case, when remounts are not implemented by the underlying driver, the mountpoint transition sequence looks as follows: "unmounted" -> "mounted" (caused by the property "ensure") -> "unmounted" -> "mounted" (caused by the refresh event). In case of remote shares, this behavior is very prone to failure.

@cfiehe This looks quite straightforward. Is there any chance you can add some spec tests to go along with this PR showing the behavior working properly? Thanks!

@ferventcoder Thanks a lot. Unfortunately, I am not familiar with Puppet's module testing and cannot provide appropriate test cases. Hopefully, this improvement can nevertheless be merged.

@cfiehe thanks for the PR! You can expect a release within the next week!

@eputnam That are good news. Thanks a lot!

@cfiehe version 1.0.0 https://forge.puppet.com/puppetlabs/mount_providers/readme


Decouple transport from session management.

Problem
Currently a separate session manager is created for every transport (e.g. ESP creates 2: one for ipv4 and one for ipv6). There should be a central session and encryption management rather than per protocol.
Summary of Changes
Decouples transport from session management.
fixes #1339

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

@andy31415 this seems to expose a UDPTransport directly to the applications. So far, we have been avoiding giving a non-secure endpoint to apps. This will enable apps to bypass security layer (intentionally, or by mistake).

Discussed with @pan-apple offiline - the intent is to balance not asking the app to explicitly create transports while also allowing the app to manage memory (i.e. cannot dynamically allocate transports in Init calls, which would be the easiest approach).
For now, we settled on deriving the session manager and having an object that combines both transports and session manager into one, so that the user never creates the actual transport object.
If we have other ideas in time, we can iterate. I can see it going in 2 separate directions:

We start having more transports (tcp, ble) and then we finalize the interface, eventually making the API even clearer
Thread completely abstracts away any transport and only IP remains plus chip is requring IPv6, so we may end up only needing UDP and even then only one. In that case, we can start taking out transports to not be as generic.

Created #1424 after CLA check required me to refork the project


No way to evaluate

As the dataset only contains image patches, it seems that there is no way to evaluate the model, am I correct?
Can the full size (1920x1080) FHD images be accessed? Thanks a lot.

I'll see if I can find the FHD image set to upload - you're right that the current one only has patches

Hi!
Thanks for the kind reply, any update?

I couldn't find it locally on my end, but the set of all FHD images were taken from here: https://github.com/akshay-kap/Meng-699-Image-Banding-detection


How to display according to the volume of the phone recording

thank you for this project,
How to display the view according to the volume of the phone recording?

thank you for this project,
How to display the view according to the volume of the phone recording?

You got any solution for this?


Remove unused stuff

Just minor things that were obvious while looking at the code.

Remove unused and hidden debug switches

These are not unused.

These are not unused.

Looks like grep failed me this time. Removed.

Auto-merge toggled on


Run Android/iOS unit tests on GitHub Actions

https://github.com/golang/build might be a good reference.

https://github.com/golang/build/tree/master/env/corellium Does this require Corellium?


Congrats

No issues, just wanted to say congratulations it's a clever approach and the results look amazing,
There was a recent paper called InvertAvatar: Incremental GAN Inversion for Generalized Head Avatars, and another called EMO: Emote Portrait Alive
but I think yours is SOTA so a round of applause for you!
I look forward to release and can't wait to tinker with the code & train new models where applicable

actually one issue, there seems to be a difference between Portrait-4D and Portait-4D V2 with no paper link on the project page of v2, Should I refer to Portrait-4D's paper or will you be releasing a separate paper for V2?

actually one issue, there seems to be a difference between Portrait-4D and Portait-4D V2 with no paper link on the project page of v2, Should I refer to Portrait-4D's paper or will you be releasing a separate paper for V2?

Thanks for your interest. The paper for Portrait4D-v2 can be found on arxiv now: https://arxiv.org/abs/2403.13570

Currently we only plan to release v1 in April. But we will promote the open source of v2 as soon as possible.

Is there any updates?


Should we use textwrap.dedent on descriptions?

Let's say we have this code:
@strawberry.type(description="A connection to a list of items.")
class VehicleFilmsConnection:
    page_info: PageInfo = strawberry.field(
        description="Information to aid in pagination."
    )
    edges: list[VehicleFilmsEdge | None] | None = strawberry.field(
        description="A list of edges."
    )
    total_count: int | None = strawberry.field(
        description="""
A count of the total number of objects in this connection, ignoring pagination.
This allows a client to fetch the first five objects by passing "5" as the
argument to "first", then fetch the total count so it could display "5 of 83",
for example.
"""
    )
    films: list[Film | None] | None = strawberry.field(
        description="""
A list of all of the objects returned in the connection. This is a convenience
field provided for quickly exploring the API; rather than querying for
"{ edges { node } }" when no edge data is needed, this field can be be used
instead. Note that when clients like Relay need to fetch the "cursor" field on
the edge to enable efficient pagination, this shortcut cannot be used, and the
full "{ edges { node } }" version should be used instead.
"""
    )

We could allow users to actually write this:
@strawberry.type(description="A connection to a list of items.")
class VehicleFilmsConnection:
    page_info: PageInfo = strawberry.field(
        description="Information to aid in pagination."
    )
    edges: list[VehicleFilmsEdge | None] | None = strawberry.field(
        description="A list of edges."
    )
    total_count: int | None = strawberry.field(
        description="""
            A count of the total number of objects in this connection, ignoring pagination.
            This allows a client to fetch the first five objects by passing "5" as the
            argument to "first", then fetch the total count so it could display "5 of 83",
            for example.
        """
    )
    films: list[Film | None] | None = strawberry.field(
        description="""
            A list of all of the objects returned in the connection. This is a convenience
            field provided for quickly exploring the API; rather than querying for
            "{ edges { node } }" when no edge data is needed, this field can be be used
            instead. Note that when clients like Relay need to fetch the "cursor" field on
            the edge to enable efficient pagination, this shortcut cannot be used, and the
            full "{ edges { node } }" version should be used instead.
        """
    )

which is quite nicer than what we had before, but it would include the spaces in the outputted schema, but we could run textwrap.dedent (plus strip to fix this), what do you think?

we could also revisit the PR to add support for descriptions like this:
@strawberry.type
class VehicleFilmsConnection:
    """A connection to a list of items."""

    page_info: PageInfo
    "Information to aid in pagination."

    edges: list[VehicleFilmsEdge | None] | None
    "A list of edges."

    total_count: int | None
    """
    A count of the total number of objects in this connection, ignoring pagination.
    This allows a client to fetch the first five objects by passing "5" as the
    argument to "first", then fetch the total count so it could display "5 of 83",
    for example.
    """

    films: list[Film | None] | None
    """
    A list of all of the objects returned in the connection. This is a convenience
    field provided for quickly exploring the API; rather than querying for
    "{ edges { node } }" when no edge data is needed, this field can be be used
    instead. Note that when clients like Relay need to fetch the "cursor" field on
    the edge to enable efficient pagination, this shortcut cannot be used, and the
    full "{ edges { node } }" version should be used instead.
    """

but we would still need to dedent (and support passing description to strawberry.field/type)


Change operator glyph to use binding_site SO term (SO:0000409)

The operator glyph should be changed to default to the binding_site SO term (SO:0000409).  However, the operator SO term (SO:0000057) should still render with the operator/binding site glyph, when read from a file.

For this and any other glyphs that have alternative SO terms, create an additional Part in Parts.java that refers to the extra SO term, but add a flag that says do not render this part in the pallet of parts. This should allow load to render correctly, but not allow you to easily create parts with the alternative term.

Fixed


Error: "cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory"

gerrit             | Reindexed 2 documents in projects index in 0.1s (14.7/s)
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory
gerrit             | cp: can't stat '/var/gerrit/delete-project.jar': No such file or directory

Thanks for the issue report.
Let me know if the latest commit fixed your issue.

Bug fixed. Thanks:)


Unexpected characters duplication at the start on tab

Current behavior
As shown in the picture, sometimes when tab is pressed, the shell duplicates the first two character of the command  and is not possible to delete them.
I follow an issue that advice to remove non-ascii character as SPACESHIP_CHAR_SYMBOL (I used to put a lambda there), so I put "~> ", the problem seems to be solved, but it is clearly not.
Expected behavior
Not to happen
Relevant Zsh configuration (.zshrc)
# Spaceship prompt customizzation
SPACESHIP_EXEC_TIME_SHOW=true
SPACESHIP_CHAR_SYMBOL="~> "
#SPACESHIP_CHAR_SYMBOL="λ"
SPACESHIP_USER_COLOR=blue
SPACESHIP_USER_SHOW=always
SPACESHIP_HOST_SHOW=always
SPACESHIP_HOST_COLOR=green
SPACESHIP_EXIT_CODE_SHOW=true
SPACESHIP_EXIT_CODE_SYMBOL="✘ "
SPACESHIP_DIR_TRUNC=5 # all
SPACESHIP_GIT_BRANCH_COLOR=red
SPACESHIP_GIT_STATUS_COLOR=red

SPACESHIP_PROMPT_ORDER=(
  time          # Time stamps section
  user          # Username section
  host          # Hostname section
  dir           # Current directory section
  git           # Git section (git_branch + git_status)
  hg            # Mercurial section (hg_branch  + hg_status)
  package       # Package version
  node          # Node.js section
  ruby          # Ruby section
  elixir        # Elixir section
  xcode         # Xcode section
  swift         # Swift section
  golang        # Go section
  php           # PHP section
  rust          # Rust section
  haskell       # Haskell Stack section
  julia         # Julia section
  docker        # Docker section
  aws           # Amazon Web Services section
  venv          # virtualenv section
  conda         # conda virtualenv section
  pyenv         # Pyenv section
  dotnet        # .NET section
  ember         # Ember.js section
  kubecontext   # Kubectl context section
  terraform     # Terraform workspace section
  exec_time     # Execution time
  line_sep      # Line break
  battery       # Battery level and status
  vi_mode       # Vi-mode indicator
  jobs          # Background jobs indicator
  exit_code     # Exit code section
  char          # Prompt character
)

Environment
Spaceship version: 3.11.1  (use echo $SPACESHIP_VERSION)
Zsh version: zsh 5.7.1 (x86_64-pc-linux-gnu)
Zsh framework: None
Zsh plugin manager: None
Terminal emulator: Deepin Terminal
Operating system: Arch Linux
Screenshot

Possible solution
Hi found out that the issue appear only when the previous command fails, so when there is ✘ 130 ~> at the start of the line .
Seems to be fixed removing the ✘ character. There is a way to use this type of character?

I think this is an issue with zsh itself, this issue solved the problem for me by setting export LC_CTYPE=en_US.UTF-8 in my zshrc.

@SkonTeam thanks... this was driving me nuts and couldn't find a solution until your posted this.

I applied all solutions, as in the previous issue, several exports of en_US.UTF-8 and it didn't work
Does anyone have any solution for this?

I think this is an issue with zsh itself, this issue solved the problem for me by setting export LC_CTYPE=en_US.UTF-8 in my zshrc.

Is this really the fix? I've also seen this issue and it's driving me insane....

I think this is an issue with zsh itself, this issue solved the problem for me by setting export LC_CTYPE=en_US.UTF-8 in my zshrc.

Is this really the fix? I've also seen this issue and it's driving me insane....

I've been seeing this in a docker image. You have to check which UTF-8 locales you have installed first (by running locale -a). So, in my case, only C.UTF-8 was there.


ci: use projen app token in release so we can commit bypassing rules

Fixes failing to push on release.

@mergifyio backport v4

@Mergifyio backport v3


Add safer amount conversion from Stellar amounts to host chain amounts

PR related to this issue https://github.com/pendulum-chain/spacewalk/issues/331

first widen the Stellar amount to u128
multiply with 100_000.

Looks good to me. Can be merged after the typo is fixed

Done.

Thanks. Let's merge once CI passes.


continuous integration with Zenodo

The metadata in this repository should act as the Single Source of Truth for ISMIR proceedings. Downstream consumers, like Zenodo, do not actively pull from this collection, and instead this information must be pushed.
One way to do this would be for the uploader scripts to run on something like Travis-CI on successful pushes to master. Ideally, only deltas would be fixed, though perhaps a full sweep of metadata would be necessary.
There are a few open questions:

how long would it reasonably take for this to run. Zenodo does have rate limiting, and it's unclear if say a 20 min update on Travis is good / bad.
how does travis handle API keys in a secure way? does this require a subscription?
how often is this metadata going to change? if the community is going to be very attentive, this might be worth it. alternatively, writing all the scripts and leaving it as a monthly update on a private machine somewhere is sufficient.

looks like API encryption is straightforward https://docs.travis-ci.com/user/environment-variables/#defining-encrypted-variables-in-travisyml


The documentation and the example don't match

The argument documentation says they're all required, but the example says 4 are optional.
The argument list has totally different sets of which values are valid compared to the example and the names don't match up either.

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

ID: 8cebdaea-9b1f-e65a-a789-6571b5e28c03
Version Independent ID: ca0de77d-d8a7-d766-90e6-929bdb2c877f
Content: Download GitHub Release task - Azure Pipelines
Content Source: docs/pipelines/tasks/utility/download-github-release.md
Product: devops
Technology: devops-cicd
GitHub Login: @ashokirla
Microsoft Alias: ashkir

@oliverholliday Thank you for the feedback, assigning this to the author for review.

The document has been updated and I'll be closing the issue. Thank you for the feedback and feel free to open a new issue if you have any more feedback.