Array query parameters using square brackets cause error

Description
A query parameter representing an array of strings is parsed incorrectly by the deep object processing in the OpenAPIURIParser.
Expected behaviour
For example,  if the path /users/{user_id} has the parameter:
expand:
      in: query
      name: expand
      required: false
      schema:
        type: array
        items:
          type: string
      description: List of fields which should be expanded in the response.

The request URI https://api.example.com/users/123?expand[]=user.profile&expand[]=user.address should pass the array of strings ['user.profile', 'user.address'] to the expand argument of the handler.
Actual behaviour
An TypeError: sequence item 0: expected str instance, dict found exception is thrown on line 237 of decorators/uri_parsing.py.  This is due to the _preprocess_deep_objects method of the OpenAPIURIParser misinterpreting the square brackets and periods for nested notation and converting the query_data from {'expand[]': ['user.profile', 'user.address']} to {'expand': [{'': 'user.profile'}]}
Steps to reproduce
Make a path which accepts a query parameter as described above.  Send a request to the path which uses repeated-key/square-bracket notation for the query parameter.
Additional info:
I would attempt a PR but I'm not familiar enough with the code base.  I was not aware that Connexion had support for nested objects in query parameters so I'm not sure how it should be distinguished from the situation I've described above.  I also didn't see a way to disable it in the code.
Output of the commands:

python --version
Python 3.8.5
pip show connexion | grep "^Version\:"
Version: 2.7.0

[Update]  It looks like the notation for array-based query params isn't standardized.  I was let axios serializing my query params which results in the square bracket notation described above.   I was able to customize the param serialization to use the qs library and disabled square brackets.  This is a workaround if this issue is not considered a bug.

Bump. This is a pretty egregious bug. Both ?ids[]=1&ids[]=2 and ?ids[0]=1&ids[1]=2 are pretty standard ways of passing around multiple values for a single param. This is the default behavior for a number of http libraries in various languages.

Bump. This is a pretty egregious bug. Both ?ids[]=1&ids[]=2 and ?ids[0]=1&ids[1]=2 are pretty standard ways of passing around multiple values for a single param. This is the default behavior for a number of http libraries in various languages.

For axios case, if you switch to qs then json objects passed as string won't work.

The OpenAPI spec defines serialization formats for arrays in the query string. ?ids[0]=1&ids[1]=2 does not seem to be supported. ?ids[]=1&ids[]=2 seems to be the default with a parameter name of ids[].

This issue seems to come from uri_parsing.py :
    def _make_deep_object(self, k, v):
        """ consumes keys, value pairs like (a[foo][bar], "baz")
            returns (a, {"foo": {"bar": "baz"}}}, is_deep_object)
        """
        root_key = None
        if k in self.param_schemas.keys():
            return k, v, False
        else:
            for keys in self.param_schemas.keys():
                if k.startswith(keys):
                    rest = keys.replace(k, '')
                    root_key = rest

In my case I was able to quickly avoid this issue by adding a similar parameters. e.g.
expand:
      in: query
      name: expand
      required: false
      schema:
        type: array
        items:
          type: string
      description: List of fields which should be expanded in the response.
expand[]:
      in: query
      name: expand
      required: false
      schema:
        type: array
        items:
          type: string
      description: List of fields which should be expanded in the response.

Fixed in #1408


Cowboy Handler opentelemetry_cowboy_handlers has failed and has been detached when running compiled binary with rebar3 release command

Describe the bug
Hello everyone,
I had encounter problem about Open Telemetry for Cowboy Erlang will detach
Handler opentelemetry_cowboy_handlers has failed and has been detached. Class=error
when I compile Cowboy project by using command like rebar3 as prod release then I start Erlang binary by using /path/to/erlang-release    [foreground/console] but if I start project with rebar3 shell I will not encounter Handler Detach problem.
Run Erlang Project by using /path/to/erlang-release    [foreground/console] will have error logs like this
Erlang/OTP 24 [erts-12.1.5] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit] [dtrace]

=======Before==============start_link=======Eshell V12.1.5  (abort with ^G)
(dockerwatch@cloudnative)1> *SPANS FOR DEBUG*
=ERROR REPORT==== 17-Dec-2021::10:31:29.735444 ===
Handler opentelemetry_cowboy_handlers has failed and has been detached. Class=error
Reason=undef
Stacktrace=[{otel_telemetry,start_telemetry_span,
                [opentelemetry_cowboy,<<"HTTP GET">>,
                 #{req =>
                       #{body_length => 0,cert => undefined,has_body => false,
                         headers =>
                             #{<<"accept">> =>
                                   <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
                               <<"accept-encoding">> =>
                                   <<"gzip, deflate, br">>,
                               <<"accept-language">> => <<"en-US,en;q=0.9">>,
                               <<"connection">> => <<"keep-alive">>,
                               <<"cookie">> =>
                                   <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
                               <<"host">> => <<"localhost:8083">>,
                               <<"purpose">> => <<"prefetch">>,
                               <<"sec-ch-ua">> =>
                                   <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
                               <<"sec-ch-ua-mobile">> => <<"?0">>,
                               <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
                               <<"sec-fetch-dest">> => <<"document">>,
                               <<"sec-fetch-mode">> => <<"navigate">>,
                               <<"sec-fetch-site">> => <<"none">>,
                               <<"sec-fetch-user">> => <<"?1">>,
                               <<"upgrade-insecure-requests">> => <<"1">>,
                               <<"user-agent">> =>
                                   <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36">>},
                         host => <<"localhost">>,method => <<"GET">>,
                         path => <<"/">>,
                         peer => {{127,0,0,1},62613},
                         pid => <0.626.0>,port => 8083,qs => <<>>,ref => http,
                         scheme => <<"http">>,
                         sock => {{127,0,0,1},8083},
                         streamid => 1,version => 'HTTP/1.1'},
                   streamid => 1},
                 #{}],
                []},
            {opentelemetry_cowboy,handle_event,4,
                [{file,
                     "/Users/yyyy/ProjectCode/yyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/opentelemetry_cowboy/src/opentelemetry_cowboy.erl"},
                 {line,49}]},
            {telemetry,'-execute/3-fun-0-',4,
                [{file,
                     "/Users/yyyy/ProjectCode/yyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/telemetry/src/telemetry.erl"},
                 {line,150}]},
            {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
            {cowboy_telemetry_h,init,3,
                [{file,
                     "/Users/yyyy/ProjectCode/yyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/src/cowboy_telemetry_h.erl"},
                 {line,11}]},
            {cowboy_stream,init,3,
                [{file,
                     "/Users/yyyy/ProjectCode/yyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_stream.erl"},
                 {line,112}]},
            {cowboy_http,after_parse,1,
                [{file,
                     "/Users/yyyy/ProjectCode/yyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_http.erl"},
                 {line,352}]},
            {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]

*SPANS FOR DEBUG*

Project Setup
I'm copy whole file of cowboy_telemetry_h.erl from your github repository then put in to my handler is it correct ?
Also opentelemetry_cowboy:setup() is using before Supervisor had been start like in my picture.

Thank you so much for helping !
Expected behavior
Everything working fine if using rebar3 shell

I'm assume that may be I set dependency incorrect ? but after I inspect file path it seem like I already have it and I can run project with rebar3 shell without any problem.
Additional context

Erlang/OTP 24 on Macbook and Container Image encounter same problem
rebar3
Dependency {cowboy, "2.9.0"},
{opentelemetry_api, "~> 1.0.0-rc.3"},
{opentelemetry, "~> 1.0.0-rc.3"},
{opentelemetry_cowboy, "~> 0.1.0"}

Is the opentelemetry cowboy dependency included in your release? You need to put it in the applications list in the .app.src file of your application or in the list of applications included in the release in the relx configuration, otherwise it is not considered a runtime dependency and that would result in an undef.

Thank you for reply I think I already put opentelemetry cowboy in .app.src

But it still error if I run app from compiled rebar3 application
=======Before==============start_link=======Eshell V12.1.5  (abort with ^G)
(dockerwatch@cloudnative)1> *SPANS FOR DEBUG*
*SPANS FOR DEBUG*
=ERROR REPORT==== 18-Dec-2021::12:25:12.049992 ===
Unhandled exception error:undef in cowboy_stream:init(1, Req, Opts)
Stacktrace: [{cowboy_telemetry_h,init,
                 [1,
                  #{body_length => 0,cert => undefined,has_body => false,
                    headers =>
                        #{<<"accept">> =>
                              <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
                          <<"accept-encoding">> => <<"gzip, deflate, br">>,
                          <<"accept-language">> => <<"en-US,en;q=0.9">>,
                          <<"connection">> => <<"keep-alive">>,
                          <<"cookie">> =>
                              <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
                          <<"host">> => <<"localhost:8083">>,
                          <<"purpose">> => <<"prefetch">>,
                          <<"sec-ch-ua">> =>
                              <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
                          <<"sec-ch-ua-mobile">> => <<"?0">>,
                          <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
                          <<"sec-fetch-dest">> => <<"document">>,
                          <<"sec-fetch-mode">> => <<"navigate">>,
                          <<"sec-fetch-site">> => <<"none">>,
                          <<"sec-fetch-user">> => <<"?1">>,
                          <<"upgrade-insecure-requests">> => <<"1">>,
                          <<"user-agent">> =>
                              <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},
                    host => <<"localhost">>,method => <<"GET">>,
                    path => <<"/">>,
                    peer => {{127,0,0,1},50599},
                    pid => <0.624.0>,port => 8083,qs => <<>>,ref => http,
                    scheme => <<"http">>,
                    sock => {{127,0,0,1},8083},
                    streamid => 1,version => 'HTTP/1.1'},
                  #{connection_type => supervisor,
                    env =>
                        #{dispatch =>
                              [{'_',[],
                                   [{[],[],index_handler,[]},
                                    {[<<"trackings">>],
                                     [],tracking_list_handler,[]},
                                    {[<<"debug">>,<<"orders">>],
                                     [],debug_orders_handler,[]}]}]},
                    stream_handlers => [cowboy_stream_h]}],
                 []},
             {cowboy_stream,init,3,
                 [{file,
                      "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_stream.erl"},
                  {line,112}]},
             {cowboy_http,after_parse,1,
                 [{file,
                      "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_http.erl"},
                  {line,349}]},
             {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]
Req: #{body_length => 0,cert => undefined,has_body => false,
       headers =>
           #{<<"accept">> =>
                 <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
             <<"accept-encoding">> => <<"gzip, deflate, br">>,
             <<"accept-language">> => <<"en-US,en;q=0.9">>,
             <<"connection">> => <<"keep-alive">>,
             <<"cookie">> =>
                 <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
             <<"host">> => <<"localhost:8083">>,
             <<"purpose">> => <<"prefetch">>,
             <<"sec-ch-ua">> =>
                 <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
             <<"sec-ch-ua-mobile">> => <<"?0">>,
             <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
             <<"sec-fetch-dest">> => <<"document">>,
             <<"sec-fetch-mode">> => <<"navigate">>,
             <<"sec-fetch-site">> => <<"none">>,
             <<"sec-fetch-user">> => <<"?1">>,
             <<"upgrade-insecure-requests">> => <<"1">>,
             <<"user-agent">> =>
                 <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},
       host => <<"localhost">>,method => <<"GET">>,path => <<"/">>,
       peer => {{127,0,0,1},50599},
       pid => <0.624.0>,port => 8083,qs => <<>>,ref => http,
       scheme => <<"http">>,
       sock => {{127,0,0,1},8083},
       streamid => 1,version => 'HTTP/1.1'}
Opts: #{connection_type => supervisor,
        env =>
            #{dispatch =>
                  [{'_',[],
                        [{[],[],index_handler,[]},
                         {[<<"trackings">>],[],tracking_list_handler,[]},
                         {[<<"debug">>,<<"orders">>],
                          [],debug_orders_handler,[]}]}]},
        stream_handlers => [cowboy_telemetry_h,cowboy_stream_h]}

=ERROR REPORT==== 18-Dec-2021::12:25:12.050582 ===
Unhandled exception error:undef in cowboy_stream:early_error(2, Reason, PartialReq, Resp, Opts)
Stacktrace: [{cowboy_telemetry_h,early_error,
                 [2,
                  {internal_error,
                      {error,undef},
                      'Unhandled exception in cowboy_stream:init/3.'},
                  #{body_length => 0,cert => undefined,has_body => false,
                    headers =>
                        #{<<"accept">> =>
                              <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
                          <<"accept-encoding">> => <<"gzip, deflate, br">>,
                          <<"accept-language">> => <<"en-US,en;q=0.9">>,
                          <<"connection">> => <<"keep-alive">>,
                          <<"cookie">> =>
                              <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
                          <<"host">> => <<"localhost:8083">>,
                          <<"purpose">> => <<"prefetch">>,
                          <<"sec-ch-ua">> =>
                              <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
                          <<"sec-ch-ua-mobile">> => <<"?0">>,
                          <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
                          <<"sec-fetch-dest">> => <<"document">>,
                          <<"sec-fetch-mode">> => <<"navigate">>,
                          <<"sec-fetch-site">> => <<"none">>,
                          <<"sec-fetch-user">> => <<"?1">>,
                          <<"upgrade-insecure-requests">> => <<"1">>,
                          <<"user-agent">> =>
                              <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},
                    host => <<"localhost">>,method => <<"GET">>,
                    path => <<"/">>,
                    peer => {{127,0,0,1},50599},
                    pid => <0.624.0>,port => 8083,qs => <<>>,ref => http,
                    scheme => <<"http">>,
                    sock => {{127,0,0,1},8083},
                    streamid => 1,version => 'HTTP/1.1'},
                  {response,500,#{<<"content-length">> => <<"0">>},<<>>},
                  #{connection_type => supervisor,
                    env =>
                        #{dispatch =>
                              [{'_',[],
                                   [{[],[],index_handler,[]},
                                    {[<<"trackings">>],
                                     [],tracking_list_handler,[]},
                                    {[<<"debug">>,<<"orders">>],
                                     [],debug_orders_handler,[]}]}]},
                    stream_handlers => [cowboy_stream_h]}],
                 []},
             {cowboy_http,early_error,5,
                 [{file,
                      "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_http.erl"},
                  {line,1424}]},
             {cowboy_http,after_parse,1,
                 [{file,
                      "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_http.erl"},
                  {line,365}]},
             {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]
Reason: {internal_error,{error,undef},
                        'Unhandled exception in cowboy_stream:init/3.'}
PartialReq: #{body_length => 0,cert => undefined,has_body => false,
              headers =>
                  #{<<"accept">> =>
                        <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
                    <<"accept-encoding">> => <<"gzip, deflate, br">>,
                    <<"accept-language">> => <<"en-US,en;q=0.9">>,
                    <<"connection">> => <<"keep-alive">>,
                    <<"cookie">> =>
                        <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
                    <<"host">> => <<"localhost:8083">>,
                    <<"purpose">> => <<"prefetch">>,
                    <<"sec-ch-ua">> =>
                        <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
                    <<"sec-ch-ua-mobile">> => <<"?0">>,
                    <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
                    <<"sec-fetch-dest">> => <<"document">>,
                    <<"sec-fetch-mode">> => <<"navigate">>,
                    <<"sec-fetch-site">> => <<"none">>,
                    <<"sec-fetch-user">> => <<"?1">>,
                    <<"upgrade-insecure-requests">> => <<"1">>,
                    <<"user-agent">> =>
                        <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},
              host => <<"localhost">>,method => <<"GET">>,path => <<"/">>,
              peer => {{127,0,0,1},50599},
              pid => <0.624.0>,port => 8083,qs => <<>>,ref => http,
              scheme => <<"http">>,
              sock => {{127,0,0,1},8083},
              streamid => 1,version => 'HTTP/1.1'}
Resp: {response,500,#{<<"content-length">> => <<"0">>},<<>>}
Opts: #{connection_type => supervisor,
        env =>
            #{dispatch =>
                  [{'_',[],
                        [{[],[],index_handler,[]},
                         {[<<"trackings">>],[],tracking_list_handler,[]},
                         {[<<"debug">>,<<"orders">>],
                          [],debug_orders_handler,[]}]}]},
        stream_handlers => [cowboy_telemetry_h,cowboy_stream_h]}

Oh now I see the issue. Can you try with adding back cowboy_telemetry which you commented out?
That should be a dep of opentelemetry_cowboy I don't know why it isn't. @bryannaegele why is it only a test dependency in the project and not a regular depenency?

Thank you so much for helping in investigated problem I had additional tried many combination like you suggest but it still didn't work if I compile package with rebar3 as prod release then running package ./path/to/binary [console|foreground] I will always got error that I mention about handler detach but it will be working fine with rebar3 shell
Currently it just example Test Project how I can integrate Open Telemetry with Cowboy Erlang so I'am create repository for source code that I currently using so it might easier for debug
My Example Project
https://github.com/wdrdres3qew5ts21/erlang-opentelemetry-rebar3-bug
Here is my current configure

Error Result from running compiled package
yyyy@cloudnative:~/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch > ./_build/prod/rel/dockerwatch/bin/dockerwatch console
Exec: /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch/erts-12.1.5/bin/erlexec -boot /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch/releases/1.0.0/start -mode embedded -boot_var SYSTEM_LIB_DIR /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch/lib -config /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch/releases/1.0.0/sys.config -args_file /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch/releases/1.0.0/vm.args -- console
Root: /Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch
/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/prod/rel/dockerwatch
Erlang/OTP 24 [erts-12.1.5] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit] [dtrace]

=======Before==============start_link=======Eshell V12.1.5  (abort with ^G)
(dockerwatch@cloudnative)1> {span,316792068077456112863315701682356462357,17280368113408128674,[],undefined,<<"HTTP GET">>,internal,-576460681674703000,-576460681652019000,[{'http.client_ip',<<"<IP_ADDRESS>">>},{'http.flavor','1.1'},{'http.host',<<"localhost">>},{'http.host.port',8083},{'http.method',<<"GET">>},{'http.scheme',<<"http">>},{'http.target',<<"/">>},{'http.user_agent',<<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},{'net.host.ip',<<"<IP_ADDRESS>">>},{'net.transport','IP.TCP'},{'http.request_content_length',0},{'http.response_content_length',92},{'http.status',200}],[],[],undefined,1,false,undefined}=ERROR REPORT==== 18-Dec-2021::22:56:56.807861 ===
Handler opentelemetry_cowboy_handlers has failed and has been detached. Class=error
Reason=undef
Stacktrace=[{otel_telemetry,start_telemetry_span,
                [opentelemetry_cowboy,<<"HTTP GET">>,
                 #{req =>
                       #{body_length => 0,cert => undefined,has_body => false,
                         headers =>
                             #{<<"accept">> =>
                                   <<"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9">>,
                               <<"accept-encoding">> =>
                                   <<"gzip, deflate, br">>,
                               <<"accept-language">> => <<"en-US,en;q=0.9">>,
                               <<"cache-control">> => <<"max-age=0">>,
                               <<"connection">> => <<"keep-alive">>,
                               <<"cookie">> =>
                                   <<"s_fid=737CE1562D9C2574-0BD2980522487B59; _ga=GA1.1.154107132.1625138202; ai_user=3BShZm2OqNNQggPlYdNDXo|2021-08-23T08:23:54.731Z; MicrosoftApplicationsTelemetryDeviceId=e81308c7-b4d5-4479-9b90-6a7cc10880a8; MSFPC=GUID=f0b25916852047deb2fcd15c12d84da6&HASH=f0b2&LV=202106&V=4&LU=1622518798816; django_language=en; optimizely-user-id=3yvznvqrba.9; AMCV_D10F27705ED7F5130A495C99%40AdobeOrg=359503849%7CMCMID%7C21585024227443696071629298091785840441%7CMCAAMLH-1630552041%7C3%7CMCAAMB-1630552041%7CRKhpRz8krg2tLO6pguXWp5olkAcUniQYPHaMWWgdJ3xzPWQmdj0y%7CMCOPTOUT-1629954441s%7CNONE%7CvVersion%7C5.0.1; OPTOUTMULTI=0:0%7Cc1:1%7Cc2:0%7Cc3:0; utag_main=v_id:017b7d1689740004500708d7b69100087000c07f00781$_sn:3$_se:5$_ss:0$_st:1629953950624$is_country_requiring_explicit_consent:false$dc_visit:3$ses_id:1629952150171%3Bexp-session$_pn:1%3Bexp-session$dc_event:1%3Bexp-session$mm_sync:1%3Bexp-session$mm_ga_sync:1%3Bexp-session$dc_region:ap-east-1%3Bexp-session; _mkto_trk=id:157-GQE-382&token:_mch--1629707035373-12244; ajs_anonymous_id=63beef76-095f-4e7b-b106-cc406694c7d0">>,
                               <<"host">> => <<"localhost:8083">>,
                               <<"sec-ch-ua">> =>
                                   <<"\" Not A;Brand\";v=\"99\", \"Chromium\";v=\"96\", \"Google Chrome\";v=\"96\"">>,
                               <<"sec-ch-ua-mobile">> => <<"?0">>,
                               <<"sec-ch-ua-platform">> => <<"\"macOS\"">>,
                               <<"sec-fetch-dest">> => <<"document">>,
                               <<"sec-fetch-mode">> => <<"navigate">>,
                               <<"sec-fetch-site">> => <<"none">>,
                               <<"sec-fetch-user">> => <<"?1">>,
                               <<"upgrade-insecure-requests">> => <<"1">>,
                               <<"user-agent">> =>
                                   <<"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36">>},
                         host => <<"localhost">>,method => <<"GET">>,
                         path => <<"/">>,
                         peer => {{127,0,0,1},53206},
                         pid => <0.622.0>,port => 8083,qs => <<>>,ref => http,
                         scheme => <<"http">>,
                         sock => {{127,0,0,1},8083},
                         streamid => 1,version => 'HTTP/1.1'},
                   streamid => 1},
                 #{}],
                []},
            {opentelemetry_cowboy,handle_event,4,
                [{file,
                     "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/opentelemetry_cowboy/src/opentelemetry_cowboy.erl"},
                 {line,49}]},
            {telemetry,'-execute/3-fun-0-',4,
                [{file,
                     "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/telemetry/src/telemetry.erl"},
                 {line,150}]},
            {lists,foreach,2,[{file,"lists.erl"},{line,1342}]},
            {cowboy_telemetry_h,init,3,
                [{file,
                     "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy_telemetry/src/cowboy_telemetry_h.erl"},
                 {line,11}]},
            {cowboy_stream,init,3,
                [{file,
                     "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_stream.erl"},
                 {line,112}]},
            {cowboy_http,after_parse,1,
                [{file,
                     "/Users/yyyy/ProjectCode/yyyy/yyyy-opentracing-demo/tracing-tracking-service/dockerwatch/_build/default/lib/cowboy/src/cowboy_http.erl"},
                 {line,326}]},
            {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,226}]}]

*SPANS FOR DEBUG*
*SPANS FOR DEBUG*

@bryannaegele why is it only a test dependency in the project and not a regular depenency?

It's already provided and configured in plug_cowboy so I probably wasn't really thinking about including it as a direct dep of this for usage of cowboy. I tried calling out that using cowboy directly requires additional setup but didn't mention you'd need to add that dependency.
It's probably fine to just add it as a normal dep here.

@bryannaegele I'm using Cowboy and I think I already adding basic setup which required for Cowboy is include cowboy_telemetry like in my picture (first comment) but it still didn't work.If you don't mind you can try to clone my example project  that I provide to test it out ? Or if you need any more information to investigate please let's me know :)
My Example Project
https://github.com/wdrdres3qew5ts21/erlang-opentelemetry-rebar3-bug

@wdrdres3qew5ts21 thanks for the example project! That made it quick to find the fix.
I noticed otel_telemetry.beam was only in ./_build/default/lib/opentelemetry_telemetry/ebin/otel_telemetry.beam and not in the release, meaning that app wasn't being included.
So after I added opentelemetry_telemetry to the applications list in src/dockerwatch.app.src it worked.

@bryannaegele aaah, yea, definitely needs to be added as a dependency because of cowboy usage by non-Plug users. Don't forget about the Erlangers ;)

@tsloughter  OMG !!! It working now like you said thank you so much for helping 😭😭😭
I had curious why I do manually added opentelemetry_telemetry  to src/dockerwatch.app.src normally it should be working automatically right ? If I added dependency like Open Telemetry said here.

So for Erlang with Cowboy it need to manually add opentelemetry_telemetry  because it not automatically appear in release with rebar3 release command right ?

@wdrdres3qew5ts21 yea, I think it is missing from the opentelemetry_cowboy dependency. So once it is added there and a new version is published you shouldn't need it in your .app file.

Thank you so much for help ! issues closed happy holiday !


Why can't I install 'manimlib'?

Window 10, manim version:(Tony031218 Merge pull request #1268 from niedong/ci-fix)
I installed Python 3.9.0 and Pycairo-1.20.0-cp39-cp39-win_amd64.whl.
This is how the current file is installed.

C:\ffmpeg
C:\sox-14-4-2
D:\manim
D:\Program Files\MiKTeX
C:\Users\Admini\AppData\Local\Programs\Python\Python39

When I installed requirements.txt in cmd, 'The wheel package is not available' appeared and the rest of the files were installed. It pops up like this when you try to install it again.
/////////////////////
D:\manim>python -m pip install -r requirements.txt
Requirement already satisfied: argparse in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 1)) (1.4.0)
Requirement already satisfied: colour in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 2)) (0.1.5)
Requirement already satisfied: numpy in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 3)) (1.19.4)
Requirement already satisfied: Pillow in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 4)) (8.0.1)
Requirement already satisfied: progressbar in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 5)) (2.5)
Requirement already satisfied: scipy in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 6)) (1.5.4)
Requirement already satisfied: tqdm in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 7)) (4.53.0)
Requirement already satisfied: opencv-python in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 8)) (<IP_ADDRESS>)
Requirement already satisfied: pycairo in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 9)) (1.20.0)
Requirement already satisfied: pydub in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 10)) (0.24.1)
Requirement already satisfied: pygments in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 11)) (2.7.2)
Requirement already satisfied: pyreadline in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 12)) (2.1)
////////////////////////
I also updated my 'pip' because I kept getting warnings.
////////////////////////
C:\Users\Admini>pip3 install --upgrade pip
Collecting pip
Using cached pip-20.2.4-py2.py3-none-any.whl (1.5 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.2.3
Uninstalling pip-20.2.3:
Successfully uninstalled pip-20.2.3
///////////////////////////
But there was an error when I tried to install 'manimlib'.
///////////////////////////
D:\manim>python -m pip install manimlib
Collecting manimlib
Using cached manimlib-0.1.11.tar.gz (4.8 MB)
ERROR: Command errored out with exit status 1:
command: 'C:\Users\Admini\AppData\Local\Programs\Python\Python39\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.py'"'"'; file='"'"'C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Admini\AppData\Local\Temp\pip-pip-egg-info-a0b1uyus'
cwd: C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib
Complete output (23 lines):
WARNING: The wheel package is not available.
ERROR:root:Error parsing
Traceback (most recent call last):
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\core.py", line 96, in pbr
attrs = util.cfg_to_args(path, dist.script_args)
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\util.py", line 271, in cfg_to_args
pbr.hooks.setup_hook(config)
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks_init_.py", line 25, in setup_hook
metadata_config.run()
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks\base.py", line 27, in run
self.hook()
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks\metadata.py", line 25, in hook
self.config['version'] = packaging.get_version(
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\packaging.py", line 862, in get_version
version = _get_version_from_pkg_metadata(package_name)
File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\packaging.py", line 830, in get_version_from_pkg_metadata
pkg_metadata = email.message_from_file(pkg_metadata_file)
File "C:\Users\Admini\AppData\Local\Programs\Python\Python39\lib\email_init.py", line 54, in message_from_file
return Parser(*args, **kws).parse(fp)
File "C:\Users\Admini\AppData\Local\Programs\Python\Python39\lib\email\parser.py", line 53, in parse
data = fp.read(8192)
UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 2512: illegal multibyte sequence
error in setup command: Error parsing C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.cfg: UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 2512: illegal multibyte sequence
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output
////////////////////////////////////////
What should I do?

Same error here

Window 10, manim version:(Tony031218 Merge pull request #1268 from niedong/ci-fix)
I installed Python 3.9.0 and Pycairo-1.20.0-cp39-cp39-win_amd64.whl.
This is how the current file is installed.

C:\ffmpeg
C:\sox-14-4-2
D:\manim
D:\Program Files\MiKTeX
C:\Users\Admini\AppData\Local\Programs\Python\Python39

When I installed requirements.txt in cmd, 'The wheel package is not available' appeared and the rest of the files were installed. It pops up like this when you try to install it again. ///////////////////// D:\manim>python -m pip install -r requirements.txt Requirement already satisfied: argparse in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 1)) (1.4.0) Requirement already satisfied: colour in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 2)) (0.1.5) Requirement already satisfied: numpy in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 3)) (1.19.4) Requirement already satisfied: Pillow in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 4)) (8.0.1) Requirement already satisfied: progressbar in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 5)) (2.5) Requirement already satisfied: scipy in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 6)) (1.5.4) Requirement already satisfied: tqdm in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 7)) (4.53.0) Requirement already satisfied: opencv-python in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 8)) (<IP_ADDRESS>) Requirement already satisfied: pycairo in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 9)) (1.20.0) Requirement already satisfied: pydub in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 10)) (0.24.1) Requirement already satisfied: pygments in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 11)) (2.7.2) Requirement already satisfied: pyreadline in c:\users\admini\appdata\roaming\python\python39\site-packages (from -r requirements.txt (line 12)) (2.1) ////////////////////////
I also updated my 'pip' because I kept getting warnings. //////////////////////// C:\Users\Admini>pip3 install --upgrade pip Collecting pip Using cached pip-20.2.4-py2.py3-none-any.whl (1.5 MB) Installing collected packages: pip Attempting uninstall: pip Found existing installation: pip 20.2.3 Uninstalling pip-20.2.3: Successfully uninstalled pip-20.2.3 ///////////////////////////
But there was an error when I tried to install 'manimlib'. /////////////////////////// D:\manim>python -m pip install manimlib Collecting manimlib Using cached manimlib-0.1.11.tar.gz (4.8 MB) ERROR: Command errored out with exit status 1: command: 'C:\Users\Admini\AppData\Local\Programs\Python\Python39\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.py'"'"'; file='"'"'C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Admini\AppData\Local\Temp\pip-pip-egg-info-a0b1uyus' cwd: C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib Complete output (23 lines): WARNING: The wheel package is not available. ERROR:root:Error parsing Traceback (most recent call last): File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\core.py", line 96, in pbr attrs = util.cfg_to_args(path, dist.script_args) File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\util.py", line 271, in cfg_to_args pbr.hooks.setup_hook(config) File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks__init__.py", line 25, in setup_hook metadata_config.run() File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks\base.py", line 27, in run self.hook() File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\hooks\metadata.py", line 25, in hook self.config['version'] = packaging.get_version( File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\packaging.py", line 862, in get_version version = get_version_from_pkg_metadata(package_name) File "c:\users\admini\appdata\local\temp\pip-install-0zvo25zb\manimlib.eggs\pbr-5.5.1-py3.9.egg\pbr\packaging.py", line 830, in get_version_from_pkg_metadata pkg_metadata = email.message_from_file(pkg_metadata_file) File "C:\Users\Admini\AppData\Local\Programs\Python\Python39\lib\email__init.py", line 54, in message_from_file return Parser(*args, **kws).parse(fp) File "C:\Users\Admini\AppData\Local\Programs\Python\Python39\lib\email\parser.py", line 53, in parse data = fp.read(8192) UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 2512: illegal multibyte sequence error in setup command: Error parsing C:\Users\Admini\AppData\Local\Temp\pip-install-0zvo25zb\manimlib\setup.cfg: UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 2512: illegal multibyte sequence ---------------------------------------- ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output ////////////////////////////////////////
What should I do?

Please check your manim edition is between 3.7 and 3.9 .And you has installed LaTex and FFmpeg.
And here is some website for you:
https://docs.manim.community/en/stable/installation.html
https://docs.manim.org.cn/getting_started/installation.html
http://3b1b.github.io/manim/getting_started/installation.html


UNMET PEER DEPENDENCY

When i try to install tslint globally by:
npm install -g tslint
I get this error:
UNMET PEER DEPENDENCY<EMAIL_ADDRESS>I assume it says i have to have typescript version bigger than 1.7.3
I have typescript installed globally version 1.8.2
When i list installed packages it shows installed.
On Windows.

I am moving this to correct repo.


[Feature] Read variables from .env files

Possibility to read variables directly from .env files in the root folder

Hi @andremacola, that's a nice idea, we could inject the contents as variables for the requests.

It could be interesting to implement the same syntax as this REST client for VSCode.


Further improvements in Pull and Status calculation

This may be one or several bugs or improvements to be done. Still investigating it ...
And for the context: it's ZIP importing, but I'm sure the same will be with online
Let's suppose I have an object, I moved it to another package (1 to 2) and changed. Here is what I get:

And also

Expected vs reality:

File status is misleading: the prog 2 is added remotely, not deleted locally. Also the change is not indicated
"Multiple files with same filename, zdesertest1.prog.abap" message is excessive - it is not so, it is because of package reassignment
The State in pull dialog is empty (and it is not the bug of pull dialog but of object_checks->warning_overwrite_find)
Last but not least: the action is wrong. It is not package reassignment but also a change. The change is hidden here and this is bad, it leads to wrong overview. The status and reassignment should be reflected independently (different actions ?)

More on point 4: package reassignments make a mess in complex deployments. It would be nice to be able to run reassignment first (maybe even separately from deserialization) to see a clearer status after it.
Also in additional to the #6090 I this the "Select category" should have also options line "Reassignment only", "New only" ... Although it can be also filtered ... so just an idea.
Will have a look on these

we still dont have enough information to determine if it was removed/added/updated in remote/local...

For this particular case I have a suspect: the ZCL_ABAPGIT_FILE_STATUS=>PROCESS_REMOTE overwrites the status
      IF sy-subrc = 0 AND <ls_remote>-filename <> zcl_abapgit_filename_logic=>c_package_file.
        <ls_result>-match = abap_false.
        <ls_result>-lstate = zif_abapgit_definitions=>c_state-deleted.
        <ls_result>-rstate = zif_abapgit_definitions=>c_state-unchanged.

Before that, the status was correct. But ... still studying it
Also I have a feeling that there is an issue with checksums for ZIP. They are empty. Although I run recalculate explicitly. Strange. Also maybe if the check sums are empty they should be populated with local state (in ZCL_ABAPGIT_FILE_STATUS=>CALCULATE_STATUS). But also still studying it ...

And also the packmove flag seems to be not strict enough - it is set only for the case files are similar, but it's wrong. Or can be set for file and not for the other (XML and not abap)
* process_local
        " Check if same file exists in different location
        READ TABLE ct_remote ASSIGNING <ls_remote>
          WITH KEY file
          COMPONENTS filename = <ls_local>-file-filename.
        IF sy-subrc = 0 AND <ls_local>-file-sha1 = <ls_remote>-sha1. <<<<<<<<< WRONG
          <ls_result>-packmove = abap_true.

checksum and status calculation logic should probably be written somewhere in words. Or heavily commented. It's very difficult to judge (or remember ;) why this or that was done in the first place ...
E.g. the checksums. There is ZCL_ABAPGIT_REPO_CHECKSUMS->BUILD_CHECKSUMS_FROM_FILES (probably even written by me). It is used only for the rebuil_checksums. And it takes remote into account. But for example for ZIP it is not correct. Cause it just treats all files as new and does not calculate the CSs.

the checksums were initially added to determine if files had been over written locally since last pull

Yes, I know. My point is that it does not work accurate for offline repos at the moment. But I'll have a look on it.

IMHO we first need to fix the status, in order to fix the checksums
change status to only be
1: file only exists locally
2: file only exists remotely
3: files differ
then the checksums can/should be updated after pull, and only used to determine if files were changed locally to give overwrite errors when pulling

If we reduce the status to one value (not separate local/remote), then there's no way to tell from which direction the change was made. Therefore, it won't be possible to decide which colors to use in diffs... red/green or green/red.
The current system works well in the most common cases (like working within one branch). I can always tell, if it's a change that I didn't push (M-) or a change I didn't pull yet (-M) or if both sides where changed, which requires conflict resolution (MM). With just "different", we loose this essential info.
We can change it. My only ask is that we spec out how it should work beforehand.

I never look at the "M" status, because I know its sometimes wrong. Personally I'd rather have correct bad information than smart incorrect information.

One more minor question on the way. Why zcl_abapgit_file_status belongs to OBJECTS_CORE ? It is more a repo logic. And as well as the zcl_abapgit_objects_check which uses it. Just for re-consideration

and zcl_abapgit_item_state

🤷♂ move it? 🚚

zcl_abapgit_objects->deserialize/_check depend on the classes you mentioned and we tried to move as dependencies out of $abapgit_objects to subpackages. but maybe the logic of which objects will/should be deserialized should to be outside of the object logic. quite a bit of refactoring...

Any ideas where SELECT SINGLE editflag FROM trnspace INTO ls_trnspace-editflag WHERE namespace = lv_namespace. from ZCL_ABAPGIT_FILE_STATUS=>CHECK_NAMESPACE would fit ? In case of decoupling the direct select ? zcl_abapgit_sap_package ? Or a separate new class ? Nothing critical but I just thought that would be nice to get rid of direct select in file_status class

trnspace: just make a new class zcl_abapgit_namespace, there is probably more somewhere that can/should be moved to it

zcl_abapgit_namespace created in #6124

Followups from #6093:

Actually one usability concern ... intuitively, I'd expect that "Select All" (and also Deselect All) is applied to visible records ... Although it is not a hard rule and also a matter of habit, but may be a source of confusion ...

certainly confusing ... to be fixed, maybe even remove the "partial" button. Or leave it for line selected by mouse only (the scenario from Marc)

"OK" (the default) should be on the left @mbtools  @christianguenter2

pro: same place for main buttons independent of other buttons layout (mouse user focused scenario)
con: key navigation scenario: ... used to mark stuff with arrow keys and Space/Enter and then to press CTRL+TAB, Enter to continue
option: change combination for OK ?
...

Maybe Ctrl-S for continue ? Or F2 (and move SEL_CAT to F8) ? @christianguenter2 what do you think ?

CTRL+S seems like a good choice.


[Bug] . operator doesn't perform normally

var foo = 1
var bar = 'a'
var baz = 'z'
var foobar = foo + bar
var foobarbaz = foo + bar + baz

move cursor to line 1;
execute A;
var foo = 1;
var bar = 'a'
var baz = 'z'
var foobar = foo + bar
var foobarbaz = foo + bar + baz

then execute j.  vscode just went into insert mode without changing the text.But vim/neovim will perform normally.
Expected
var foo = 1;
var bar = 'a';
var baz = 'z'
var foobar = foo + bar
var foobarbaz = foo + bar + baz

Dup of https://github.com/asvetliakov/vscode-neovim/issues/209


Enhancement: Test the question format

I would like permission to test to see if the questions contain all the necessary data and if it is readable. Testing everything is generally important and I have enjoyed doing it for a side project for someone else.

and if it is readable

Not sure what you mean by readable?
Can you explain more on that?
Thanks 👍

Basically I wanna ensure each question can be parsed.
E.g Something like
  {
    const sampleQuestion = { Question:"Some question" Answer:"Answer", Distractor1:"Distractor","Distractor2:"Distractor2",
    "Distractor3", Explanation:"Explanation", Link:"Link" };

    expect(input).toMatchObject<Question>(sampleQuestion);
  })```

sure, that would be fine 👍

I have an issue with this question:
https://github.com/freeCodeCamp/Developer_Quiz_Site/blob/68240da03236e6309f214050295d06b989b7713f/src/data/full-quiz.ts#L73-L83
There is a question with the property "Diatractor3" instead of "Distractor3". Should I put this into the same pull request as my test or fix it separately?


Enh - Enumerate Software Installations on all Site Systems

Get the installed applications on each site system.

Will incur additional runtime due to WMI behavior with Win32_Product queries.  Not querying for non-installed (e.g. portable) apps yet.

Fixed in 1.0.4


Fix improvement and cleanup for micro

Fixed package counts consistency from 18/102/116 to 18 on all build
environments.
Cleanup: The image size reduced from 36MB to 35.8MB(x86_64), 50.6MB(aarch64).
Fixed: Creates missing /run/lock

Signed-off-by: Elkhan Mammadli<EMAIL_ADDRESS>

@LKHN How are you building aarch64 builds?

@LKHN How are you building aarch64 builds?

With first method on AWS Graviton2 based EC2 instance with AlmaLinux AMI.

@LKHN @ezamriy Please setup an amazon accout for my dev/testing


🐛 No localization for the error text if the email or password is wrong

Is there an existing issue for this?

[X] I have searched the existing issues and found no duplicates.

What plugin is this bug for?
Firebase UI Auth
What platform(s) does this bug affect?
macOS
List of dependencies used.
firebase_core: ^3.6.0
firebase_auth: ^5.3.1
firebase_ui_auth: ^1.16.0
firebase_crashlytics: ^4.1.3
google_sign_in: ^6.2.1
firebase_ui_oauth_google: ^1.4.0
Steps to reproduce
Login with an incorrect email address.
Expected Behavior
After overriding every localization it seems that nothing sets the error message.
Actual Behavior

Additional Information
No response

    MaterialApp(
      localizationsDelegates: [
        FirebaseUILocalizations.withDefaultOverrides(const LabelOverrides()),
      ],

      home: AuthGate(appConfig: appConfig),

LabelOverrides.dart.txt

Also, is this project being officially supported by anyone?  @russellwheatley / @lesnitsky perhaps you know?

Unfortunately I don't have the time to open a PR at the moment but maybe early next year.  Keep open please (personally I'd have categorised this as a bug).


Levels at treemap chart

Is it possible to have more than 5 levels (styles) definitions in treemap? Because currently my 5th and 6th level get duplicated styles

Nevermind, setting the leafDepth is better option.


Switch preformatted docs text from pluses to backticks

Previously, the generator was transforming backticks in comments (signifying preformatted text in markdown) to plus signs (which was the corresponding rdoc syntax). Since we are on YARD and using markdown, I had that transform removed. This PR is the result of resynthing every gem with the changed gapic. This will fix a lot of preformatted strings in the docs.
One detail: Previously we were indiscriminately escaping curly braces in comments to stop YARD from trying to interpret them as links. However, a lot of those were in preformatted spans, and now that those are properly recognized (using backticks), I had to reverse the escaping for braces that appear between backticks. So the regex is a bit more complex: it only escapes braces that are outside a backtick span. That seems to be doing the right thing in the cases I've reviewed.

yeah we can merge any time. Note this PR includes the changes in https://github.com/GoogleCloudPlatform/google-cloud-ruby/pull/2435 (because it includes a regen of kms) so after merging we should close that other one.

I'll go ahead and merge.


Failing tests:  Update tox, gh workflows so tests run successfully.

G'day folks,
While working on my version of django-taggit to learn more about Django, taggit, and test some ideas I have found a few items that can help the failing tests.  The items below have made all my tests work ok.
GitHub workflow.

Add a workaround for tests to pass, see issue https://github.com/actions/setup-python/issues/544.  Users have pinned to ubuntu20.04 until a solution is found.
Update actions/checkout@v2 to actions/checkout@v3 to silence deprecation warnings.

Django tox test matrix.

dj-main has minimum py3.10.

I'm working on a PR and it should come through a bit later.
cheers

Thanks for this report! I included your changes in other changes the other day


application/xml representation

I just recently pulled the source for WebApi.Hal, including the sample Beers application.  I was quickly able to run and test the application by supplying either a application/hal+json or application/hal+xml Accept header.  If no header is supplied it returns json by default with null hypermedia.  If I supply an application/xml Accept header it still returns json.
How can I get it to return an xml format with null hypermedia for an application/xml Accept header?
In short, the standard xml representation does not work.
Thanks,
Brian

The sample outputs ordinary JSON because the default .Net JSON serializer doesn't suffer from the same requirements as the default .Net xml serializer which requires POCOs to be marked as serializable or to enable data contract serialization.
The beer sample POCOs aren't set up for the default .Net xml serializer. The sample was for testing and demonstrating HAL, not ordinary xml.
However, if you want the sample to output ordinary xml, put this in the global.asax.cs where it is registering the media formatters:
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseDataContractSerializer = true;

Brook,
Thank you for your prompt response.  I did try the solution you proposed and it did not work, it still returns json.  The only thing that I've come up with so far is to add this SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/xml")); to the XmlHalMediaTypeFormatter constructor which essentially then behaves identically to the hal+xml representation.
I would still like to figure out how to get the plain xml representation to work however.  I can see a use case where a legacy consumer would want to use my API to consume xml.  Further, I see benefit in being able to turn hal on\off from the consumer's perspective to reduce the payload in a production environment.
Any advice is appreciated.

I totally agree the client should be able to specify their desired format, and do so using the accept header. Setting the UseDataContractSerializer true is a suggestion I found in searching for how to enable xml in .net webapi. It seems others are having the exact same problem with webapi in general.
I found the following two links, which you might consult to see if it gives you some assistance. Once you've figured it out, please post back here and we can change the beer sample accordingly.
http://forums.asp.net/t/1787054.aspx?XML+
http://forums.asp.net/t/1804419.aspx?how+to+set+a+Web+API+REST+service+to+always+return+XML+not+JSON

By the way, both of those links suggest to set UseDataContractSerializer true, and they both say it worked. I'd be curious to know, once you figure it out, why doing this in the beer sample fails.

closing stale issue


Implement OIDC signout() capability

Implement OIDC signout() - use the OIDC Session spec signout capability.

Implemented, closing.


Add system tests

This PR adds tests for aubreylib.system and adds automated test set up.

@somexpert @jason-ellis @jthomale  this PR adds tests for aubreylib/system.py in preparation of making changes to the code.

:thumbsup:

:+1:


Installation fails when system modes src is a symbolic link

Minor, low-priority issue but curious:
The system modes package build/installation seems to fail, if the package sources are not placed in the ros2 workspace, but just (symbollically) linked into the workspace

Could not reproduce, @nielsvd.
Tried on Ubuntu 20.04, symbolic link in ROS2 2 workspace pointing to system modes sources outside the workspace. Symbolic link was not spanning any directories without read access, though.

Do you want to look into this further, @nielsvd?


feat: add function to process innerHTML instead and return value (#37)

Add a new function lineNumbersValue to take in a string of html, usually it's the returned value of hljs.highlight(), and add line number to the markup.
Also change the function run synchronously compared to lineNumbersBlock because setTimeout makes it difficult to use the returned value.

Thank you for help, I'll some refactor and merge to master asap.

@wcoder Sweet! Thanks!


Multiselect?

Is there an option, or any future plans to allow selecting multiple images?

#119

https://github.com/ivpusic/react-native-image-crop-picker


Standard Mount

I see that there are BindMount / OverlayMount / etc. mount options, but nothing for mounting directly.
Would this project be open to obtaining a more generic Mount type?

I'm not sure what is a "generic mount". But yes more ways to mount, in particular mounting real filesystems (like ext4 or xfs) are welcome.

You may be interested in sys-mount, which I published for this purpose. Also handles loopback devices when mounting ISO and squashfs files.


CIN-1669: Back to table view link works as expected

changed URL for back to table link

The “back to table” menu link is entirely missing (does not show up at all in the UI), not just broken.
Also noticed the table link next to the record dropdown menu doesn’t link to the right place (just links to /metaforms. Not sure if that's a result of running in the sandbox but in production it correctly links to the table the form is based off of.

Hi @cinchy-m , I have resolved above comments and push my changes to branch . Please verify the changes on QA environment.

@alvin-h @cinchy-yogeshjagtap all looks good to me

@cinchy-yogeshjagtap The link now works but only when a record is loaded. This is how it should work:

If a record is loaded, the link should point to the table filtered to the record that was loaded in the form (this works)
If no record is loaded, the link should point to the table with no filters applied (this is broken)


Rainbow Bridge: update risks

Rainbow Bridge has a Smart Contract section that has "Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL)." statement. The statement is not applied in this case as these contracts are non-upgradeable.

Ethereum-side contracts are located here:
Mainnet

Accounts
Mainnet

Near on Eth Client
0x3FEFc5A4B1c02f21cBc8D3613643ba0635b9a873

Prover on Eth
0x051ad3f020274910065dcb421629cd2e6e5b46c4

Ed25519
0x88f975d5a1153ea92af66e7c4292576a329c04b6

Erc20 Locker
0x23ddd3e3692d1861ed57ede224608875809e127f

ENear Locker
0x85F17Cf997934a597031b2E18a9aB6ebD4B9f6a4

EthCustodian
0x6BFaD42cFC4EfC96f529D786D643Ff4A8B89FA52

Admin multisig
0x2468603819Bf09Ed3Fb6f3EFeff24B1955f3CDE1

Contracts are indeed not upgradable. Though the admin multisig may change the links to the sub-contracts that are called.

If the multisig can change links to the sub-contracts, then technically (sub)contracts are upgradable


Cannot Add datasource in Grafana 3.1.0, There is no API or Application Field

There isn't a field to add the API key or the Application ID when I add a datasource. I am running grafana 3.1.0.
https://cloud.githubusercontent.com/assets/2660564/20686138/a5dc4576-b574-11e6-835b-7f98491d516a.png
When I click on Save & Test I get an error saying that I didn't specify an API key. After looking at the console I see it is sending a HTTP GET request to api.newrelic.com/applications/undefined and getting a 401 response.

Never mind, it was a permissions issue, my apologies


⚠ Bofrost.lu has degraded performance

In 7f1ce48, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 3199 ms

Resolved: Bofrost.lu performance has improved in 069fdd3 after 6 minutes.


No output message from envjs when installing JMVC from Git

Hi,
I've just installed JavascriptMVC from Git, following the tutorial : http://javascriptmvc.com/docs.html#!developwithgit
I created a new cookbook app : ./js jquery/generate/app cookbook
Then I ran the following command :
$ ./js funcunit/run envjs cookbook/qunit.html
Opening file:///tmp/tmp_project/static/cookbook/qunit.html
starting steal.browser.envjs
$
There is no output message from envjs.
I tried with the Zip file - http://javascriptmvc.com/builder.html - the output is not the same :
$ ./js funcunit/run envjs cookbook/qunit.html
Using Default Settings
starting steal.browser.envjs
cookbook
cookbook testing works
[x] an assert is run
Time: 20 seconds, Memory: 55.13 MB
OK (1 tests, 1 assertions)
$
Thank you for your support
Jon

fixed, thanks for reporting


pydantic.v1 is broken

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
The issue https://github.com/pydantic/pydantic/issues/6694 was not resolved or completed correctly.
The below code sample works in v2, but not v1.10.15.
Example Code
from pydantic.v1.color import Color
from pydantic.v1.fields import ModelField

Python, Pydantic & OS Version
pydantic v1.10.15

Affected Components

[X] Compatibility between releases
[ ] Data validation/parsing
[ ] Data serialization - .model_dump() and .model_dump_json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - model_construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

@AngellusMortis,
Indeed, looks like things weren't fully implemented there. PR welcome with a fix! This is relatively low priority though, given that it's on the V1 end of things.

I believe this may be fixed by https://github.com/pydantic/pydantic/pull/9162

^^ closed by https://github.com/pydantic/pydantic/pull/9162, thanks!


Update the Unsupported SKUs for IKEv1

This needs to be updated as it does not address the other legacy SKUs which are not supported to use IKEv2.
I am internal and had SRs due to needing more clarity here. Please update this or include a statement somewhere else to address which SKUs do not support IKEv1.

@bbrown519 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#reassign:yushwang

#sign-off

@yushwang: I'm sorry - only the author of this article, @cherylmc, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

@Jak-MS : Thanks for your contribution! The author(s) have been notified to review your proposed change.


SSR High Mass System

I'm using the MAX6675 sTune QuickPID example.
I'm using a 25A SSR to control a 190W heater, it's heating up a plate of aluminum (with Max6675 k type probe). I've tried a few different settings but it doesn’t seem to heat up fast enough, it struggles to maintain heat.
Temp is set at 80C
Thanks!

Perhaps the heater power rating is too low for the quicker response you need.
If manually turning on the heater (full on), how long does it take for the temperature to reach 80C ?
Could you show the example code you're using?
What type of heater (PTC?) and SSR are you using?

I ran a test and it took 3min 40sec to heat up to 80C full on. Even if I add another 150W heater it will still take at least a minute to heat up. I'm just trying it keep the temp around 80C during use.
#include <max6675.h>
#include <sTune.h>
#include <QuickPID.h>

// pins
const uint8_t relayPin = 3;
const uint8_t SO = 12;
const uint8_t CS = 27;
const uint8_t sck = 26;

// user settings
uint32_t settleTimeSec = 10;
uint32_t testTimeSec = 500;  // runPid interval = testTimeSec / samples
const uint16_t samples = 500;
const float inputSpan = 200;
const float outputSpan = 1000;
float outputStart = 0;
float outputStep = 50;
float tempLimit = 150;
uint8_t debounce = 1;

// variables
float Input, Output, Setpoint = 80, Kp, Ki, Kd;

MAX6675 module(sck, CS, SO); //SPI
sTune tuner = sTune(&Input, &Output, tuner.ZN_PID, tuner.directIP, tuner.printOFF);
QuickPID myPID(&Input, &Output, &Setpoint);

void setup() {
  pinMode(relayPin, OUTPUT);
  Serial.begin(115200);
  delay(3000);
  Output = 0;
  tuner.Configure(inputSpan, outputSpan, outputStart, outputStep, testTimeSec, settleTimeSec, samples);
  tuner.SetEmergencyStop(tempLimit);
}

void loop() {
  float optimumOutput = tuner.softPwm(relayPin, Input, Output, Setpoint, outputSpan, debounce);

  switch (tuner.Run()) {
    case tuner.sample: // active once per sample during test
      Input = module.readCelsius();
      tuner.plotter(Input, Output, Setpoint, 0.5f, 3); // output scale 0.5, plot every 3rd sample
      break;

    case tuner.tunings: // active just once when sTune is done
      tuner.GetAutoTunings(&Kp, &Ki, &Kd); // sketch variables updated by sTune
      myPID.SetOutputLimits(0, outputSpan * 0.1);
      myPID.SetSampleTimeUs((outputSpan - 1) * 1000);
      debounce = 0; // ssr mode
      Output = outputStep;
      myPID.SetMode(myPID.Control::automatic); // the PID is turned on
      myPID.SetProportionalMode(myPID.pMode::pOnMeas);
      myPID.SetAntiWindupMode(myPID.iAwMode::iAwClamp);
      myPID.SetTunings(Kp, Ki, Kd); // update PID with the new tunings
      break;

    case tuner.runPid: // active once per sample after tunings
      Input = module.readCelsius();
      myPID.Compute();
      tuner.plotter(Input, optimumOutput, Setpoint, 0.5f, 3);
      break;
  }
}

The heater is an AC cartridge heater similar to what you would find in a 3D printer, just bigger. The SSR is BRM-25DA that I got off amazon.

Ah sorry I didn’t mean to do that

Ah sorry I didn’t mean to do that

Thank you for the details. Could you give this a try?
#include <max6675.h>
#include <sTune.h>
#include <QuickPID.h>

// pins
const uint8_t relayPin = 3;
const uint8_t SO = 12;
const uint8_t CS = 27;
const uint8_t sck = 26;

// user settings
uint32_t settleTimeSec = 10;
uint32_t testTimeSec = 700;  // runPid interval = testTimeSec / samples
const uint16_t samples = 700;
const float inputSpan = 200;
const float outputSpan = 1000;
float outputStart = 0;
float outputStep = 400;
float tempLimit = 150;
uint8_t debounce = 1;

// variables
float Input, Output, Setpoint = 80, Kp, Ki, Kd;

MAX6675 module(sck, CS, SO); //SPI
sTune tuner = sTune(&Input, &Output, tuner.ZN_PID, tuner.directIP, tuner.printOFF);
QuickPID myPID(&Input, &Output, &Setpoint);

void setup() {
  pinMode(relayPin, OUTPUT);
  Serial.begin(115200);
  delay(3000);
  Output = 0;
  tuner.Configure(inputSpan, outputSpan, outputStart, outputStep, testTimeSec, settleTimeSec, samples);
  tuner.SetEmergencyStop(tempLimit);
}

void loop() {
  float optimumOutput = tuner.softPwm(relayPin, Input, Output, Setpoint, outputSpan, debounce);

  switch (tuner.Run()) {
    case tuner.sample: // active once per sample during test
      Input = module.readCelsius();
      tuner.plotter(Input, Output, Setpoint, 0.5f, 3); // output scale 0.5, plot every 3rd sample
      break;

    case tuner.tunings: // active just once when sTune is done
      tuner.GetAutoTunings(&Kp, &Ki, &Kd); // sketch variables updated by sTune
      myPID.SetOutputLimits(0, outputSpan);
      myPID.SetSampleTimeUs((outputSpan - 1) * 1000);
      debounce = 0; // ssr mode
      Output = outputStep;
      myPID.SetMode(myPID.Control::automatic); // the PID is turned on
      myPID.SetProportionalMode(myPID.pMode::pOnMeas);
      myPID.SetAntiWindupMode(myPID.iAwMode::iAwClamp);
      myPID.SetTunings(Kp, Ki, Kd); // update PID with the new tunings
      break;

    case tuner.runPid: // active once per sample after tunings
      Input = module.readCelsius();
      myPID.Compute();
      tuner.plotter(Input, optimumOutput, Setpoint, 0.5f, 3);
      break;
  }
}

It was doing good at first but started to throttle around 50C, it seems to be going up but significantly slower. I'm going to keep it running to see if it's able to get up to temp.

It might help if the proportional gain is increased by using something like this
myPID.SetTunings(Kp * 2, Ki, Kd);
Could also try increasing the outputStep to 600.
Hopefully later this year I'll get some time to do some testing with non-ptc type heaters (like yours) and do some work on updated code, examples and documentation.

It was able to get up to temp with an output step of 600. I couldn’t see if it was holding temp because the serial monitor stopped receiving data (loose cable). Is it supposed to print out pid values?
I couldn’t get the Kp * 2 working the error was about a float* multiplying with an int. I tried a float but it didn’t work either.

With the example above, it will keep printing every 3rd sample as long as the PID is running.

I just did some manual tuning using the QuickPID library. Seams to be working well with some custom PWM code. I will close this for now since it seems auto-tunning is not the best method for systems with lots of lag.

Hello, I am also having some issues getting system with significant lag to work.
I am using a toaster oven, a K type thermocouple wired to a MAX6675, and an esp32 controlling an SSR.
In my case, the test finishes after only 45 seconds (though the testTimeSec = 500. The calculates tunings don't work at all and result is the oven being on for less than 10% of the time (visually).
 Instead it completes the test and immediately reverts to such a small on-time that the oven actually cools while the PID loop is trying to heat it.
I will try to tune the oven manually but i'd really like to use autotuning as the thermal mass in the oven will vary greatly, and it would be amazing to have the oven calibrate itself to the contents every run.
Here is my code:
/ user settings
uint32_t settleTimeSec = 10;
uint32_t testTimeSec = 200;  // runPid interval = testTimeSec / samples
const uint16_t samples = 200;
const float inputSpan = 350;
const float outputSpan = 1000;
float outputStart = 500;
float outputStep = 750;
float tempLimit = 150;
uint8_t debounce = 1;

// variables
float Input, Output, Setpoint = 100, Kp, Ki, Kd;

MAX6675 module(sck, CS, SO); //SPI
sTune tuner = sTune(&Input, &Output, tuner.NoOvershoot_PID, tuner.directIP, tuner.printALL);
QuickPID myPID(&Input, &Output, &Setpoint);

void setup() {
  pinMode(relayPin, OUTPUT);
  Serial.begin(115200);
  delay(3000);
  Output = 0;
  tuner.Configure(inputSpan, outputSpan, outputStart, outputStep, testTimeSec, settleTimeSec, samples);
  tuner.SetEmergencyStop(tempLimit);
}

void loop() {
  float optimumOutput = tuner.softPwm(relayPin, Input, Output, Setpoint, outputSpan, debounce);

  //Serial.print("Temp: ");
  //Serial.printf("%f", Input);
  //Serial.println("deg C");

  switch (tuner.Run()) {
    case tuner.sample: // active once per sample during test
      Input = module.readCelsius();
      //tuner.plotter(Input, Output, Setpoint, 0.5f, 3); // output scale 0.5, plot every 3rd sample
      break;

    case tuner.tunings: // active just once when sTune is done
      tuner.GetAutoTunings(&Kp, &Ki, &Kd); // sketch variables updated by sTune
      myPID.SetOutputLimits(0, outputSpan * 0.1);
      myPID.SetSampleTimeUs((outputSpan - 1) * 1000);
      debounce = 0; // ssr mode
      Output = outputStep;
      myPID.SetMode(myPID.Control::automatic); // the PID is turned on
      myPID.SetProportionalMode(myPID.pMode::pOnMeas);
      myPID.SetAntiWindupMode(myPID.iAwMode::iAwClamp);
      myPID.SetTunings(Kp, Ki, Kd); // update PID with the new tunings
      break;

    case tuner.runPid: // active once per sample after tunings
      Input = module.readCelsius();
      Serial.printf("PV: %f deg C \r", Input);
      myPID.Compute();
      //tuner.plotter(Input, optimumOutput, Setpoint, 0.5f, 3);
      break;
  }
}


Create instance of Redis on Bluemix for CI testing purposes (just like we do for Cloudant).

Hmm... this may not be possible. It does not look like a it is a free service.

Using the local solution since that is free.


Trojan:MSIL/AgentTesla.LQL!MTB

Trojan:MSIL/AgentTesla.LQL!MTB after Compilation.

Hi @KICSrwp, Please read a closed issue too.
I explained more time that is a false positive detection, as a know ap to the av, without sign.
Thank you for the understanding.


Mapomatic frequency collision update

-added: detect_fc.py script as well as the necessary scripts collisioncount.py and coupling_tools.py
-added part about Frequency Collision script usage to Readme

 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.


unixodbc-dev installation error

Please first make sure you have looked at:

Documentation: https://github.com/mkleehammer/pyodbc/wiki
Other issues

Environment
To diagnose, we usually need to know the following, including version numbers.  On Windows, be
sure to specify 32-bit Python or 64-bit:

Python:
pyodbc:
OS: Ubuntu
DB:
driver:

Issue
======================================
Command
sudo pip3 install unixodbc-dev
======================================
Error
The directory '/home/usman/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
The directory '/home/usman/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting unixodbc-dev
Exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 342, in run
requirement_set.prepare_files(finder)
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 554, in _prepare_file
require_hashes
File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 278, in populate_link
self.link = finder.find_requirement(self, upgrade)
File "/usr/lib/python3/dist-packages/pip/index.py", line 465, in find_requirement
all_candidates = self.find_all_candidates(req.name)
File "/usr/lib/python3/dist-packages/pip/index.py", line 423, in find_all_candidates
for page in self._get_pages(url_locations, project_name):
File "/usr/lib/python3/dist-packages/pip/index.py", line 568, in _get_pages
page = self._get_page(location)
File "/usr/lib/python3/dist-packages/pip/index.py", line 683, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "/usr/lib/python3/dist-packages/pip/index.py", line 795, in get_page
resp.raise_for_status()
File "/usr/share/python-wheels/requests-2.18.4-py2.py3-none-any.whl/requests/models.py", line 935, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://pypi.org/simple/unixodbc-dev/
Often it is easiest to describe your issue as "expected behavior" and "observed behavior".

Okay, so that should lead you to the (universally-accepted) conclusion that you should not be modifying the system version of Python_3. Instead, you should create a virtual environment (a.k.a. "venv") for your project and modify it for the specific requirements of that project.

unixODBC is not a Python package. The unixodbc-dev package will need to be installed using the package manager of your Linux distro, in your case apt. Try apt-get install unixodbc-dev.

apt-get install unixodbc-dev

i want install with pip please any help don't want to install apt-get ....

apt-get install unixodbc-dev

i want install with pip please any help don't want to install apt-get ....

It is simply not possible to install unixODBC with pip because unixODBC is not a Python package. You can either install it from the Ubuntu repositories (via apt) or you can build it from source. Those are your only options.


First run setup is missing devDependencies which causes compilation errors

When running npx @reactunity/create in a new project, when I then immediately run npm start, Webpack dev server throws compilation errors until I install the following dev dependencies:

@typescript-eslint/eslint-plugin
eslint-plugin-import
eslint-plugin-react-hooks
eslint-plugin-react

however, the following sequence will work correctly each time:
npx @reactunity/create react
cd react
npm i -D @typescript-eslint/eslint-plugin eslint-plugin-import eslint-plugin-react-hooks eslint-plugin-react
npm start
I have not tried with yarn as I do not have it installed/configured on my system, but I am running Windows 11, node 16.10.0 and npm 8.5.5

This is a long ongoing issue with eslint. https://github.com/eslint/eslint/issues/3458
As I tested, it didn't happen to me with npm versions 8.1 and 8.6. But I guess it can happen in some situations. Added these packages as dev dependencies now.


Migrate to supported .NET Core versions

Reference Issue

What does this implement/fix? Explain your changes.

Migrates to supported .NET Core versions:

from .NET Core 2.2 (Out of support version) to .NET Core 2.1
from .NET Core 3.0 (Out of support version) to .NET Core 3.1

Adds support for .NET 5.0 as it's is currently recommended .NET SDK

.NET Core 2.1 and 3.1 are LTS (Long-term support) releases, .NET 5.0 is basically basically new version of netstandard.
https://dotnet.microsoft.com/download/dotnet-core
Any other comments?

I think adding net5.0 target would also be good, we are already using it on AppVeyor for building and Source Generators require new compiler toolchain so this would not introduce any new dependency.

I think adding net5.0 target would also be good, we are already using it on AppVeyor for building and Source Generators require new compiler toolchain so this would not introduce any new dependency.

I will fix later samples, there are some breaking changes in netcoreapp3.1 regarding Windows Forms.

I will fix later samples, there are some breaking changes in netcoreapp3.1 regarding Windows Forms.

Looks good to me, and makes sense in my opinion, though I would like to hear from @tebjan about this (regarding removing support for unsupported versions).

Well I am and moving netcoreapp2.2 to netcoreapp2.1 so it's is event better, netcoreapp3.0 to netcoreapp3.1 is not that bad as we have netcoreapp2.1, so I think in terms of compatibility we are pretty good. The net5.0 is pretty important as it is becoming new standard target.

I got an initial GH Actions workflow running based on this branch, though one test is failing both in .NetCore 3.1 and .Net 5 (__issue-084-01 comparison test). I have not looked into this, but would probably handle this in a separate issue, if this is not a false positive (which happens with the comparison tests).

I have checked the test (quickly) and it seems that issue is with saving and reloading the svg, not sure what is wrong, maybe I need to update System.Drawing package.

Looks good to me, and makes sense in my opinion, though I would like to hear from @tebjan about this (regarding removing support for unsupported versions).

Well I am and moving netcoreapp2.2 to netcoreapp2.1 so it's is event better, netcoreapp3.0 to netcoreapp3.1 is not that bad as we have netcoreapp2.1, so I think in terms of compatibility we are pretty good. The net5.0 is pretty important as it is becoming new standard target.

I got an initial GH Actions workflow running based on this branch, though one test is failing both in .NetCore 3.1 and .Net 5 (__issue-084-01 comparison test). I have not looked into this, but would probably handle this in a separate issue, if this is not a false positive (which happens with the comparison tests).

I have checked the test (quickly) and it seems that issue is with saving and reloading the svg, not sure what is wrong, maybe I need to update System.Drawing package.

I think it makes sense for @tebjan to make a release with the old supported versions, and merge this afterwards. I would make a PR for GitHub actions after this is merged (with the current version, the tests for .NetCore 2.2 fail because it is not supported). As for the failing test - if you don't find the problem right away, I would create a new issue for this and temproraily remove this image from the tests. It still works with the older versions, so this is not a regression.

I think it makes sense for @tebjan to make a release with the old supported versions, and merge this afterwards. I would make a PR for GitHub actions after this is merged (with the current version, the tests for .NetCore 2.2 fail because it is not supported). As for the failing test - if you don't find the problem right away, I would create a new issue for this and temproraily remove this image from the tests. It still works with the older versions, so this is not a regression.

I think it makes sense for @tebjan to make a release with the old supported versions, and merge this afterwards.

That's fine with me.

I would make a PR for GitHub actions after this is merged (with the current version, the tests for .NetCore 2.2 fail because it is not supported).

You need to install:

.NET Core sdk 2.2.207
.NET Core sdk 3.0.103
to make it work.

As for the failing test - if you don't find the problem right away, I would create a new issue for this and temproraily remove this image from the tests. It still works with the older versions, so this is not a regression.

The new issue would be good.

I think it makes sense for @tebjan to make a release with the old supported versions, and merge this afterwards.

That's fine with me.

I would make a PR for GitHub actions after this is merged (with the current version, the tests for .NetCore 2.2 fail because it is not supported).

You need to install:

.NET Core sdk 2.2.207
.NET Core sdk 3.0.103
to make it work.

As for the failing test - if you don't find the problem right away, I would create a new issue for this and temproraily remove this image from the tests. It still works with the older versions, so this is not a regression.

The new issue would be good.

Testing the failing test:
       [Test]
        public void Test_Issue_084_01()
        {
            var svgPath = Path.Combine(AssemblyDirectory, "..", "..", "..", "..", "W3CTestSuite", "svg");
            var file = Directory.GetFiles(svgPath, "__issue-084-01.svg").FirstOrDefault();
            var doc1 = SvgDocument.Open<SvgDocument>(file);

            using (var memStream = new MemoryStream())
            {
                var targetFrameworkAttribute = Assembly.GetExecutingAssembly()
                    .GetCustomAttributes(typeof(System.Runtime.Versioning.TargetFrameworkAttribute), false)
                    .SingleOrDefault() as System.Runtime.Versioning.TargetFrameworkAttribute;

                doc1.Write(memStream);
                memStream.Position = 0;

                var streamReader = new StreamReader(memStream);
                var str = streamReader.ReadToEnd();
                File.WriteAllText($"c:\\DOWNLOADS\\__issue-084-01_{targetFrameworkAttribute.FrameworkName}.svg", str);

                memStream.Position = 0;

                var baseUri = doc1.BaseUri;
                var doc2 = SvgDocument.Open<SvgDocument>(memStream);
                doc2.BaseUri = baseUri;
            }

__issue-084-01.zip

Testing the failing test:
       [Test]
        public void Test_Issue_084_01()
        {
            var svgPath = Path.Combine(AssemblyDirectory, "..", "..", "..", "..", "W3CTestSuite", "svg");
            var file = Directory.GetFiles(svgPath, "__issue-084-01.svg").FirstOrDefault();
            var doc1 = SvgDocument.Open<SvgDocument>(file);

            using (var memStream = new MemoryStream())
            {
                var targetFrameworkAttribute = Assembly.GetExecutingAssembly()
                    .GetCustomAttributes(typeof(System.Runtime.Versioning.TargetFrameworkAttribute), false)
                    .SingleOrDefault() as System.Runtime.Versioning.TargetFrameworkAttribute;

                doc1.Write(memStream);
                memStream.Position = 0;

                var streamReader = new StreamReader(memStream);
                var str = streamReader.ReadToEnd();
                File.WriteAllText($"c:\\DOWNLOADS\\__issue-084-01_{targetFrameworkAttribute.FrameworkName}.svg", str);

                memStream.Position = 0;

                var baseUri = doc1.BaseUri;
                var doc2 = SvgDocument.Open<SvgDocument>(memStream);
                doc2.BaseUri = baseUri;
            }

__issue-084-01.zip

Looks like the .NETCoreApp,Version=v3.1 and .NETCoreApp,Version=v5.0 produce different floating points for some reason.

Looks like the .NETCoreApp,Version=v3.1 and .NETCoreApp,Version=v5.0 produce different floating points for some reason.

Seems to be related https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/

Seems to be related https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/

__issue-084-01.zip

Cannot download this file, as it supposedly contains a virus.

__issue-084-01.zip

Cannot download this file, as it supposedly contains a virus.

__issue-084-01.zip

Cannot download this file, as it supposedly contains a virus.

It contains only svg's.
__issue-084-01.svg.txt
_issue-084-01.NETCoreApp,Version=v2.1.svg.txt
_issue-084-01.NETCoreApp,Version=v3.1.svg.txt
_issue-084-01.NETCoreApp,Version=v5.0.svg.txt
_issue-084-01.NETFramework,Version=v4.5.2.svg.txt
_issue-084-01.NETFramework,Version=v4.6.1.svg.txt

__issue-084-01.zip

Cannot download this file, as it supposedly contains a virus.

It contains only svg's.
__issue-084-01.svg.txt
_issue-084-01.NETCoreApp,Version=v2.1.svg.txt
_issue-084-01.NETCoreApp,Version=v3.1.svg.txt
_issue-084-01.NETCoreApp,Version=v5.0.svg.txt
_issue-084-01.NETFramework,Version=v4.5.2.svg.txt
_issue-084-01.NETFramework,Version=v4.6.1.svg.txt

@mrbean-bremen I will add float extension method for ToString, so we have one place for all conversion from float to string and can control output.

@mrbean-bremen I will add float extension method for ToString, so we have one place for all conversion from float to string and can control output.

[Here is the test result] for thid branch (with the failing test, removed, Windows only).

[Here is the test result] for thid branch (with the failing test, removed, Windows only).

Here is the test result for this branch (with the failing test removed, Windows only).

This is great, I think I have smaller repro for failing issue.

Here is the test result for this branch (with the failing test removed, Windows only).

This is great, I think I have smaller repro for failing issue.

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

I don't think they will be comparable, probably by limited CI machine resources and will increase the build times.
Maybe we can add separate job only for benchmarks, the cpu performance will vary but memory usage can be useful.

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

I don't think they will be comparable, probably by limited CI machine resources and will increase the build times.
Maybe we can add separate job only for benchmarks, the cpu performance will vary but memory usage can be useful.

Maybe we can add separate job only for benchmarks

Yes, this is what I have been thinking.

Maybe we can add separate job only for benchmarks

Yes, this is what I have been thinking.

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

I don't think they will be comparable, probably by limited CI machine resources and will increase the build times.
Maybe we can add separate job only for benchmarks, the cpu performance will vary but memory usage can be useful.

I would start we this benchmark:
dotnet run -c Release -f netcoreapp3.1 -- -f '*SvgDocument_*'

Do you think it makes sense to add all or some benchmark tests to the CI build? Currently only the unittests are run.

I don't think they will be comparable, probably by limited CI machine resources and will increase the build times.
Maybe we can add separate job only for benchmarks, the cpu performance will vary but memory usage can be useful.

I would start we this benchmark:
dotnet run -c Release -f netcoreapp3.1 -- -f '*SvgDocument_*'

Yeah, this increases the build times a bit, but that is still acceptable. Could further parallize the tests, if needed, and probably add an option to show less output.

Yeah, this increases the build times a bit, but that is still acceptable. Could further parallize the tests, if needed, and probably add an option to show less output.

Yeah, this increases the build times a bit, but that is still acceptable. Could further parallize the tests, if needed, and probably add an option to show less output.

Yes that looks acceptable.

Yeah, this increases the build times a bit, but that is still acceptable. Could further parallize the tests, if needed, and probably add an option to show less output.

Yes that looks acceptable.

@wieslawsoltes - I'm going to merge this now, if you don't object - the release is out!

@wieslawsoltes - I'm going to merge this now, if you don't object - the release is out!

@wieslawsoltes - I'm going to merge this now, if you don't object - the release is out!

@mrbean-bremen No objections, ready to merge.

@wieslawsoltes - I'm going to merge this now, if you don't object - the release is out!

@mrbean-bremen No objections, ready to merge.