Add cli usage

Reference #9

Codecov Report

Merging #10 into master will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master       #10   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         3    +1
  Lines           52        72   +20
=========================================
+ Hits            52        72   +20

Flag
Coverage Δ

#unittests
100.00% <100.00%> (ø)

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

Impacted Files
Coverage Δ

gtrending/__init__.py
100.00% <100.00%> (ø)

gtrending/cli.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 53f47f8...36758a6. Read the comment docs.

Added tests for the scripts. At the moment the output is not pretty printed. We might have to do something about that. Maybe open a new issue?

Reference #9

Hello @hedythedev, it has been 2 weeks since I opened this PR. Can I have an update?

Extremely sorry about the delay @IgnisDa, it was mainly due to this issue, so I'm still working on which alternative URL to use, and I'm afraid this will have to be put on hold until there is a working alternative. In the meantime, maybe you can rename cli.py to __main__.py so that the CLI can be ran using python -m gtrending how does that sound? Thank you for your work so far.
As to the output, I don't think it's too much of a problem, and I will open a new issue after this is merged, because the output can be piped to programs such as jq to be further processed.

Hey I'm sorry for my slow response but I realized I actually had a pending review and forgot to submit it. Since you've removed your assignment I'll let @willtryagain work on this.

@hedyhli what else is left to be completed before this  can be merged? @IgnisDa seems to have done it all

@hedyhli what else is left to be completed before this can be merged? @IgnisDa seems to have done it all

@willtryagain Not too much left, but there's a few things that needs to be fixed. If you'd like to reference their implementation feel free to take inspiration and commit on your PR (or open a new one) and I can review there.


Error: AppleScript Editor is not allowed assistive access.

In OS X versions before Mavericks, UI scripting was enabled or disabled system-wide. In Mavericks, UI scripting is enabled on a per-application basis.
To resolve this error in Mavericks, you must go to your Security & Privacy preference pane in System Preferences. From there, select the Privacy tab and then Accessibility. Enable AppleScript Editor under "Allow the apps below to control your computer."
Perhaps there is a way to prompt the user to enable UI elements for AppleScript Editor, or to add a try/catch and a helpful error log.

I don't have Mavericks and can't test. Is it okay if I fork and create something for you to test?

Yes, that'd be great!


Rust, Go measurements

It would be great to see Rust using something like Iron framework to compare the numbers against, as well as Go (perhaps just using the std lib). :]
If I have time, I'll start a PR to start working on one of these.

This would be awesome :+1:

Hey @jadbox any request to pulled with Go or Rust ? :grin:


Update dns-operations-recordsets.md

The changes are mainly for style and a few bits of tidying up the grammar and a second go after seeing a typo!.
Changes were:

Change all un-neded double quotes to single quotes. To accord with best practice PowerShell style - always use single quotes unless you are doing string substitution inside the string.
Added a missing full stop at the end of two sentences.
Changed an 'including' to read 'excluding'. :-)
Clarified ARPA is the reverse lookup zone.
Fixed a missing end of a string in an IP address.
in code, put all ip addresses into a single quoted string for consistency and clarity. Since the parameter is of type string, it's better to show the ip address as a quoted string.
Changed a passive voice into active. That sentence could be further improved.

Hi @doctordns, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

@georgewallace Hi George Please review this contribution. Thanks.

@doctordns Thank you for your contribution, I will review this pull request shortly.

@doctordns Please correct the PR with only changes described in item 2 and 7 if you could.  The rest of the changes I feel do not fit the style of the remainder of the articles. Quotes in text are easier to read with double quotes. Quotes are not needed for the IP addresses in the commands and variables should be camel case not sentence case. If you can resubmit with just the periods at the end of the sentences and the passive voice change on 337 I can approve. There are too many changes I feel to submit a PR to your fork for.

Hi George,
Thanks for your mail.
I have been using PowerShell for over 12 years – and was an MVP for several of those. I write, teach, and lecture about PowerShell around the world. I say this to emphasise I have some background and history here.
My aim with this PR was to inject best practice into the article and to make it consistent with other PowerShell documentation. I spend many days a month teaching best practice and get asked: why does MSFT not do it too? In effect, you are asking me to NOT update this article with best practice and I am not comfortable with this. Here are the three things I want to change and why:

 Single quotes are best practice – and just a bit faster too. Double quotes are used to expand a string (“this is a variable value: $var”)

 The IP address IS a string – check the syntax. Putting the IP address inside a string is making that explicit and is also better practice. It’s also a bit faster as PowerShell does not need to work out that <IP_ADDRESS> is actually a string

 Camel case is not best practice any more. Appropriate for C and VB, best practice is to use Pascal case (Capitalized 1st letter).

I will happily leave these three out of a p/r if your objective is to not accept best practice in the documentation. I regard not having best practice shown in the examples is sub-optimal. And I note that other teams are happy to accept PRs that do inject best practice coding standards.
Let me know what Microsoft wants to see and I’ll craft the PR accordingly.
From: George Wallace<EMAIL_ADDRESS>Sent: 25 January 2017 04:16
To: Microsoft/azure-docs<EMAIL_ADDRESS>Cc: Thomas Lee<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/azure-docs] Update dns-operations-recordsets.md (#480)
@doctordnshttps://github.com/doctordns Please correct the PR with only changes described in item 2 and 7 if you could. The rest of the changes I feel do not fit the style of the remainder of the articles. Quotes in text are easier to read with double quotes. Quotes are not needed for the IP addresses in the commands and variables should be camel case not sentence case. If you can resubmit with just the periods at the end of the sentences and the passive voice change on 337 I can approve. There are too many changes I feel to submit a PR to your fork for.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/azure-docs/pull/480#issuecomment-275014923, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADdk-TgJbE4L5sdfBEpJu6AcYNK2FSJyks5rVsyNgaJpZM4LnFAI.

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

@doctordns I do not mean to come across wrong, I do appreciate additions to the documentation. I stand by wanting to keep the variables camel case. Parameters I agree should be Pascal case.  As far as the quotes you are correct but I do not want the quotes changed at this time, overall the PowerShell examples have double quotes. I will bring this up as an overall design change but at this time changing this single article to single quotes does not fit the style of the other documents.. I will submit a pull request with the changes to approve to your fork

@doctordns I have decided to update to single quotes as you requested, I will update the other docs to follow suite so styling is the same, I submitted the following pr to your fork to change the variables back to the original formatting, please review and accept if you are ok and let me know.
https://github.com/doctordns/azure-docs/pull/1

George,
Sorry for not getting back to you faster. I am in lovely (COLD) Norway and am teaching (PowerShell, and Windows 2016).
I appreciate you re-considering my pull request. I am quite passionate about a) good documentation and b) about making sure that as much best practice as possible is contained in the help and documentation.  I am of course pragmatic – some of the changes were helpful!!
I am happy with what’s there – so please pull away!
Also – what documentation are you responsible for? I am looking at what I can (you can see my activity over on github) and am happy to look (Or not look!) at anything you care to throw my way.
Kind regards,
Thomas
From: George Wallace<EMAIL_ADDRESS>Sent: 26 January 2017 18:49
To: Microsoft/azure-docs<EMAIL_ADDRESS>Cc: Thomas Lee<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/azure-docs] Update dns-operations-recordsets.md (#480)
@doctordnshttps://github.com/doctordns I have decided to update to single quotes as you requested, I will update the other docs to follow suite so styling is the same, I submitted the following pr to your fork to change the variables back to the original formatting, please review and accept if you are ok and let me know.
doctordns#1https://github.com/doctordns/azure-docs/pull/1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/azure-docs/pull/480#issuecomment-275475461, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADdk-WWOyZxhY1xROkX3IErHg8Bb9VzBks5rWOp-gaJpZM4LnFAI.

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

George,
You come across fine. No issues at all – and likewise, I hope I do not come across as strident either! ☺
Regarding the actual PowerShell examples: I believe the documentation should include all parameter names (no positional parameters, except of course where the document is showing the use of positional parameters), the spelling of the parameter name should be what you get with tab completion. So if tab completion says something like ‘-DNSServer’ the that’s what I’d expect to see and not ‘-dnsserver’.  And powershell variables should not begin with type $intEmployeeNumber, but should be $EmployeeNumber. Does that make sense?
As for camel vs Pascal casing, best practice in the PowerShell world is to Pascal case.  We can agree to disagree on that last point. Let me know your views on this.
I’ve had several mails from you today – I hope we’re good on this P/R!
Thomas
From: George Wallace<EMAIL_ADDRESS>Sent: 26 January 2017 18:38
To: Microsoft/azure-docs<EMAIL_ADDRESS>Cc: Thomas Lee<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/azure-docs] Update dns-operations-recordsets.md (#480)
@doctordnshttps://github.com/doctordns I do not mean to come across wrong, I do appreciate additions to the documentation. I stand by wanting to keep the variables camel case. Parameters I agree should be Pascal case. As far as the quotes you are correct but I do not want the quotes changed at this time, overall the PowerShell examples have double quotes. I will bring this up as an overall design change but at this time changing this single article to single quotes does not fit the style of the other documents.. I will submit a pull request with the changes to approve to your fork
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/azure-docs/pull/480#issuecomment-275472520, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADdk-cixU3VWlomWt10hctSW69qhnIUeks5rWOgLgaJpZM4LnFAI.

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

I already submitted a PR to your fork to modify your changes.. Please review and accept this PR with will update your fork .. once the changes are in place I am good to approve and sign off. As mentioned the PR I submitted back to you has all your changes except for the variable names.. Those will stay camel case.

@doctordns I need you to accept the PR (https://github.com/doctordns/azure-docs/pull/1)  I made to your fork to update this PR in order to accept and sign off on the changes.

Done.
From: George Wallace<EMAIL_ADDRESS>Sent: 07 February 2017 19:09
To: Microsoft/azure-docs<EMAIL_ADDRESS>Cc: Thomas Lee<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/azure-docs] Update dns-operations-recordsets.md (#480)
@doctordnshttps://github.com/doctordns I need you to accept the PR (doctordns#1https://github.com/doctordns/azure-docs/pull/1) I made to your fork to update this PR in order to accept and sign off on the changes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/azure-docs/pull/480#issuecomment-278107527, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADdk-fwXfeirqOh-WAAt7jdluYJywOy3ks5raMEwgaJpZM4LnFAI.

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

This email has been scanned by the Symantec Email Security.cloud service.
For more information please visit http://www.symanteccloud.com

#sign-off


WIP: refactor: next version manifest & scanner

resolve #241

Codecov Report
Patch coverage: 94.32% and project coverage change: -1.48 :warning:

Comparison is base (92e7d4d) 92.76% compared to head (6e7b001) 91.29%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #245      +/-   ##
==========================================
- Coverage   92.76%   91.29%   -1.48%
==========================================
  Files          54       51       -3
  Lines        1300     1206      -94
  Branches      225      211      -14
==========================================
- Hits         1206     1101     -105
- Misses         94      105      +11

Impacted Files
Coverage Δ

src/loader/impl/index.ts
100.00% <ø> (ø)

src/loader/types.ts
100.00% <ø> (ø)

src/plugin/types.ts
100.00% <ø> (ø)

src/types.ts
100.00% <ø> (ø)

src/configuration/index.ts
75.60% <80.00%> (-17.84%)
:arrow_down:

src/application.ts
83.33% <87.50%> (-7.58%)
:arrow_down:

src/scanner/impl.ts
88.00% <88.00%> (ø)

src/scanner/task.ts
93.18% <93.18%> (ø)

src/loader/helper.ts
94.00% <94.00%> (ø)

src/scanner/utils.ts
96.61% <97.91%> (+1.61%)
:arrow_up:

... and 8 more

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Cannot create a folder if a file with the same name already exists

Not a bug, Windows doesn't allow this.


feat: add top-level query connection decorator

Hey @rogerballard!
Had a use-case for this, and thought it'd be easier to open a PR to discuss instead of just opening an issue. Would love to hear your thoughts. Did I miss anything, either test or code-wise?
Top-level connections might seem counterintuitive, but in essence they're a connection between the viewer and the entities you're querying.
Thanks!

Pull Request Test Coverage Report for Build 337198577

11 of 11 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.7%) to 97.251%

Totals

Change from base Build 302935942:
-2.7%

Covered Lines:
247

Relevant Lines:
249

💛  - Coveralls

Question about this line: in all of our code and in the NestJS docs this should be @Resolver(() => Faction) instead of @Resolver(Faction). Is there any difference in behavior?

Hey @StevenLangbroek and @ThisIsMissEm 👋 first of all I'd like to thank you for your feature submission!
I have had a read through and it looks great at first glance. I'll do a more in-depth review over the weekend and contribute some improvements to the docs to go with the new feature.
On another note: I'm glad that you are finding this library useful, and I'm interested in any other feedback you may have (perhaps via email or in a separate issue).

And thank you for doing all the heavy lifting here :). I have some feedback based on local development experience, what's a good place to discuss.

And thank you for doing all the heavy lifting here :). I have some feedback based on local development experience, what's a good place to discuss?

Please add your feedback into a new issue so that we can discuss separate to this PR 👍

You got it :). Have a great weekend ✌

@rogerballard any chance you have semantic-release set up to do prereleases? If so I'd like to give this change a go in an actual project I'm implementing in relay spec.


Protocol Detection breaking H2 traffic to gateway

https://github.com/istio/istio/commit/fd29fd362b7e0b6561734fd64444651baab43f2d introduced a change to use USE_DOWNSTREAM_PROTOCOL if sniffing is enabled. This seems to break gateway traffic.
Relevant configs:
443 listener:
 {
     "version_info": "2020-02-18T18:34:05Z/3",
     "listener": {
      "name": "<IP_ADDRESS>_443",
      "address": {
       "socket_address": {
        "address": "<IP_ADDRESS>",
        "port_value": 443
       }
      },
      "filter_chains": [
       {
        "filter_chain_match": {
         "server_names": [
          "*.mydomain"
         ]
        },
        "tls_context": {
         "common_tls_context": {
          "alpn_protocols": [
           "h2",
           "http/1.1"
          ],
          "tls_certificate_sds_secret_configs": [
           {
            "name": "ingressgateway-wildcard-certs",
            "sds_config": {
             "api_config_source": {
              "api_type": "GRPC",
              "grpc_services": [
               {
                "google_grpc": {
                 "target_uri": "unix:/var/run/ingress_gateway/sds",
                 "stat_prefix": "sdsstat"
                }
               }
              ]
             }
            }
           }
          ]
         },
         "require_client_certificate": false
        },
        "filters": [
         {
          "name": "envoy.http_connection_manager",
          "typed_config": {
           "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager",
           "stat_prefix": "outbound_<IP_ADDRESS>_443",
           "http_filters": [
            {
             "name": "envoy.cors"
            },
            {
             "name": "envoy.fault"
            },
            {
             "name": "envoy.router"
            }
           ],
           "http_protocol_options": {},
           "server_name": "istio-envoy",
           "idle_timeout": "300s",
           "access_log": [
            {
             "name": "envoy.file_access_log",
             "typed_config": {
              "@type": "type.googleapis.com/envoy.config.accesslog.v2.FileAccessLog",
              "path": "/dev/stdout",
              "format": "[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% \"%DYNAMIC_METADATA(istio.mixer:status)%\" \"%UPSTREAM_TRANSPORT_FAILURE_REASON%\" %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\" \"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS% %REQUESTED_SERVER_NAME% %ROUTE_NAME%\n"
             }
            }
           ],
           "use_remote_address": true,
           "forward_client_cert_details": "SANITIZE_SET",
           "set_current_client_cert_details": {
            "subject": true,
            "cert": true,
            "dns": true,
            "uri": true
           },
           "upgrade_configs": [
            {
             "upgrade_type": "websocket"
            }
           ],
           "stream_idle_timeout": "0s",
           "normalize_path": true,
           "rds": {
            "config_source": {
             "ads": {}
            },
            "route_config_name": "https.443.https-demo-wildcard.istio-autogenerated-k8s-ingress.gke-system"
           }
          }
         }
        ]
       }
      ],
      "listener_filters": [
       {
        "name": "envoy.listener.tls_inspector"
       }
      ],
      "traffic_direction": "OUTBOUND"
     },
     "last_updated": "2020-02-18T18:34:31.197Z"
    },

Cluster that is being routed to:
  {
     "version_info": "2020-02-18T18:34:05Z/3",
     "cluster": {
      "name": "outbound|80||service2.default.svc.cluster.local",
      "type": "EDS",
      "eds_cluster_config": {
       "eds_config": {
        "ads": {}
       },
       "service_name": "outbound|80||service2.default.svc.cluster.local"
      },
      "connect_timeout": "10s",
      "circuit_breakers": {
       "thresholds": [
        {
         "max_connections":<PHONE_NUMBER>,
         "max_pending_requests":<PHONE_NUMBER>,
         "max_requests":<PHONE_NUMBER>,
         "max_retries":<PHONE_NUMBER>
        }
       ]
      },
      "http2_protocol_options": {
       "max_concurrent_streams":<PHONE_NUMBER>
      },
      "protocol_selection": "USE_DOWNSTREAM_PROTOCOL"
     },
     "last_updated": "2020-02-18T18:34:31.195Z"
    },

Gateway:
   port:
      name: https-demo-wildcard
      number: 443
      protocol: HTTPS
    tls:
      credentialName: ingressgateway-wildcard-certs
      mode: SIMPLE

Looks like we hit this code path: https://github.com/istio/istio/blob/134c006dcfc37452d9a8ae3818732f32e47a0ef1/pilot/pkg/networking/core/v1alpha3/cluster.go#L1265
This seems to assume sniffing has occurred, but this is not the case at the gateway.
This was reported on 1.4.4 (as a regression from a 1.2 upgrade). Disabling protocol sniffing solved this issue. A curl --http1.1 also fixes this.
cc @yxue @PiotrSikora @duderino

It seems that the gateway routes the HTTP/2 traffic to some HTTP/1.1 service on port 80 and the service on port 80 is defined without port name.
Since protocol sniffing is disabled on gateway, if the port is unnamed, the traffic should use TCP proxy, not the HTTP proxy. Do we have some magic on port 80?
The quick fix is adding the sidecar vs gateway check and long term fix is supporting H2 upgrade in Envoy. @incfly

I am not sure why the port name for the cluster matters here? For the gateway, isn't all of the config determines by Gateway not the Service?

protocol name really shouldn't matter for gateway because you can use istio as an ingress only mode (no sidecar). If you do that, it doesn't make any sense to require pods to configure their port name

Cluster is used to build the connection to the destination service. The
configuration in the cluster determines the connection to use http/1.1 or
http/2 or tcp proxy. I thought the gateway determines the configuration
based on the service port, no?
On Wed, Feb 19, 2020 at 10:02 AM John Howard<EMAIL_ADDRESS>wrote:

protocol name really shouldn't matter for gateway because you can use
istio as an ingress only mode (no sidecar). If you do that, it doesn't make
any sense to require pods to configure their port name
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/21230?email_source=notifications&email_token=AA2UNM5WLKMJBUIWDJKBNVTRDSOMJA5CNFSM4KXOMLQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMGFM6A#issuecomment-588011128,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA2UNMYHKRA62QZUEKDS4W3RDSOMJANCNFSM4KXOMLQQ
.

The configuration in the cluster determines the connection to use http/1.1 or http/2 or tcp proxy.

I thought tcp vs HTTP was determined at the listener level?

The service port should not matter for gateway other than determining h1 vs h2 as far as I know

The configuration in the cluster determines the connection to use http/1.1 or http/2 or tcp proxy.

I thought tcp vs HTTP was determined at the listener level?

Yeah. HTTP vs TCP was determined at the listener level. The cluster configuration determines h1 vs h2.
If the service port name for port 80 is not defined. How will the gateway generate outbound listener? The outbound listener should use TCP proxy, right?

The listener is based on VS/Gateway. For example, this config
cat <<EOF | kaf -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gateway
spec:
  selector:
    istio: ingressgateway # use istio default controller
  servers:
  - port:
      number: 80
      name: http
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: bookinfo
spec:
  hosts:
  - "*"
  gateways:
  - gateway
  http:
  - match:
    - uri:
        prefix: /httpbin
    rewrite:
      uri: /
    route:
    - destination:
        host: httpbin
        port:
          number: 80
EOF

should create http traffic regardless of what protocol for the service httpbin is. Because we have explicitly configured to use HTTP by the virtual service

Got it! The outgoing protocol (TCP vs HTTP) is determined at the listener level. If the HTTP filter chain is used, the router will select h1 vs h2 based on the cluster configuration; if TCP proxy is used, the TCP proxy will used TCP proxy regardless of the configuration of the cluster. Port name doesn't matter here.
I have another question. How will the cluster be configured with h2 configuration? Is it based on the port name and protocol?

There're some H2 specific options in DestinationRule, not sure if that's
the only source of the truth.
On Tue, Feb 18, 2020 at 10:50 PM Yan Xue<EMAIL_ADDRESS>wrote:

Got it! The outgoing protocol (TCP vs HTTP) is determined at the listener
level. If the HTTP filter chain is used, the router will select h1 vs h2
based on the cluster configuration; if TCP proxy is used, the TCP proxy
will used TCP proxy regardless of the configuration of the cluster. Port
name doesn't matter here.
I have another question. How will the cluster be configured with h2
configuration? Is it based on the port name and protocol?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/21230?email_source=notifications&email_token=AAMVXB6YI54PO23D3DSUBADRDTJB7A5CNFSM4KXOMLQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMGSGEQ#issuecomment-588063506,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMVXB7DDBVH3PKERRMRPOLRDTJB7ANCNFSM4KXOMLQQ
.

By declaring the service port name with http2/grpc.

When I am adding check in the gateway to disable use_downstream_protocol, I am thinking that for http2/grpc service, if we don't declare the service port name and we use curl --http1.1, I think the request will still fail without use_downstream_protocol. I think the right fix would be supporting h2c/h2 upgrade.

But anyway, since protocol detection is not applied to gateway, removing use_downstream_protocol from gateway cluster rmakes sense.


This is a test PR

This PR contains my specific code changes.

This is a general comment on the PR

This is a comment on a random line of code

This is a general comment on the PRfff

This is a general comment on the PRfff

This is a general comment on the code.

This is a general comment on the code.

Here's a review of the provided code:
Code Quality and Readability

The code is well-structured and easy to follow.
It uses clear variable names and follows PEP 8 naming conventions.
The use of an if statement for checking user input is good.

However, there are some potential improvements that can be made:

Input Validation: Currently, the code doesn't handle invalid inputs properly. For example, if the user enters a number instead of their name, it will still print "Hello" followed by the number. We should add proper input validation to ensure the input is in the correct format.

Error Handling: The code doesn't have any error handling mechanism in place. If an unexpected error occurs during execution, the program might crash or produce unexpected results. Adding try-except blocks can help handle such situations gracefully.

Code Duplication: There's some duplicated code here that we can eliminate by making use of Python's string formatting capabilities and removing redundant print statements.

Here's a revised version of your code with these suggestions:
# Ask for user input
def get_user_name():
    while True:
        name = input("What's your name? ")
        if name.strip():  # Check for non-empty input
            return name
        else:
            print("Please enter your full name.")

# Greet the user with a proper welcome message
def greet_user(name):
    if not name:  # Handle empty input cases as well
        print("Hello, World!")
    else:
        print(f"Hello, {name}! Welcome to Python.")

# Display a closing message
def display_closing_message():
    print("Have a great day!")

def main():
    try:
        name = get_user_name()
        greet_user(name)
        display_closing_message()
    except Exception as e:
        print(f"An unexpected error occurred: {e}")

if __name__ == "__main__":
    main()

Explanation:

We added two helper functions, get_user_name() and greet_user(), to encapsulate the input validation and welcome message logic.
The display_closing_message() function is used for clarity.
A try-except block was added to handle any unexpected errors that might occur during execution.

Here is a review of the code:
Code Review
The provided code snippet appears to be a simple Greeting Program in Python. It prompts the user for their name and then displays a personalized greeting.
However, there are a few potential improvements that can be made:

Input Validation: The current code does not validate if the input is empty or contains only whitespace characters. This could lead to unexpected behavior when displaying the greeting. Consider adding a check to ensure the input is not empty.

Magic String: The closing message "Have a great day" seems like a magic string that doesn't add any meaning to the code. Consider replacing it with a variable or a constant for better maintainability and reusability.

Variable Naming: Variable names such as name and bradman are quite generic and do not provide much information about their purpose. Consider using more descriptive variable names, such as user_name and closing_message.

Commenting: The code lacks comments that explain what each section does or why certain decisions were made. Adding comments can improve readability and understanding of the code.

Pythonic Way to Greet: Instead of using an if-else statement, you could use a ternary operator to make the code more concise and readable.

Here is the improved version of your code:
# Define constants for greeting messages
GREETING_MESSAGE = "Hello, World!"
CLOSING_MESSAGE = "Have a great day"

def get_user_name():
    """Asks user for their name and returns it."""
    return input("What's your name? ")

def main():
    # Get the user's name
    user_name = get_user_name()

    # Check if the name is not empty
    if user_name.strip():  # Use strip() to remove leading/trailing whitespaces
        print(f"Hello, {user_name}! Welcome to Python.")
    else:
        print(GREETING_MESSAGE)

    # Display a closing message with the defined constant
    print(CLOSING_MESSAGE)

if __name__ == "__main__":
    main()

This improved version includes input validation, more descriptive variable names, comments for clarity, and better practices such as using constants and functions.

Here are some comments on potential improvements, best practices, and issues found in the given code:

Handling Empty Input: The current implementation will throw an error if the user enters nothing when prompted for their name. This is because input() returns None when no input is provided. To handle this scenario, you can add a try-except block or validate the input before proceeding.

name = input("What's your name? ")
if not name:
print("Please enter your name.")
else:
# proceed with the greeting logic here

2.  **Improving Readability and Maintainability:** It would be beneficial to separate the logic into different functions, each responsible for a specific task. For example, you could create a function for getting user input, another for displaying greetings, and so on.

    ```python
def get_user_name():
    return input("What's your name? ")

def greet_user(name):
    if name:
        print(f"Hello, {name}! Welcome to Python.")
    else:
        print("Hello, World!")

def main():
    name = get_user_name()
    greet_user(name)

if __name__ == "__main__":
    main()

Best Practices: Following PEP8 (Python Enhancement Proposal) is essential for maintaining code readability and consistency.

Use lowercase letters with words separated by underscores
def get_user_name():
return input("what's your name? ")
def greet_user(name):
print(f"Hello, {name}! Welcome to Python.")

4.  **Error Handling:** If the user enters something other than a string (like numbers or special characters), it might lead to unexpected behavior. You could add some error handling code to deal with such cases.

    ```python
def get_user_name():
    while True:
        name = input("What's your name? ")
        if isinstance(name, str):
            break
        print("Please enter a valid name.")
    return name

# Rest of the function remains the same...

Magic Strings: The string "Have a great day" is treated as a magic string here. To improve maintainability and readability, these strings can be extracted into constants or resources.

import os

# Create a resource file named 'greetings.txt'
def init_greetings():
    return os.path.join(os.getcwd(), 'greetings.txt')

def get_closing_message(resource_path):
    with open(resource_path, 'r') as file:
        return file.read()

# Rest of the function remains the same...

Here's a revised version incorporating these suggestions:
import os

def get_user_name():
    while True:
        name = input("What's your name? ")
        if isinstance(name, str):
            break
        print("Please enter a valid name.")
    return name

def greet_user(name):
    if name:
        print(f"Hello, {name}! Welcome to Python.")
    else:
        print("Hello, World!")

def get_closing_message(resource_path):
    try:
        with open(resource_path, 'r') as file:
            return file.read()
    except FileNotFoundError:
        print("Error: Closing message not found in resource file.")
        return None

def main():
    name = get_user_name()
    greet_user(name)

    closing_message_resource_path = init_greetings()
    closing_message = get_closing_message(closing_message_resource_path)
    if closing_message is not None:
        print(closing_message)

if __name__ == "__main__":
    main()

This revised code adheres to PEP8 and adds some basic error handling for a more robust experience.

Here is a reviewed version of your code with comments on potential improvements, best practices, and any issues found:
# Ask for user input
name = input("What's your name? ")

# Validate the input (handle empty string or non-string input)
if not isinstance(name, str) or name.strip() == "":
    print("Please enter a valid name.")
else:
    # Greet the user with their actual name
    print(f"Hello, {name}! Welcome to Python.")

# Display a closing message (using a more respectful and inclusive option)
print(f"Have a great day, {name.title()}!")

Here's what I changed:

Added input validation: The original code would have printed "Hello, World!" if the user didn't enter any text. To avoid this, we use isinstance to check that the input is a string and then strip any whitespace from it using strip(). If the resulting string is empty, we print an error message.
Improved greeting: Instead of hardcoding "World" as the default name, we use the user's actual name (if they entered one) or a more respectful and inclusive option ("[First Name]").
Used f-strings consistently: I used f-strings for both greetings to maintain consistency.

Best practices:

Consider using a while loop to repeatedly ask for input until a valid response is given.
You could add additional validation (e.g., checking if the name contains only letters and spaces).
If you want to keep the "Hello, World!" option, consider using an elif clause or a separate function to handle this case.

Issues:

The code doesn't handle non-string inputs (like numbers or dates). You might want to add additional validation or error handling for these cases.
The print statements are not indented consistently. Python typically uses four spaces for indentation, so you could tidy up the formatting a bit.
There's no docstring or comment explaining what this code does or how it works.

Overall, your original code is simple and effective, but with these changes, we've made it more robust and user-friendly.


[GSoD 2021] Added issue and pull request templates

Related: wechaty/wechaty.js.org#1012

@proudofsimin Please review.

Hi, @proudofsimin.  The picture which you are showing is the PR template of https://github.com/wechaty/wechaty.js.org repository and it is structured in that way because the use case of that repository is like that. I have structured this template according to the gRPC repository for example we have CLA action in this repository so I have given a checkbox to mark so that the person who is making the PR can make sure whether they have signed the CLA or not.

@huan done with the changes.

Thank you very much for adding those templates to our repo!


Zed doesn't respect file access permissions

Check for existing issues

[X] Completed

Describe the bug / provide steps to reproduce it
When opening a file with Zed from a protected location, such as Desktop or iCloud Drive, for the first time, a files and folders access dialog will appear. If permission is not granted, Zed will still open and display the file. All further file openings will be allowed from the protected location and won't display the Files and Folders Access dialogue.
This behaviour occurs in both Zed Beta and Zed Preview, whether via the system menu or file dropping.
Toggling the permission on and off in the system settings does not change this behaviour.
Environment
Zed: v0.118.1 (Zed), v0.119.9 (Zed Preview)
OS: macOS 14.2.1
Memory: 16 GiB
Architecture: aarch64
If applicable, add mockups / screenshots to help explain present your vision of the feature

If applicable, attach your ~/Library/Logs/Zed/Zed.log file to this issue.
If you only need the most recent lines, you can run the zed: open log command palette action to see the last 1000.
No response

Somewhat related to #675


rook-nfs:  volume needs to be created, either by external provisioner "nfs.rook.io/rook-nfs-provisioner" or manually created by system administrator

Hello guys,
I would like to use this project to setup a simple slurm cluster and add this to my k3d cluster. I have a problem with rook-nfs.
Can someone help me out? I'm new to the topic of kubernetes.
kubectl describe pvc returns this:

Due to this problem, the pods of the rook-nfs-0 are stuck in the status 'Pending'.

I already realised that rook-nfs is not actively maintained anymore, but I thought this should still work.
The rook-nfs-provisioner should create a volume itself, correct? Any ideas?
I did not make any changes to the project as of now.
Appreciate your help,
thanks

One thing I did was was to remove the dependency of rooknfs in the Chart.yaml.
I'm using a NFS external provisioner (https://kubernetes-sigs.github.io/nfs-subdir-external-provisioner/) and basically replaced the rook-nfs storageClassName with: nfs-client


Rename Federation.NamespaceUrl to Federation.RegistryUrl

Closes #388
Per request, Federation.NamespaceUrl is preserved but marked as deprecated. User can still use this config but a warning message will should up if Federation.NamespaceUrl is used instead of Federation.RegistryUrl

Two items, one which doesn't require follow-up:

Please avoid spurious whitespace changes (there's a few whitespace-only changes in the parameters YAML file).  If these are necessary (i.e., someone else snuck them in and they are needed to pass the linter), please separate them out into a second commit.  No changes required now, however.
I'd like to see a small test that the warning message is actually emitted.  I won't require this for all changes along these lines but mostly want to make sure we have an example of testing log messages

For item (2), relevant examples from Google appear to be:

https://github.com/sirupsen/logrus#testing
https://maxchadwick.xyz/blog/testing-log-output-in-go-logrus

Sorry about the whitespace changes. I think my VSCode plugin was formatting the yaml file on save and it's buried in my intended changes. This makes me wonder if we want to have a preferred yaml formatter for the project to make things more consistent? I was using RedHat plugin. Otherwise, I will disable my local formatter.

Sorry about the whitespace changes.

It's fine to do fixups -- feel free to keep your plugin enabled -- just please put them as a separate commit.  If you've not used it before, try using git add --patch to fine-tune the commits.  The --patch flag allows you to manage what's staged for the commit at a per-line level instead of per-file.

This makes me wonder if we want to have a preferred yaml formatter for the project to make things more consistent?

We have the check-yaml precommit hook enabled.  Looks like the one you're using is just pickier.  There's others to choose from (see this page, filter on yaml); I'm not sure if they can be made to match any VSCode formatter.


SRIOV [test_id:3956]/[test_id:3957] are flaky, ping is failing between two SRIOV vnic/s

/kind bug
What happened:
e2e Multus/SRIOV tests are flaky.
Ping is rarely failing when checking connectivity between the two SRIOV vnic/s.
What you expected to happen:
Test to always pass.
How to reproduce it (as minimally and precisely as possible):
Attempt to run it multiple times on CI.
Anything else we need to know?:
Previous flakiness was ref here, this seems to be a new issue.
The issue has been seen on CI at least once: https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4617/pull-kubevirt-e2e-kind-1.17-sriov/1336545341402517504

This may be a duplicate of https://github.com/kubevirt/kubevirt/issues/3828.

Seen 3 times today on IPv4:
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/3479/pull-kubevirt-e2e-kind-1.17-sriov/1338800828001030145
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4654/pull-kubevirt-e2e-kind-1.17-sriov/1338781622626947073
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4668/pull-kubevirt-e2e-kind-1.17-sriov/1338661311608786945
Interesting enough, when one IP stack fails, the other does not (in most cases).

seeing this also in the vlan test, where a ping is also asserted. for example:
https://prow.apps.ovirt.org/view/gcs/kubevirt-prow/pr-logs/pull/kubevirt_kubevirt/4708/pull-kubevirt-e2e-kind-1.17-sriov/1344291381077610497
vlan test was xfail in the meanwhile:
https://github.com/kubevirt/kubevirt/pull/4733

@alonSadan / @ormergi could you sum up your findings up to know in the issue ?
Thanks in advance for the effort.

/assign @alonSadan

Findings so far:
From what we have seen so far this happens only on one specific CI node with connectX-5 HW.
We noticed that the vlan tags and mac addresses stays in tact between different CI jobs.
This means that on this node, they will have this vlan tag on every job, and this could cause one VF to be on different vlan than the other VF, which will lead to connectivity issues.
We noticed as well that once we give vlan tag to a VF, even if we will delete the VFs with:
VFs by echo 0 > /sys/class/net/ens1f0/device/sriov_numvfs
when we create them again:
echo 7 > /sys/class/net/ens1f0/device/sriov_numvfs
they will have the same mac and the same vlan tag.
This seems wrong.
Another check I made is to give all VFs a vlan tag, and create a pod which is connected to a network with no vlan.
In this case the vlan tag was removed from the VF that was assigned to the pod.

Another check I made is to give all VFs a vlan tag, and create a pod which is connected to a network with no vlan, and the same with vmi.
In both cases the vlan tag was removed from the VF that was assigned to the pod.

if this is the case, it cannot explain the problem.

https://github.com/kubevirt/kubevirt/pull/5093 Fixed this issue. All the details are the PR.
Since the PR got merged the SRIOV job ran
Therefore this issue can be closed.

Remove than the XFail please?

Remove then the XFail please?
assert.XFail("suspected cloud-init issue: https://github.com/kubevirt/kubevirt/issues/4642", func() {

https://github.com/kubevirt/kubevirt/pull/5282
Done.


Getting "Failed to make request" on Copilot Chat.

I suddenly started getting this when trying to feed Copilot Chat with a prompt:

I do have active subscriptions:

Does anyone know why it happens?
Thanks.

VS Code Version: 1.82.0-insider
OS Version: macOS 13.4.1

I am getting the same error as well.

Mee too
2024-04-08 15:16:22.537 [info] [chat fetch] url https://api.githubcopilot.com/chat/completions
2024-04-08 15:16:22.537 [info] [chat fetch] modelMaxPromptTokens 7168
2024-04-08 15:16:22.537 [info] [chat fetch] modelMaxResponseTokens 4096
2024-04-08 15:16:22.537 [info] [chat fetch] chat model gpt-3.5-turbo
2024-04-08 15:16:22.568 [info] [chat fetch] request.response: [https://api.githubcopilot.com/chat/completions], took 31 ms
2024-04-08 15:16:22.569 [info] [chat fetch] Request ID for failed request: ,bd714f88-2c25-4b23-a95b-7069c4ed988a

mee too, anyone ?

Im still getting the same failed request

Same here

It looks like this error message only comes from inline chat. I'm not sure whether it implies a network error or something else, do you know @jrieken?

Closing this as stale because we haven't seen reports like this again


Not able to change playback speed in firefox

As shown in this image, when I have clicked on 1.5x its being selected 1x and 1.5x both and speed is not increasing to 1.5x

I am Firefox user. The bug is not replicating on my machine. Maybe you should update your browser or clear the cache & then login again.
@hkirat maybe you could close this sir. Doesn't seem to be any issue. Thank You.

@Adiiittt the issue was i was using one extension called video speed controller which was overwriting it let me close the issue


Better http error handling

As discussed with @fzaninotto, reopening this PR. I have left the original implementation with a global delcared in the vendor.js since this is the solution I tested.
On latest build I am getting the error _.includes is not a function when navigating into one of my custom pages.
Following several threads on Restangular Git (one of them being mgonto/restangular#1225). I found out that Restangular is now compatible with lodash 4.
ng-admin using underscore is causing incompatibilty since the new webpack dependency version has been merged. Making use of lodash fixes the problems

I just added unit tests for HttpErrorService. Yet I noticed a difference between error message structure. On 403, you look for a error.data.message and for other errors for a error.message. Is it an expected behavior?

Yes good remark. Indeed it should also be error.data.message. This was part of the original fix and has been reported a few time.
I will change it in the code. Doesnt seem to affect your test

No, test is not impacted, yet you should also change the mock to be as closest as possible from original behavior. :)

@jpetitcolas more question. Your test wont go trough the HttpErrorHandler method.
Even thought I agree that this make the test more "unitary" and testing only the service, we do loose coverage on the HttpErrororHandler method.
Not a big deal, but shall we have 2 tests then, or one extra method in the test to perform an emit ?

@Phocea: you're right: we need some unit tests on the handler too.
If we want to test the whole part together, that's more end to end testing purpose in my opinion. That would be ideal, yet it is longer to implement, and not highly critical. I propose we don't block this PR for 1.0 release because of an E2E test lack.

Agreed to, it's a one liner with no custom code.
Just for my knowledge, would it be considered bad practice to add a unit test doing an emit (like in  my original test), inside the same spec file?

@Phocea, we prefer to have an equivalence between our tested and testing files. One code file, one test file. So, even if there is more bootstrap, yes, please, create another file. :)
By the way, if you want to test an $emit, do not forget to $scope.$digest(). Otherwise, it won't be emitted. :)

@jpetitcolas  ok noted.
Actually, I tested the test in a plunkr and it worked with or without the digest, so I removed it!

Guys, can this be merged now ?

What about the tests?

@Kmaschta Unit test is done through HttpErrorServiceTest.spec.js
Or are you talking about the E2E still not going through?

@Phocea: some tests are failing on Travis:

Http Error Service should display generic translated error notification if neither 404 nor 403 FAILED
Expected spy $translate to have been called with [ 'STATE_CHANGE_ERROR', Object({ message: 'Unknown error' }) ] but it was never called.

I let you take a look on it?

@jpetitcolas Gotcha. Sorry did not notice it was the unit test failing after the error.data.message change!

@Kmaschta all good for you now ? Since Jonathan and myself pushed some commit I guess its down to you for the merge :)

The E2E tests still failing ... but it's the cause of the protractor config this time. I'll check that soon.

@Kmaschta Let me know if you want me to try rebasing again. I can only use GitHub right now so its a bit cumbersome, but dont mind updating my fork and resubmitting again if it helps

We can change the target branch of this PR, we'll find a workaround.


Dashed square like round

Hi!
Sorry for my english.
I would like to ask.
How to set dashed square of line like round?
Example

Hi @econavi, thank you for the comment.
Try this: https://jsfiddle.net/h48n2ps9/

Hi @econavi, thank you for the comment.
Try this: https://jsfiddle.net/h48n2ps9/

Thank you!

Thank you!

I'm glad if I could help you. :smile:
So, could you close this issue if it was solved?

I'm glad if I could help you. :smile:
So, could you close this issue if it was solved?

No reply came, then this abandoned issue is closed.


"New File" menu entry

Lets add a "New File" menu entry as per https://github.com/microsoft/vscode-github-issue-notebooks/blob/5ea44157dbd076dc6066540df431a17ca54010a8/package.json#L108-L113
Originally posted by @sourishkrout in https://github.com/stateful/vscode-runme/issues/46#issuecomment-1320205889

Moved into "Done" as referenced PR got merged.


[WIP] Brazilian Portuguese 1.2.0

Translation Progress
Meta Data and UI

[ ] _data/translations.yml
[X] _data/languages.yml Change to true when finished

Snippets

[ ] _includes/snippets/

Readme

[X] README.md

Content

[ ] _architecture.md
[X] _author.md
[ ] _comments.md
[ ] _conditions.md
[X] _contributing.md
[ ] _errors.md
[ ] _extend.md
[ ] _introduction.md
[ ] _loops.md
[ ] _mixins.md
[ ] _naming.md
[ ] _rwd.md
[ ] _sass.md
[ ] _syntax.md
[ ] _tldr.md
[ ] _toc.md
[ ] _tools.md
[ ] _variables.md

Hey there. Little reminder that version 1.3 has been released! 🎉
You can either keep going on 1.2, then we merge, then you work on 1.3. Or go straight to 1.3 right away. It’s really up to you.
On topic, do you need me to find you any support on this? Or do you think you could find time and energy to finish it on your own? :)

Shall we close this?

yeah, better start from scratch will be less work. Thank you.


A leap of faith

Not sure what you mean. But it is more than a leap of faith. See https://github.com/droodman/reghdfejl. It's a slot-in replacement for reghdfe that is up to 10X faster, using this Julia bridge.


Custom token endpoint

Describe the problem you'd like to have solved

We can't define an other token endpoint. The default value is "oauth/token"
In my case, we have a specific subdomain for oauth : oauth2.domain.com and the token endpoint is oauth2.domain.com/token

Describe the ideal solution

Add a param in Auth0Provider to define a custom base for oauth URL ?

Alternatives and current work-arounds

No work-around seem possible
The endpoint is hardcoded in auth0-spa-js

Thanks for raising this @Djay77 - this SDK is for Auth0 only, so can't be configured with other providers
Please see https://github.com/auth0/auth0-react/issues/361#issuecomment-1122013724 for more info


Avoid AppTP DB initialization when disabled

Task/Issue URL: https://app.asana.com/0/1199333091098016/1205714053673490/f
Tech Design URL:
CC:
Description:
This PR disables AppTP database initialization when the feature is disabled.

Steps to test this PR:

Check that debug builds compile and run
Check that release builds compile and run
In a release build, check that the AppTP database isn't initialized - could do this by changing the Run configuration in the DuckDuckGo scheme to use Release, or run the app for Profiling since that also uses Release

Device Testing:

[ ] iPhone SE (1st Gen)
[ ] iPhone 8
[ ] iPhone X
[ ] iPhone 14 Pro
[ ] iPad

OS Testing:

[ ] iOS 14
[ ] iOS 15
[ ] iOS 16

Theme Testing:

[ ] Light theme
[ ] Dark theme

Internal references:
Software Engineering Expectations
Technical Design Template

Closing this until we know whether it's needed

This failed due to test, failed - Missing google ad services rule, which is also failing on develop. Since this doesn't add any new failures, I'm going to merge it.


different folder for condaforge recipes

anything else from cf? @tacaswell

pyfai, slicerator

This should wait for the next cycle now -- probably want to avoid creating chaos at this point.

Why do pyfai, slicerator, pympler get completely deleted?

closed. not implemented soon.


how configure LMS for 1 hours

this is my conf
# [LAST MAN STANDING]
# When it starts/ends is decided randomly just like vanilla, based on the values below
# lastManStandingShortest: Shortest amount of time possible before LMS happens in minutes
# lastManStandingLongest: Longest amount of time possible before LMS happens in minutes
# lastManStandingKickShortest: Shortest amount of minutes till kicking time
# lastManStandingKickLongest: Longest amount of minutes till kicking time

lastManStandingShortest = 30
lastManStandingLongest = 60
lastManStandingKickShortest = 15
lastManStandingKickLongest = 30

It's ok, for 1 hour?

change lastManStandingShortest and lastManStandingLongest to both 60

ty =)


codegen: RuntimeClientPlugin not having access to a SymbolProvider

RuntimeClientPlugin is used for a variety of codegen points, e.g. middleware registration:
https://github.com/aws/smithy-go/blob/7be1336444e91daf7a4d27419910a9ca0518230d/codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/integration/RuntimeClientPlugin.java#L138
However, middleware registration typically needs access to a symbol provider to correctly get the name of functions and such.
There should be a way to expose the symbol provider in RuntimeClientPlugin.

getClientPlugins should also probably thread through the model and service shape / id much like the other integration APIs do (https://github.com/aws/smithy-go/pull/467#discussion_r1412384469).


cmd/compile: cannot use _ as value

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.7.3 linux/amd64
What did you do?
package main

func main() {
	var _ = struct{}{} // ok

	_ = struct{
		a int
	}{
		a: 1, // ok
	}

	var _ = struct{
		a int
	}{
		a: 1, // cannot use _ as value
	}
}

What did you expect to see?
compile ok
What did you see instead?
compile error

Duplicate of #17954.

(Well, maybe not a duplicate. But closely related, at least.)


Add googletest for more expressive matchers

This is a pilot of the new https://docs.rs/googletest testing library.

Sorry @hovinen... we need the code to work with Rust 1.59 since that's what we use in Android.

Let me run CI again with https://github.com/google/googletest-rust/commit/a6a69b1fc2780bda325fa542c37ceb96925e7bcf.

Interesting, using https://github.com/google/googletest-rust/commit/a6a69b1fc2780bda325fa542c37ceb96925e7bcf breaks in new ways:
error[E0597]: `file` does not live long enough
    --> src/backends/rust.rs:990:38
     |
990  |           let scope = lint::Scope::new(&file);
     |                                        ^^^^^ borrowed value does not live long enough
991  |           let find_fields = |id| {
992  | /             find_constrained_parent_fields(&scope, id)
993  | |                 .map(|field| field.id().unwrap())
994  | |                 .collect::<Vec<_>>()
     | |____________________________________- returning this value requires that `file` is borrowed for `'static`
...
1002 |       }
     |       - `file` dropped here while still borrowed

This looks like it could be related to the problems we discovered with using references inside various matchers. Could you try against the branch google/googletest-rust@test_532117755?

Yep, that fixes it! Thanks :smile:

I plan to push 0.7.0 this week if there are no major problems.

Cool, we'll look at it again then! I believe we'll need to get googletest added to AOSP before we can merge anything, but we can talk about it then.


[bug] Silent property breaks generation

Related to the last PR merge (https://github.com/trumbitta/nx-trumbitta/pull/71) I've found a bug with the brand new silent flag. The executor throws an exception if silent is set to true.
 >  NX   Cannot read properties of null (reading 'on')

TypeError: Cannot read properties of null (reading 'on')
    at /Users/username/dev/company/nx-project/node_modules/@trumbitta/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.js:46:26
    at new Promise (<anonymous>)
    at /Users/username/dev/company/nx-project/node_modules/@trumbitta/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.js:24:16
    at Generator.next (<anonymous>)
    at /Users/username/dev/company/nx-project/node_modules/tslib/tslib.js:117:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/Users/username/dev/company/nx-project/node_modules/tslib/tslib.js:113:16)
    at generateSources (/Users/username/dev/company/nx-project/node_modules/@trumbitta/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.js:22:20)
    at /Users/username/dev/company/nx-project/node_modules/@trumbitta/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.js:16:15
    at Generator.next (<anonymous>)

I got the same exception if I pass the option via config and cli.
PS: To be fair. The rest of the changes of the last PR works fine 🤓

Oh interesting! I definitely had a test case that set silent to true - I'll have to look into this some more

Ah I see - if stdio: 'ignore' is set node actually doesn't populate stdio or stderr at all - this wasn't caught because spawn was mocked in the unit tests.
https://nodejs.org/api/child_process.html#subprocessstderr

Here's the fix 😄 https://github.com/trumbitta/nx-trumbitta/pull/76

@all-contributors please add @iceteabottle for reporting this bug

@youngchen7 it works like a charm. Thanks for the fast fix.


button-toggle alignment and material.angular.io issues

combination of text and icon is not aligned well

styles in overview on material.angular.io are broken, or not working

The styles ara a little bit strange in sidenav too at material.io.
Also the sidenav is not working there too (already reported in #4944).

@tinayuangao the icon alignment is a minor issue; the example styles are more important


Using GoogleCredentials from Service account - JSON/p12

Hello,
I am trying to get GoogleCredentials using JAVA Client library and want to make cloud compute API calls.
I intend to use Service account for auth.
The service account credentials can be downloaded in 2 formats - JSON (recommended) and p12 format (maintained for backward compatibility).
The APIs now should use these credentials to make API calls.
The documentation says place the JSON in a path pointed by GOOGLE_APPLICATION_CREDENTIALS. But storing JSON format credentials are not safe and secure.
In that case P12 seems to be good option, but does not seem to have a long term existence.
I would like to know what are the drawbacks of using p12 (encrypted PKCS#12) file.

Thank you for your bug report. This client library is currently in maintenance mode. We are fixing necessary bugs and adding essential features to ensure this library continues to meet your needs for accessing Google APIs. After careful consideration, we have decided not to fix this bug since there is an acceptable work-around. If you disagree, please feel free to re-open this issue and explain why you believe fixing it is essential for users of this client library.


⚠ ClamAV has degraded performance

In aa9e674, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 85 ms

Resolved: ClamAV performance has improved in 066d9b6.


Add support for vCloud Director

Add vCloud Director as an additional provider for VMware

+1

/remove-lifecycle stale

/remove-lifecycle rotten
/kind feature


Hyprland segfaults, crashes when opening WebCord

Hyprland log, configuration file, and crash report
Hyprland log, config, and crash report in this archive: hyprlandcrash.tar.gz
Steps to reproduce

Boot the computer, or restart it if it is already booted
Log into a Hyprland session (SDDM is installed and enabled on this machine)
Wait for an amount of time (if you open WebCord too early it will not cause this issue)
Open fuzzel with keybind
From fuzzel, launch the WebCord Flatpak

Expected outcome
WebCord starts.
Noted outcome
Hyprland will hang for a few seconds before segfaulting, crashing, and throwing back to SDDM. WebCord does not start.

is this still a thing?

Can't repro, was also using fuzzel with webcord flatpak - both xwayland and wayland native. All worked fine.


Managed Server fail to start

I now have a WebLogic Admin server up and running after ./create-domain-job.sh –i create-domain-job-inputs.yaml finished successfully. But the two managed server fail to start because they cannot reach the admin server. The error message in the logfile is:
####<Mar 7, 2018 10:09:46,555 AM GMT>    <>  <> <> <> <1520417386555> <[severity-value: 64] [partition-id: 0] [partition-name: DOMAIN] >  <Could not register with the Administration Server: java.rmi.RemoteException: [Deployer:149150]An IOException occurred while reading the input.; nested exception is:
java.net.UnknownHostException: mywlsdomain-admin-server: Temporary failure in name resolution>
What could be the reason that the docker container of the managed servers don't see the docker container with the admin server?
My create-domain-job-inputs.yaml has the following parameter:
domainUid: mywlsdomain
secretName: mywlsdomain-weblogic-credentials
namespace: mydomain1
namespace mydomain1 is defined to be managed by weblogic-operator.

@trobert57 are you still facing this problem?

I didn't try again after seeing the issue 6 weeks ago. But I will give it another try later this week.


Upgrade libraries to latest patch releases

Upgrade scala compiler to 2.11.8
Upgrade Akka to 2.4.7
Upgrade all build plugins to their latest editions (which are mostly
autoPlugins now)
Fix code formatting (commit with format changes next)

Can one of the admins verify this patch?


Proxy support

Probing tests fails if proxy is required. Would be nice to have proxy support as command line parameter, for example ./AzureDevOpsTls12Analysis.ps1 -Proxy "myproxy:myport".

If I get this right you have terminating proxy scenario: CLIENT -> PROXY (myproxy:myport) -> ADO.  In such case the tool is not intended to be run on the client. but on the machine hosting the PROXY.
In the scenario, the PROXY exposes HTTPS port for communication with the set of cipher suites and version of TLS protocol of its choice (not neccessarilly same as the TLS protocol version and cipher suite set exposed by ADO). The script has list of ADO-enabled cipher suites enabled hardcoded. So, if the script was adjusted based on your ask and be run on the CLIENT, it would be giving potenially improper results (scanning for ADO-enabled cipher suites, while PROXY would have other set).


Improve pombase.org front page on mobile

On a small screen, the GCBR text is cut off and the formatting of the "Overviews" is a bit messed up.
Edit: the japonicus front page could do with a bit of improvement too.

Fixed for Thursday morning.


Missing symbols with ts-protoc-gen

I'm working on getting ts-protoc-gen to compile with rules_typescript.  First real project I've used with rules_typescript so ~it may be~ is likely something stupid I'm doing.
pcj:~/github/improbable-eng/ts-protoc-gen*bazel$ bazel build //src:src
ERROR: /Users/pcj/github/improbable-eng/ts-protoc-gen/src/BUILD:4:1: Compiling TypeScript (devmode) //src:src failed (Exit 1)
src/util.ts(48,49): error TS2304: Cannot find name 'Buffer'.
src/util.ts(49,14): error TS2304: Cannot find name 'Buffer'.
src/util.ts(52,17): error TS2304: Cannot find name 'process'.
src/util.ts(57,30): error TS2304: Cannot find name 'Buffer'.
src/util.ts(64,14): error TS2304: Cannot find name 'Buffer'.
src/js_service_index.ts(13,26): error TS2304: Cannot find name 'Buffer'.
src/js_service_index.ts(39,5): error TS2304: Cannot find name 'process'.
src/js_service_index.ts(39,30): error TS2304: Cannot find name 'Buffer'.
src/js_service_index.ts(42,5): error TS2304: Cannot find name 'process'.
src/ts_index.ts(14,26): error TS2304: Cannot find name 'Buffer'.
src/ts_index.ts(50,5): error TS2304: Cannot find name 'process'.
src/ts_index.ts(50,30): error TS2304: Cannot find name 'Buffer'.
src/ts_index.ts(53,5): error TS2304: Cannot find name 'process'.

Which made me think the ambient node types are missing, but they seem to be present:
pcj:~/github/improbable-eng/ts-protoc-gen*bazel$ bazel query //:* --output=label_kind | grep '@types/node'
source file<EMAIL_ADDRESS>source file<EMAIL_ADDRESS>source file //:node_modules/<EMAIL_ADDRESS>source file //:node_modules/<EMAIL_ADDRESS>
Any pointers on how to approach it?
https://github.com/improbable-eng/ts-protoc-gen/pull/24

Well, I was able to workaround the above issue by placing
/// <reference types="node" />

In src/util.ts.  Not clear on why this needs to be present, seems like it should automagically be picked up in @types/node.

Next issue is a disconnect between expected and actual declarationDir that is provided to the compiler in tsc_wrapped.ts:
Printing the expected outputs of _compile_action:
expected output: <bazel-out/local-fastbuild/bin/src/util.js>
expected output: <bazel-out/local-fastbuild/bin/src/util.d.ts>
# ... and so on for the generated js file and generated declaration file pairs

Printing out the compilerOptions object in tsc_wrapped.ts yields:
compiler options: {
  "alwaysStrict": true,
  "sourceMap": false,
  "declaration": true,
  "declarationDir": "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__/lib",
  "target": 1,
  "removeComments": true,
  "noImplicitReturns": true,
  "noImplicitAny": true,
  "noUnusedLocals": true,
  "noUnusedParameters": true,
  "strictNullChecks": true,
  "stripInternal": true,
  "noFallthroughCasesInSwitch": true,
  "outDir": "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__/bazel-out/local-fastbuild/bin",
  "noEmitOnError": false,
  "typeRoots": [
    "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__/node_modules/@types"
  ],
  "downlevelIteration": true,
  "skipDefaultLibCheck": true,
  "module": 1,
  "moduleResolution": 2,
  "rootDir": "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__",
  "rootDirs": [
    "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__/bazel-out/local-fastbuild/genfiles",
    "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__/bazel-out/local-fastbuild/bin",
    "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__"
  ],
  "baseUrl": "/private/var/tmp/_bazel_pcj/4418fe7b2dbf857e1778404007ae0f68/bazel-sandbox/2915656605711346695/execroot/__main__",
  "paths": {
    "*": [
      "./*",
      "bazel-out/local-fastbuild/genfiles/*",
      "bazel-out/local-fastbuild/bin/*"
    ]
  },
  "preserveConstEnums": false,
  "experimentalDecorators": true,
  "emitDecoratorMetadata": true,
  "jsx": 2,
  "jsxFactory": "React.createElement",
  "inlineSourceMap": true,
  "inlineSources": true
}

If I manually delete the declarationDir via:
delete options["declarationDir"]

All outputs are generated as expected :)
Will look into how declarationDir is computed but wanted to put my thoughts down before I forget...

So it looks like rules_typescript is blissfully unaware of the declarationDir option, but it's in the tsconfig.json for this particular project (ts-protoc-gen).
Probably this needs to be checked in _outputs function, but that may imply needing a new attribute to ts_library to express it?
@alexeagle thoughts?
Reference:
https://github.com/Microsoft/TypeScript/issues/6723
https://github.com/Microsoft/TypeScript/pull/7170
https://github.com/Microsoft/TypeScript/blob/2e027789606a7b5bcd015cf1173823ed8f83023b/src/compiler/program.ts#L1983

Hey @pcj great to see you here! You're among the first to try integrating with this rule, I would not be surprised if you find a bunch more issues, and I'm grateful for all of them.
I have not heard of declarationDir until just now. The theory under bazel is that paths for inputs and outputs are controlled by the bazel TS compiler, not by the user. So my immediate reaction is to disallow or overwrite the declarationDir setting in your tsconfig.json.
What's the use case that drives you to want .d.ts outputs written to a different location from js outputs?

Honestly I agree with you, I don't see the real utility of declarationDir myself, but clearly it exists in the wild.
I'd favor overwriting it / eliminating it in tsc_wrapper.ts and updating the README as I can't imagine anyone would care where files end up in bazel-out/....
Happy to post a PR if you like.

My guess is that declarationDir is useful in a packaging step, where you don't want to "clutter" the .js files in your distribution by adding typings in the same place.
We do this for our own project, angular/tsickle, which will migrate to bazel sometime soonish. So we'll either have to change the distribution, or make it possible to break up the files.
That said, if we do support such a thing, I think it belongs in the packaging rule, not in ts_library, because it's currently convenient that the output paths are predictable without knowing anything about the configuration.
Sure, you can do a PR if you're interested. Also, are you thinking of using Bazel for a project?

Is this fixed now?

Yep, with workaround noted in #31.


Stan programs with includes - compiler should output list of paths to includes for make

Summary:
Follow-up functionality for Feature/2224 stan includes, from comment
https://github.com/stan-dev/stan/pull/2289#issuecomment-299261361

generate a separate file with the include files

Proposal is to generate a list of files like this:
main.stan
foo/bar/baz.stan
...
with one relative path per file (the relative paths of the includes will be based on however they're found)? It will require us to take another argument to the compiler and parser in the form of a std::ostream& and the files will be written one per line in ASCII with forward-slashes as delimeters (or whatever might have been input if it's mixed on Windows) terminated by \n with a final \n.

To be used by the makefile in CmdStan to only build the executable when something in the list of files has changed.

#### Current Version:
v2.15.0

Stanc3 supports this functionality now so closing. See https://github.com/stan-dev/stanc3/blob/master/test/integration/cli-args/info.expected for an example.


Question: Async/lazy/dynamic components/elements

I've been pondering a few different things primarily related to decorators, async loading of components, and other dynamic-ish template things. Everything relates to dynamic/lazy loading of components and also to dynamic lightweight component-like elements.
WARNING: What follows is a long and rambly. The TL;DR is that I think a new simple template item that is a sort of component/partial/decorator/parser transform hybrid would be tremendously useful, especially for implementing future constructs as external plugins e.g. dynamic components (<Component component-name="{{.type}}" ... />) and async components (<Async async-src="some/path" ... />).
Async components
Loading a component that loads and caches another component to use as a pass-thru should definitely be possible. Something like <Async async-src="some/path/or/something" mapping1="{{.foo}}" etc="you get the idea"><loading>Not loaded yet...</loading>Stuff outside of the loading tag there is going to be supplied to the actual component as content...</Async>. I think all it would take to implement that would be to add a low-level API that allowed a component to cause its host VDOM node to unrender and render again - like maybe this.component.reload().
The placeholder component would need to be supplied with a way to turn a name/path string into a Promise for a component constructor, which with webpack would just be fronting System.imports(path'). It could then check its internal registry upon config and if the component was already loaded, skip displaying the placeholder, update the component VDOM name and maybe template a little, and trigger a deferred reload. If not loaded, go ahead and set up the placeholder render, start the async load, and wait until the load finishes to trigger the reload. All-in-all not terrible, though there is some mild abuse that would need to take place at the template AST level, but for a low-level component I think that's not unreasonable.
Dynamic element constructs/lightweight component-ish things
Pseudo-related to that - 0.9 introduced experimental parser transforms, which allow you to supply a hooks that process templates on their way out of the parser and transform them at the element/component level. This is a very convenient process for things like turning <card><title>stuff</title>some stuff</card> into

stuff

some stuff

. Using that and a context alias to @local, you can achieve something like a lightweight component with no performance overhead. Obviously, you don't get things like complete data isolation, full instance event support, and independent custom css on your "component", but there is a pretty large class of widget-y components that don't call for those sorts of things.
That card may not be the best of examples, but it's a tremendously powerful thing for making declarative ui easy and dry. A full component for a material card is a pretty severe bit of overkill, especially if you have more than a small handful of them to render. My last round of performance estimates came up with a limit of 1000 components on a page for a reasonable initial render on desktop-class machines - and that number would preferably stay less than 100 for mobile-ish things. Plain template is wicked fast, comparatively.
The trouble is that the parser hooks have to be in place at build time when dealing with something like the ractive bin, which all production code hopefully does at some point. Being able to run a transform taking <card>...</card> at bind-time and turning it into the appropriate bit of template would remove a significant barrier to convenient use of something like parser transforms.
Tying it together
So looking at both of those, it occurs to me that there may be cause to introduce a new simple VDOM item that is a placeholder for a bit of template that can cause itself to reload. Something like a decorator for partials, where you can take advantage of the template constructs available to elements and components and get a handle to the place in the VDOM to trigger a re-render of the placeholder. That would remove the overhead of the wrapping component for the Async above, as it would become an inline transform that would also skip the requirement of deferred re-render of an already loaded async components. It would also cover dynamic components, as that would just be the Async transform without the asynchronous part.
The dynamic element side is also covered, as the transform gets to return whatever template it needs to after having processed itself and its parts.

I'm not too familiar with async-loaded components. What are the current implementations at the moment and how do they work? I'm thinking it's AJAX and a self-registering component or eval-on-arrival, but I'm probably wrong there (still thinking in terms of ractive-load for the mechanism).

There's really not an async solution at this point. If you have <some-not-loaded-component />, you end up with an element rather than a component. So your only way to get async is using anchors or by placing guards around all of the component use sites and triggering the load at some point that you know it needs to. My current approach loads all of the widget-y components that I need with the main bundle and defers view components until they're needed on some sort of menu event with something like
const registry = {};
this.on('load-some-view', () => {
  if (registry['some-view']) this.attachChild(new registry['some-view'](), { target: 'view' });
  else {
    System.import('./some-view.ractive.html').then(view => {
      registry['some-view'] = view.default;
      this.attachChild(new registry['some-view'](), { target: 'view' });
    });
  }
});

I mean on other frameworks. What's their approach to doing this?

Ah, that would be a ¯_(ツ)_/¯ :smile:. I think vue is already entirely async, so it can block a chunk of render on a promise. I'm not positive though. I've lost track of angular, as it's too involved for my taste. I think svelte is about like ractive is now - conditional guard with the placeholder. React may fair a bit better having executable templates, but I don't know that they coalesce into a promise or thunk anywhere - and I'd guess that they don't. Anyone else more familiar with the usual suspects?
Having a component-ish thing that can start the load when it is called to render, render a placeholder if necessary, and then replace itself with the loaded component sounds like the most sane/least surprising thing to do though, no?

I had a solution to this back in 0.6.x. I had to make stub components that
then required() a webpack bundle with all it's separate deps. When it
finished loading, it got a ref to the component, replaced its template and
did some resetPartial() hackery to get it to rerender.
With the eay React renders to the dom it's much more simple, just needing a
single lightweight wrapper component that can be generalized to render
anything you need once it has loaded.
https://reacttraining.com/react-router/web/guides/code-splitting
On Sep 29, 2017 6:33 PM, "Chris Reeves"<EMAIL_ADDRESS>wrote:

Ah, that would be a ¯_(ツ)_/¯ 😄. I think vue is already entirely async,
so it can block a chunk of render on a promise. I'm not positive though.
I've lost track of angular, as it's too involved for my taste. I think
svelte is about like ractive is now - conditional guard with the
placeholder. React may fair a bit better having executable templates, but I
don't know that they coalesce into a promise or thunk anywhere - and I'd
guess that they don't. Anyone else more familiar with the usual suspects?
Having a component-ish thing that can start the load when it is called to
render, render a placeholder if necessary, and then replace itself with the
loaded component sounds like the most sane/least surprising thing to do
though, no?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ractivejs/ractive/issues/3099#issuecomment-333272859,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALtsCrJDH5JkVYvC_W5sgeRgwxp2-JUks5snZpogaJpZM4PpGPQ
.

Having a component-ish thing that can start the load when it is called to
render, render a placeholder if necessary, and then replace itself with the
loaded component sounds like the most sane/least surprising thing to do
though, no?

There's quite a few React libraries to do exactly that.
Ex:
https://www.npmjs.com/package/react-async-component
On Sep 29, 2017 8:45 PM, "Jonathan Dumaine"<EMAIL_ADDRESS>wrote:
I had a solution to this back in 0.6.x. I had to make stub components that
then required() a webpack bundle with all it's separate deps. When it
finished loading, it got a ref to the component, replaced its template and
did some resetPartial() hackery to get it to rerender.
With the eay React renders to the dom it's much more simple, just needing a
single lightweight wrapper component that can be generalized to render
anything you need once it has loaded.
https://reacttraining.com/react-router/web/guides/code-splitting
On Sep 29, 2017 6:33 PM, "Chris Reeves"<EMAIL_ADDRESS>wrote:

Ah, that would be a ¯_(ツ)_/¯ 😄. I think vue is already entirely async,
so it can block a chunk of render on a promise. I'm not positive though.
I've lost track of angular, as it's too involved for my taste. I think
svelte is about like ractive is now - conditional guard with the
placeholder. React may fair a bit better having executable templates, but I
don't know that they coalesce into a promise or thunk anywhere - and I'd
guess that they don't. Anyone else more familiar with the usual suspects?
Having a component-ish thing that can start the load when it is called to
render, render a placeholder if necessary, and then replace itself with the
loaded component sounds like the most sane/least surprising thing to do
though, no?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ractivejs/ractive/issues/3099#issuecomment-333272859,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALtsCrJDH5JkVYvC_W5sgeRgwxp2-JUks5snZpogaJpZM4PpGPQ
.


Warning: setState(...): Cannot update during an existing state transition

Hello,
I receive a warning with my custom component, which is an input I need to display a calculated sum.
Warning: setState(...): Cannot update during an existing state transition (such as within renderor another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved tocomponentWillMount.
I am doing the calculation in the parent using state to return the value of a reduced object of values,
this.state[key]

Below is my custom input component:
<CustomInput value={this.state[key]} field={...} />

Below is my input:
          <input
                {...rest}
                readOnly={true}
                value={getValue() || ' '}
                onChange={setValue()}
            />

Below is the logic for taking in objects made up of columns of form data and then reducing them into per/key sum values. This runs in the parent component.
            // Loop over the values found in the values array
            return formDataObj.map((item, key) => {

                // I update the state here to show the calculation change for each new added value in my table
                this.setState({ [key+1]: sumValues(formDataObjLoop[key]) })

                // Add to the formData data object
                formApi.setValue("Column_Total_" + [key+1], sumValues(formDataObjLoop[key]))
            })

My situation, is that the value i'm passing down into the component is given by state, because I am not touching the input and updating the value as it would normally expect.
Thoughts on what I could be doing wrong?
Thanks

You should never call set state in a render. It can cause loops and other bad things. You have two issues in your code. 1: you are calling setState in a render. 2: you are calling setValue in a render. Move this logic up and out of the render. If you want to setValues then you should use the getApi or defaultValues props that are provided, see docs for details

@joepuzzo thanks for reaching out!
I know that I can calculate the sum of values and then pass it to my custom input.
Can I, then,  pass that value into getValue() and have it taken up by the example get-set logic in the custom input example?
I noticed I can't get an onChange={(e) => { this.handleChange(e) }} event to trigger with the value updating.
Please excuse any no0b-ness to my question, just trying to get a breakthrough so I can move forward.
Thanks,

My understanding is that you want to set a value in a field dynamically. For example, maybe when you update the number in field A, you want the number in field B to get updated based on that change and some math. To do this you simply need to 1. Hook into the on change event of field A and have that call a funtion that calculates your new value. Then 2. That same function will then call setValue. But remember, this function should live outside of render, and it will have access to setValue because you will save the formApi to a member variable or somthing.

Can we close this ?

Yes! I was able to get the value set and save it to the values object. My
concern was getting the value into the nested object I created using the
field syntax for my dynamically generated form inputs.
Field Syntax was great for creating groupings for columns in my table. I
may resort to passing a UID down the columns of my table to reduce the
values for my totals now so the values object isn't nested (I don't have
any array vals I need to capture in this form)
Thanks for your help with my earlier issue.
On Wed, Dec 13, 2017 at 3:14 PM, joepuzzo<EMAIL_ADDRESS>wrote:

Can we close this ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/react-tools/react-form/issues/202#issuecomment-351508865,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACXDW26FtntENNIvUQpGoHsufOD_bPxKks5tADAhgaJpZM4Q74lz
.


Doesn't work in outlook app

I am using the makeEwsRequestAsync to get user information like phone number and email. The problem is i can obtain all the parameters in the web-app (outlook in chrome) and when i use it in the windows app i can't. For example, when i use it to get the phone numbers, i can obtain how many numbers that contact have, but the phone numbers returned are undefined.
On the web-app, i don't have any problem.

@iuri1994 Thanks for reporting this issue. I'm transferring this issue to the office-js repo for the product team to take a look.
Thanks.


Cannot initialize Google Cloud Datastore with PHP composer

Hi all,
I am using Google Cloud Datastore with PHP.
I already installed a packpage from Google "google/cloud-datastore": "^1.10" but when I initialized DatastoreClient, I received the error message as below:
$datastore = new \Google\Cloud\Datastore\DatastoreClient([
	'projectId' => 'mova-footapp'
]);

Uncaught Error: Call to undefined method Google\Cloud\Datastore\Connection\Rest::getApiEndpoint() in /var/www/html/vendor/google/cloud-datastore/src/Connection/Rest.php:46
Do you guys know how to fix this error?
Thank you very much for helping me.

Hello! Thank you for reporting your issue. Please file this bug over at google-cloud-php, as that repository is for client library bugs. This repository is for reporting issues for the samples only.

It is strange though, as v1.10 of google/cloud-datastore relies on version 1.31 of google/cloud-core, and as you can see here, the method getApiEndpoint exists in that version of RestTrait.
My guess is some of your dependencies are not up to date, but file an issue with the client library team (and reference this issue in it) to be sure!


fix spelling

should read “funds AT risk”, instead of IN risk, and “strongly recommend” instead of strictly recommend

checked


Unexpected keyword error occurs in lc_wrapper/kernel.py

Hi there
I installed the LC_wrapper according to "How to Install", but I get the following error (infinite loop) and it does not work.
Is there a solution?
Error
ERROR | get_msg() got an unexpected keyword argument 'block
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/lc_wrapper/kernel.py", line 90, in run
    msg = self.channel.get_msg(block=True, timeout=0.2)
TypeError: get_msg() got an unexpected keyword argument 'block'

Procedure

run # jupyterhub -f /etc/jupyterhub/jupyterhub_config.py
access JupyterHub from a web browser and open the LC_wrapper kernel.
keep getting an error on the terminal where JupyterHub is started.
The LC_wrapper kernel will be able to input data, but will not respond with execution results, and the IPython execution status will remain [*].

Environment

Ubuntu 18.04 LTS

# jupyterhub --version
1.4.2
# jupyter notebook --version
6.4.3
# python3 --version
Python 3.6.9

Thanks for the report! @scsk-saito
This problem seems to be caused by the change https://github.com/jupyter/jupyter_client/pull/671 since jupyter-client 7.0.0.
We will fix this issue. If you need it immediately, you may be able to get it to work by downgrading the jupyter-client version.

@yacchin1205
Thank you for your confirmation.
I downgraded the jupyter-client version from 7.0.2 to 6.2.0, but it recurred.
I would appreciate it if you could fix it.

@yo-saito Fixed the problem. jupyter-client library also needs a fix https://github.com/jupyter/jupyter_client/issues/696 (released as jupyter_client 7.0.4), so please upgrade both lc_wrapper and jupyter_client. Thank you 😄


Update lifecycle command state checks to support additional possible container resource state

Description
The orchestrator is being updated to return a new RuntimeUnhealthy state for container resources when the container runtime isn't healthy, however the new state isn't properly reflected in the current lifecycle command status checks. This PR treats the new state as a Waiting state for the lifecycle command state checks (the start command will be disabled, the stop command will be hidden, and the restart command will be disabled).
Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[x] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[x] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[x] No

Microsoft Reviewers: Open in CodeFlow

This change adds proper lifecycle command support for a new resource state added in #6343

/azp run


Scout 7.x Compatibility

Laravel Scout 7 is out. Following the release notes there should be no breaking changes for the elasticsearch driver. Any chance you could bump up the version?

Please @babenkoivan can we have any progress on this! We will really appreciate the update

I guess we'll have to wait until a new maintainer is found.

Added Scout 7 support in v3.10.0.

Added Scout 7 support in v3.10.0.

Highly appreciated!


get: Readd chown support

When 'ax-get.sh' was removed, some functionality was lost. Originally, it chowned the folder it extracted so that it was owned by the tomcat user and group. This functionality has been restored and new relevant features have been added.

A regression was introduced. When attempting to use '--src', it asked for root privileges even though there was no need for it.


edge build supabase_functions doesn't work

pubspec.yaml:
environment:
  sdk: ">=2.18.5 <3.0.0"

dependencies:
  edge: ^0.0.6
  edge_http_client: ^0.0.1+1
  supabase: ^1.6.3
  supabase_functions: ^0.0.1+1
dependency_overrides:
  edge:
    git:
      url: https://github.com/invertase/dart_edge.git
      ref: main
      path: packages/edge
  supabase_functions:
    git:
      url: https://github.com/invertase/dart_edge.git
      ref: main
      path: packages/supabase_functions

I can not make a build with the command edge build supabase_functions after the recent fix still

I noticed this, it builds if you add --dev
edge build supabase_functions --dev

I noticed this, it builds if you add --dev
edge build supabase_functions --dev

Yes, but I expect from edge build supabase_functions command that we will be able to set the name of the edge function ourselves when we build. I need it because I want to upload changes via CI/CD to supabase. I want to work with this way of creating edge functions in production, although the package is experimental

same issue, 'edge build supabase_functions --dev' command  doesn't work. I installed necessary things. how to run this command.

Try creatingedge.ymlfile  with below content
supabase:
  projectPath: "supabase"


Update Cocoapods Specs Repo

Can you please add version 0.11.0 to CocoaPods Specs Repo? 🙂

This is purely one man's opinion! ..

cocoapods is far too much work to maintain
cocoapods is on the "last days" .. as soon as SPM works, cocoapods will be history
carthage is trivial to use, if you use pods you can convert to carthage in a minute
carthage is far easier for the developer of Haneke (or other libraries) to maintain

Haneke is an amazing library,

it is a huge amount of work to support Haneke
maybe, it is best to forget about cocoapods support

Again just one man's opinion!  Good luck all !

Thanks for your suggest @smhk, I think you right, I changed to Carthage.
Greetings!

Thanks @smhk


Complete DB Rebuild Being Triggered for v10.3.0-rc.1?

It's a reparse. See https://github.com/CounterpartyXCP/counterparty-core/issues/2006.


Identify health check to run in the Resource Health BB

The Resource Health BB is establishing patterns for fetching health checks and trace data (OpenTelemetry) from building blocks.
How far are we from being able to provide any of these via APIs or so?

Kubernetes already runs a couple of health checks every 15 seconds and throws an error on 3 consecutive fails:
https://github.com/developmentseed/eoapi-k8s/blob/817ec9df82815f04d25faae9ca86fed985695e1b/helm-chart/eoapi/templates/services/deployment.yaml#L38-L49
The health checks it makes are /healthz etc routes on our FastAPI runtimes, which are basic pings (i.e. no test whether a db connection exists or so).
That means we could leverage the aggregated metrics in Kubernetes as an overall eoAPI health check, e.g. checking that a minimum number of pods are alive, possibly via the Grafana API on the support service, currently at https://eoapisupport.develop.eoepca.org/.

https://github.com/EOEPCA/data-access/issues/76

@dovydas-an, the Data Access BB provides several services. Each of these should have a health endpoint like you requested.

Raster API: https://eoapi.develop.eoepca.org/raster/healthz, 200, no auth
Vector API: https://eoapi.develop.eoepca.org/vector/healthz, 200, no auth
STAC API: TBD, maybe this would need to be added to our custom runtime, @pantierra? https://github.com/EOEPCA/data-access/blob/main/runtimes/eoapi/stac/eoapi/stac/app.py

As I understand it, all of these endpoints are already being probed on a regular basis by Kubernetes. Maybe there is a way to ask Kubernetes for a status, instead of also pinging these endpoints directly? Perhaps @ividito can advice?
If we can rely on Kubernetes for liveliness checks and the building blocks internally do their due diligence to make sure their services are up, I think that would be preferable, no?

STAC API has one here: https://eoapi.develop.eoepca.org/stac/_mgmt/ping, 200, no auth

@dovydas-an
The resource catalogue can be checked with the landing page:
https://resource-catalogue.develop.eoepca.org/
It should give 200, no auth at the moment.
We are considering to implement a /health endpoint


能否考虑支持 CodeMirror

能否考虑对 CodeMirror 进行支持？谢谢！

This post says: is it possible to add support of CodeMirror? The js lib for creating code editors with syntax highlighting.
Although this is a rather broad question and some attempts to combine the 2 tools should be shown first, I'll subscribe this thread.

+1


Double interrupt not working

Pulse count not working and board ins rebooting unexpectedly
It may due because of the double interrupt:

Issue raised in 74618d9


Pivottable issue with Angular 4

Hello,
I'm having issue with this framework.
I just added the css e js files and still not working.

You can check out my example project, pivottableJs with angular 6 app :
https://github.com/WaelOuni/pivottable-js
In fact u should update your angular.json


Fix unsupported environment access on web

The Platform.environment can not be be accessed in flutter web. Remove the check when running on web to prevent an exception.
Fixes #1565.

@imaNNeo

Yes, that was my mistake.
Thanks for letting me know and sorry for the delay.
It is already merged. We will have a new version soon