Sidecar resource with workloadSelector only match Services

Describe the bug
When registering a Sidecar resource to restrict what a certain Pod can see, the restrictions are not applied if the spec contains a workloadSelector.
Expected behavior
When a Sidecar resource has a workloadSelector, it should be used to select pods for which the restrictions should be applied.
Steps to reproduce the bug
Take an empty Kubernetes cluster with Istio 1.1.0-snapshot.6.
Then apply this minimal configuration of one consumer – testcurl – and 2 provider services – testserver and testserver2 – in the namespaces consumer and provider, respectively:
apiVersion: v1
kind: Namespace
metadata:
  labels:
    istio-injection: enabled
  name: consumer

---
apiVersion: v1
kind: Namespace
metadata:
  labels:
    istio-injection: enabled
  name: provider

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: testcurl
  namespace: consumer
  labels:
    app: testcurl
spec:
  selector:
    matchLabels:
      app: testcurl
  replicas: 1
  template:
    metadata:
      labels:
        app: testcurl
    spec:
      containers:
        - name: testcurl
          image: tutum/curl
          command:
            - sleep
            - "1000000"

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: testserver
  namespace: provider
spec:
  selector:
    matchLabels:
      app: testserver
  replicas: 1
  template:
    metadata:
      labels:
        app: testserver
    spec:
      containers:
        - name: testserver
          image: kennethreitz/httpbin
          ports:
            - containerPort: 80
              name: http

---
apiVersion: v1
kind: Service
metadata:
  name: testserver
  namespace: provider
  labels:
    app: testserver
spec:
  selector:
    app: testserver
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: http

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: testserver2
  namespace: provider
spec:
  selector:
    matchLabels:
      app: testserver2
  replicas: 1
  template:
    metadata:
      labels:
        app: testserver2
    spec:
      containers:
        - name: testserver
          image: kennethreitz/httpbin
          ports:
            - containerPort: 80
              name: http

---
apiVersion: v1
kind: Service
metadata:
  name: testserver2
  namespace: provider
  labels:
    app: testserver2

spec:
  selector:
    app: testserver2
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: http

Open a shell in the testcurl container and test that a curl command to both providers return HTTP 200:
$ k exec -ti -n consumer testcurl-... -- curl -v testserver.provider:8080/get
$ k exec -ti -n consumer testcurl-... -- curl -v testserver2.provider:8080/get

Now create this sidecar resource:
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
  name: testcurl
  namespace: consumer
spec:
  egress:
    - hosts:
        - "provider/testserver2.provider.svc.cluster.local"

After that testcurl is able to only connect to testserver2:
# This returns HTTP 404
$ k exec -ti -n consumer testcurl-... -- curl -v testserver.provider:8080/get
# This returns HTTP 200
$ k exec -ti -n consumer testcurl-... -- curl -v testserver2.provider:8080/get

Now update the same sidecar resource so that it explicitly selects the consumer workload:
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
  name: testcurl
  namespace: consumer
spec:
  workloadSelector:
    labels:
      app: testcurl
  egress:
    - hosts:
        - "provider/testserver2.provider.svc.cluster.local"

(I added the label app=testcurl to the Pod and Deployment just to make sure I didn't miss anything, I would expect though that the label on the Pod would be sufficient.)
Now try the same commands again:
# This should still return HTTP 404, but now it returns HTTP 200
$ k exec -ti -n consumer testcurl-... -- curl -v testserver.provider:8080/get
# This returns HTTP 200
$ k exec -ti -n consumer testcurl-... -- curl -v testserver2.provider:8080/get

I expected the workloadSelector to still apply the restriction on egress traffic for the testcurl Pod, but as the result of the curl shows, it looks like traffic is not restricted anymore.
Version
Istio 1.1.0-snapshot.6 on Kubernetes 1.10.11 on Docker for Mac
Installation
helm install . --name istio --namespace istio-system \
  -f values-istio-auth-mcp.yaml  \
  --set global.mtls.enabled=true \
  --set global.tracing.enabled=true \
  --set pilot.traceSampling=100.0 \
  --set tracing.enabled=true \
  --set grafana.enabled=true

Environment
Local, Docker for Mac
Cluster state
{{ If you're running on Kubernetes, consider following the
instructions
to generate "istio-dump.tar.gz", then attach it here by dragging and dropping
the file onto this issue. }}

could you delete the sidecar resource completely and retry with the new one (that has label selectors)? There was an issue earlier that the config updates to sidecar resources were not respected

I tried directly creating the sidecar resource with the workload selector and it showed the same behavior, i.e. it allowed the call to testserver.provider even though.
Looking at the sources now it seems like this functionality is implemented in pilot/pkg/model/push_context.go:
https://github.com/istio/istio/blob/f62b4fa7d7ade9ab1c4a7d0307e649cc86d1434f/pilot/pkg/model/push_context.go#L455-L463
I'll try to dig deeper into this tomorrow.
I find this comment worrying though:
		// TODO: logic to merge multiple sidecar resources
		// Currently we assume that there will be only one sidecar config for a namespace.

Does that mean Sidecars are not ready to use yet?
Because as it's impossible to have multiple workloadSelectors, the only way to treat multiple workloads in one namespace differently  is to configure multiple Sidecars.

@rshriram @robertpanzer I think the root cause it testCurl not belong to any service so there is empty serviceInstances when calling
func (ps *PushContext) getSidecarScope(proxy *Proxy, proxyInstances []*ServiceInstance) *SidecarScope {
So that the workloadSelector does not take effect.

Configuring a Service for my Deployment indeed fixed the problem.
But what is the reason for this? (Not in terms of implementation, but why)
My consumer deployment does not expose any ports. A Service though must have at least one Port, so I have to actually misconfigure it.
Also if this workloadSelector refers to a Service, I think the name 'workloadSelector' is unfortunate.
The policies vocabulary also uses the term workload in source.workload.uid and destination.workload.uid, and in this case it refers to the name of the Deployment.

Because as it's impossible to have multiple workloadSelectors, the only way to treat multiple workloads in one namespace differently is to configure multiple Sidecars.

that comment simply implies that if you have two or more sidecars with same workload Selectors or two or more sidecars with no workload selectors, there is no "merging" logic in place. You can definitely have multiple sidecars in a namespace as long as they all have different workload selectors.

Yes, I figured that by now. I misread the comment.
I also tested that I can have two consumers in the same namespace with different egress clusters.
I still don't understand though why it is required to have a Service.
Not every consumer is a provider at the same time.

I still don't understand though why it is required to have a Service.
Not every consumer is a provider at the same time.

That is a valid point. I believe we had this restriction right from the start of the project. Though it has been removed recently, parts of the Pilot code (like the sidecar selection) still rely on this GetProxyServiceInstances() call. And as the name implies, it returns a non-empty array if and only if the proxy has ServiceInstances associated with it [i.e. pod is part of a service]. If it is not, it returns empty.
This is a legacy API call that we haven't gotten rid of in Pilot.. ITs too late to make the change close to 1.1 release but we will try to get rid of it in the next patch release for 1.1

@costinm setting to P1, do you think this needs to be a P0.

@rshriram I think we can fix this,  for k8s, sometimes we just need some instance info like labels/locality。 So i suggest defining a general structure independent of service.

This is a legacy API call that we haven't gotten rid of in Pilot.. ITs too late to make the change close to 1.1 release but we will try to get rid of it in the next patch release for 1.1

agreed

ITs not that simple.. things like mTLS or rbac are defined on server side. and if a pod has no service instances, then these plugins can't be setup..

@rshriram can we just use proxy.Metadata here rather than get the labels of each serviceInstance? It seems like this makes more sense and would fix this issue. Is there any cases when we wouldn't want this behavior?

@howardjohn can you take this?

I took a stab at this in #12620
No idea if this is sufficient or if I was missing important aspects as the PR looks so small.

@howardjohn Taking the proxy.Metadata doesn't seem to work.
At least for me it's not updated on label changes to a pod.
It would need to create a new Envoy bootstrap config and restart it for that, right?

The same problem also seems to exist for the EnvoyFilter selectors:
https://github.com/istio/istio/blob/190d4c1c59328e2aca2611f3056a03d45c583ca8/pilot/pkg/networking/core/v1alpha3/envoyfilter.go#L116-L126
ProxyInstances = ServiceInstances, which don't exist for consumer only services.

This seems really common, I noticed the same problem for locality based LB. If we have found 3 places, I am sure there are more too.

Currently one sidecar workload must have associated service. If not, then the pod healthcheck will fail.

Currently one sidecar workload must have associated service. If not, then the pod healthcheck will fail.

Can you give a hint where that happens? Maybe I can do something about it.
This seems to be another bigger issue though.
Every application, also Pods without Services get a SidecarScope.

I mean this func (p *Probe) checkInboundConfigured() error {
in  pilot/cmd/pilot-agent/status/ready/probe.go

I am not sure I understand the relation to selecting Sidecars for consumer applications given that there is always a Sidecar associated with Proxy.
I even have my PR deployed locally and configured a Sidecar to select my Pod, that is not exposed with a Service and I see this in the log of the istio-proxy container:
2019-03-21T08:01:05.842063Z     info    Envoy proxy is ready

The function that you mentioned returns no error if the application/pod does not expose any port, and indeed agent is started with an empty list:
    - --applicationPorts
    - ""

yep

I created an alternative PR for this at https://github.com/istio/istio/pull/12666

@robertpanzer @howardjohn fix has been merged, can this be closed?

Yes, fix is merged in and will be released in 1.1.3 (expected around 4/15)


Refresh/Rescan Sonarr show when a show is in stuck queue with a reason of 'TBA'

A nice feature request would be to be able to automatically refresh the sonarr show once an hour when the reason for the stuck queue is 'TBA'. This would help resolve the stuck queue issue faster than the default 12hour automatic rescan from Sonarr

It isn't something the client will control. David just needs to expose the refresh endpoints in the starr library and I'll do the rest from server side (such as controlling how often) :)
PS.. That is why it was added to the website repo :p


Clicking on the "Check" button doesn't submit the form

Quick feedback - I first thought the app wasn't working for some reason, but it's just an issue with the submit button. Great work otherwise, this is useful!

Yes! On mobile only right? I noticed this the other day on Mobile Safari and @hone reproduced it on Mobile Firefox I think. It's weird. I thought I forgot to put a form field but it's there. My super terse HTML must be messing with something.

In Chrome, Mac OS X.
My super terse HTML must be messing with something.

Give me a bit of time, I will submit a PR.

Huh, weird. It works on mine...
(Try > for quoting BTW :-))

Hehe :smile: (good point on the quote, I was in a hurry and couldn't remember that :P)


Artist Profile and UI upgrades

Is your feature request related to a problem?
/
Describe the solution you would like

1 - when u put the new logo , it should be bigger
2 - center the tabs on top
3 - rounder corners for the language and the log in
4 - more saturated pink for the name of the artist
5 - make the area bigger
6 - remove this line and make four separate lines
Describe alternatives you have considered
/
Screeenshots
/

and one last thing , but i already mentioned it in the " BUY NOW is scary issue , to use this type of switch

.
.
The pop up that shows when you hover the mouse over this places should show these informations :
1 - created by " the name of the artist"
2 - collections created by " the name of the artist "
3 - show only nfts available for purchase
4 - nfts collected by " the name of the profile "
5 - previous page
6 - next page
7 - go to random page

@yangwao @vikiival
thats all i wish to see in an artist profile

and one last thing , but i already mentioned it in the " BUY NOW is scary issue , to use this type of switch

You can reference issues, hit # and type name of it :) it would help us link 🔗 together.

.
.
The pop up that shows when you hover the mouse over this places should show these informations :

#1326

I guess some of these were tackled?
📟 @XyloDrone

continue in #6663


Any() doesn't match mocked objects?

It seems like when Any() is used on either When() or Verify() it doesn't match a mocked object of that type.
You rather have to use Exact[type](myMock) for it to work.
For example I had this:
clientMock := Mock[githubUtils.GitHubClient]()
...
When(tokenManagerMock.CreateTemporaryToken(Exact[string]("test"), Exact[string]("repo"),
	Any[githubUtils.GitHubClient](), Exact[int64](0))).ThenReturn(true, "temp-token", nil)

It did not match when that CreateTemporaryToken() was called (and just returned false, "", nil)
But simply changing:
Any[githubUtils.GitHubClient]() to:
Exact[githubUtils.GitHubClient](clientMock) resolved the issue.
You have to do the same in both When() and Verify() it seems.
Is this some technical limitation?
I'm using v0.5.3

Can you provide minimal reproducible example of such behaviour?

Here you go https://github.com/HenrikPoulsen/mockio/commit/a807ff1a09c019cf3625562633466f422edd5704
Wrote some tests for you that reproduces it

Good news: Any() works as intended now.
Bad news: Exact() now behaves a bit oddly for the usecase mentioned, with it using a mocked object.
So there's some corner case missing in the tests I supplied, and I'm not sure what it might be TBH. Since the tests I supplied are working fine.
So when I update to 0.5.5 and run my tests, I see that Exact() now isn't working at all for my particular types (as outlined in the top of the issue) and Verify() is giving some very weird output.
As an example:
Verify(secretManagerMock, Times(1)).GetSecretRepoClient(Any[context.Context](), Exact[githubUtils.GitHubClient](clientMock), Any[string](), Any[string](), Any[bool]())
Which is green on the old version now gives me:
Cause:
        	expected num method calls: 1, got : 0
        		Manager.GetSecretRepoClient(Any[context.Context], Exact(&{[0xc00027a570 0xc00027a630 0xc00027a720 0xc00027a7e0 0xc00027a930 0xc00027aa20 0xc00027ab40 0xc00027ac00 0xc00027acc0] [11693312 10834432 0 10107456 10107488 10107520 10107552 10107584 10107616 10107648 10107680 10107712 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] <githubUtils.GitHubClient Value> 0xc0000096f8}), Any[string], Any[string], Any[bool])
        	However, there were other interactions with this method:
        		Manager.GetSecretRepoClient(context.Background, 0xc0000a78b0, test, repo, false)

Observe the spam of 0 0 0 0 0 0 etc.
I'll try to make a repro for this

I think I know what the issue is here, will try to fix it tomorrow.
Although it would still be good to have some test cases from your side.
Those 0 0 0 0 is simply a virtual table for a dynamic proxy struct.

Problem is fixed, both Any() and Exact() should work.
Can you please check?

Tested v0.5.6.
When updating all my existing tests we all green 👍
I changed all my Exact() to Any()and started using.Verify()` (which is very nice since it makes the tests less verbose when you want to be strict, like me).
So all is good, I see no more issues.
So looks like this issue can safely be closed. Thanks for the fixes


DraftKings Tiers Usage

Hi,
I'm having issues after trying the new tiers feature in 3.3.0 - when I try to run the following line:
optimizer = get_optimizer(Site.DRAFTKINGS_TIERS, Sport.BASKETBALL)
I get a NotImplementedError (KeyError: 'BASKETBALL') even though I have the latest version of the package installed
Am I misunderstanding the usage for the new game type?

Hi, It's strange because it works correctly for me, what python version do you use? As a workaround you can try to init optimizer in this way:
from pydfs_lineup_optimizer.sites.draftkings.tiers.settings import DraftKingsTiersBasketballSettings
from pydfs_lineup_optimizer import LineupOptimizer

optimizer = LineupOptimizer(DraftKingsTiersBasketballSettings)

Using that way returns the following for me:
`---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
 in
1 # generate_lineups_tiers(date,draftgroup,n_lineups=20)
----> 2 from pydfs_lineup_optimizer.sites.draftkings.tiers.settings import DraftKingsTiersBasketballSettings
3 from pydfs_lineup_optimizer import LineupOptimizer
4
5 optimizer = LineupOptimizer(DraftKingsTiersBasketballSettings)
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\sites\draftkings\tiers\settings.py in
5 from pydfs_lineup_optimizer.lineup_printer import DraftKingTiersLineupPrinter
6 from pydfs_lineup_optimizer.sites.draftkings.tiers.importer import DraftKingsTiersCSVImporter
----> 7 from pydfs_lineup_optimizer.rules import DraftKingsTiersRule
8
9
ImportError: cannot import name 'DraftKingsTiersRule' from 'pydfs_lineup_optimizer.rules' (D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\rules.py)`
I had been using 3.6.3, but I tried upgraded to 3.8.3 and the issue still persists unfortunately

If it's helpful context, I also get the issue as in Issue 175 in a new notebook, but not when reimporting the package in this specific notebook. I checked my PuLP version but it's listed as 2.3 and upgrading it doesn't do anything so I'm not sure how to resolve that either, but I'd imagine the two issues are related. I also just clean reinstalled Anaconda but that didn't help

Can you look for a version in your installed package?
from pydfs_lineup_optimizer import __version__
print(__version__)

It prints 3.3.0 in the already-opened workbook, but any new notebook that I open and try to load the package I get the error from Issue 175
`---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in
5 import os
6 import warnings
----> 7 from pydfs_lineup_optimizer import get_optimizer, Site, Sport, CSVLineupExporter
8 from datetime import datetime, timedelta
9 import json
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer_init_.py in
4 from pydfs_lineup_optimizer.exceptions import LineupOptimizerException, LineupOptimizerIncorrectTeamName,
5     LineupOptimizerIncorrectPositionName, LineupOptimizerIncorrectCSV
----> 6 from pydfs_lineup_optimizer.lineup_optimizer import LineupOptimizer
7 from pydfs_lineup_optimizer.lineup import Lineup
8 from pydfs_lineup_optimizer.sites import SitesRegistry
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\lineup_optimizer.py in
5 from typing import FrozenSet, Type, Generator, Tuple, Union, Optional, List, Dict, Set, cast
6 from pydfs_lineup_optimizer.lineup import Lineup
----> 7 from pydfs_lineup_optimizer.solvers import Solver, PuLPSolver, SolverException
8 from pydfs_lineup_optimizer.exceptions import LineupOptimizerException, LineupOptimizerIncorrectTeamName,
9     LineupOptimizerIncorrectPositionName
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\solvers_init_.py in
----> 1 from pydfs_lineup_optimizer.solvers.pulp_solver import Solver, PuLPSolver
2 from pydfs_lineup_optimizer.solvers.constants import SolverSign
3 from pydfs_lineup_optimizer.solvers.exceptions import SolverException
4
5
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\solvers\pulp_solver.py in
5
6
----> 7 class PuLPSolver(Solver):
8     LP_SOLVER = PULP_CBC_CMD(verbose=False, msg=False)
9
D:\Programs\Anaconda\lib\site-packages\pydfs_lineup_optimizer\solvers\pulp_solver.py in PuLPSolver()
6
7 class PuLPSolver(Solver):
----> 8     LP_SOLVER = PULP_CBC_CMD(verbose=False, msg=False)
9
10     def init(self):
TypeError: init() got an unexpected keyword argument 'verbose'
`

The fix in issue 177 solved my issues. Thank you for looking into this and for the new features!


Mark FITPACK functions as thread safe.

Fixes #4673.

For posterity, you should include a comment on the source code on the
rationale why these routines are threadsafe.

Good point. Done.

@erosennin (multithreading noob here) does it actually fix the problem in #4673? Is it possible to add a test case which does not depend on Qt being installed?

It can be tested with something like this:
import threading
import time

import numpy as np
import scipy.interpolate

r_ticks = np.linspace(0, 1000, 5000)
phi_ticks = np.linspace(0, 2 * np.pi, 5000)
r_grid, phi_grid = np.meshgrid(r_ticks, phi_ticks)

def long_running_calculation():
    print('interpolation started')
    scipy.interpolate.RectBivariateSpline(r_ticks, phi_ticks, r_grid * phi_grid)
    print('interpolation complete')

worker_thread = threading.Thread(target=long_running_calculation)

worker_thread.start()
for i in range(3):
    time.sleep(1)
    print('working')

The correct output should be like this:
interpolation started
working
working
working
interpolation complete

If scipy.interpolate.RectBivariateSpline() blocks, the output is something like:
interpolation started
interpolation complete
working
working
working

I'm not sure how to make this into a proper test case though, because it depends on timings and will fail if scipy.interpolate.RectBivariateSpline() completes too fast.

Thanks.
So is it correct that here you're relying on the assumption that the spline calculation takes longer than three seconds?
If this is the case, how about first running the calculation in the main thread, to gauge the runtime.
It is likely still too brittle for a regular test suite. I think it still makes sense to add something like this as a test case, guarded with SCIPY_XSLOW env variable (grep the tests for the usage, eg somwehere in sparse, stats/tests/test_fit.py IIRC). This way, it's both not run by automated tests, and it's readily available for troubleshooting if needed.

The problem here is that execution times depend on the system load, so the test can randomly fail even if the spline calculation takes longer than three seconds. There are many possible race conditions here.
Even worse, the test can give a false positive result under certain circumstances (pass where it should fail). I don't really like the idea of including such unreliable tests into the code base. Or, if we do so, perhaps we should consider adding a SCIPY_XUNRELIABLE env variable to clearly state that some tests are producing random results and should not be relied on. :)
And another point. If we add tests, we should add them for all scipy.interpolate functions and classes
affected by the patch, not only scipy.interpolate.RectBivariateSpline.
The question is, is it really worth it?

Granted, it's fragile, indeterministic enough so that it's not a good test case for unit testing.
And I agree, it's not worth adding tests for all the functions you marked as threadsafe in this PR.
Adding a test which is flakey by design is IMO doing more harm than it's worth. Multiplying the number of special classes of tests and env variables is probably overboard as well.
The only thing I'm asking for is a bit of code one can run manually (50 times over if needed) if there's a need to debug a possible threading issue. --- Maybe it's just me, and everybody else is debugging race conditions every day before breakfast, or maybe even instead of it; in that case please feel free to disregard what I'm saying. Otherwise, adding just what you wrote above would be good.
I see three possibilities:

cook up a "probabilistic" benchmark, a la https://github.com/scipy/scipy/blob/master/benchmarks/benchmarks/interpolate.py#L12
Likely too cool to be useful ;-)

add a test but guard it with SCIPY_XFAIL, so that it does not run in a regular test suite (see https://github.com/scipy/scipy/blob/master/scipy/stats/tests/test_fit.py#L56; use skipif to skip the test instead of marking it as a knownfail).

add a script to the testing directory, add comments, and mark it as a not test
(e.g., https://github.com/scipy/scipy/blob/master/scipy/stats/morestats.py#L1671)
Likely the cleanest option.

add a script to the testing directory, add comments, and mark it as a not test

I like this idea.
Added scipy/interpolate/tests/check_gil.py.

In my experience, what typically happens with such scripts, is that nobody runs them, and they will bitrot.

@pv what would you suggest?

I'd follow your second suggestion, and piggypack it on the test framework as usual, but turned off by default.

OK, I'll convert the script into a test case than, guarded by SCIPY_XFAIL.
By the way, is there a module for common test decorators like xfail and xslow? Copypasting just feels wrong. :)

There's no module so far for them. They however could be added in
scipy._lib._testutil or something like that.

Done. Converted the script into a test case.

Merging, thanks @erosennin!

Спасибо, братан!
^__^


Timeout on other services

When using it in combination with other logs but pointing to a machine that can't be reached (cause maybe it's currently offline) it greatly impact performance on other services causing timeouts.
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <targets>
      <target name="DeviceManagerLoggerTarget" xsi:type="File" fileName="C:/logs/DeviceManager/DeviceManager_${date:format=yyyy-MM-dd}.log" layout="${longdate} | ${uppercase:${level}} | ${message}" />

      <target xsi:type="SignalR" name="signalr" uri="http://<IP_ADDRESS>:89/" hubName="LoggingHub" methodName="DeviceManagerLog" layout="${message}|Hostname=${gdc:item=HostName}" />
    </targets>
    <rules>
      <!-- Trace, Debug, Info, Warn, Error, Fatal -->
      <logger name="DeviceManagerLogger" minlevel="Debug" writeTo="DeviceManagerLoggerTarget" />

      <logger name="*" minlevel="Trace" writeTo="signalr" />
    </rules>
  </nlog>

solved with async="true"


fix a couple of typos

Coverage remained the same at 87.992% when pulling df45ee62e77ca3d9150d12fda9c296e61ef2662e on paralax:patch-2 into 7dd63bd37e6cd22cd4d0fc672e36c2b3b1246fbf on thedevsaddam:dev.

Coverage remained the same at 87.992% when pulling df45ee62e77ca3d9150d12fda9c296e61ef2662e on paralax:patch-2 into 7dd63bd37e6cd22cd4d0fc672e36c2b3b1246fbf on thedevsaddam:dev.

Coverage remained the same at 87.992% when pulling df45ee62e77ca3d9150d12fda9c296e61ef2662e on paralax:patch-2 into 7dd63bd37e6cd22cd4d0fc672e36c2b3b1246fbf on thedevsaddam:dev.

Coverage remained the same at 87.992% when pulling df45ee62e77ca3d9150d12fda9c296e61ef2662e on paralax:patch-2 into 7dd63bd37e6cd22cd4d0fc672e36c2b3b1246fbf on thedevsaddam:dev.


youtube mobile height attirbute not working

i tired many time but cant find how to increase the mobile view height for this react player
it work fine on desktop view but not mobile height remain constant as small
https://drive.google.com/file/d/1Q-xyeZmj2XVKQ0DosZYGG5qiJJcYO3LB/view?usp=sharing

afgt-243510.df.r.appspot.com
this is my native site u can view it on mobile and desktop the bug issue i face is height on mobile view

Passing height={670}  will always set the height to 670px regardless of if you're on mobile or not.
I suggest using vw to adjust the height according to the width of the viewport. Something like height='50vw'
For more info, see https://css-tricks.com/fun-viewport-units/


Docker machine fails to create a machine on timeout on getting the docker releases

I'm trying to create a docker-machine, but it fails to do so when I do not have the boot2docker image stored in the cache (in ~/.docker/machine/cache):
docker-machine -D create --driver=virtualbox broken                                                                                Thu Nov  5 14:50:41 2015
Docker Machine Version: 0.5.0 (04cfa58)
Found binary path at /usr/local/bin/docker-machine-driver-virtualbox
Launching plugin server for driver virtualbox
Plugin server listening at address <IP_ADDRESS>:57490
() Calling RpcServerDriver.GetVersion
Using API Version 1
() Calling RpcServerDriver.SetConfigRaw
() Calling RpcServerDriver.GetMachineName
(flag-lookup) Calling RpcServerDriver.GetCreateFlags
Making call to close connection to plugin binary
Making call to close driver server
(flag-lookup) Calling RpcServerDriver.Close
Successfully made call to close driver server
Found binary path at /usr/local/bin/docker-machine-driver-virtualbox
Launching plugin server for driver virtualbox
Plugin server listening at address <IP_ADDRESS>:57494
() Calling RpcServerDriver.GetVersion
Using API Version 1
() Calling RpcServerDriver.SetConfigRaw
() Calling RpcServerDriver.GetMachineName
(broken) Calling RpcServerDriver.GetMachineName
(broken) Calling RpcServerDriver.DriverName
(broken) Calling RpcServerDriver.GetCreateFlags
(broken) Calling RpcServerDriver.SetConfigFromFlags
Running pre-create checks...
(broken) Calling RpcServerDriver.PreCreateCheck
(broken) DBG | COMMAND: /usr/local/bin/VBoxManage
(broken) Calling RpcServerDriver.GetConfigRaw
(broken) Calling RpcServerDriver.GetConfigRaw
Creating machine...
(broken) Calling RpcServerDriver.Create
(broken) OUT | No default boot2docker iso found locally, downloading the latest release...
Error creating machine: Error in driver during machine creation: Get https://api.github.com/repos/boot2docker/boot2docker/releases: dial tcp: i/o timeout

Just getting it using wget worked, but it was slow on resolving the host. Unfortunately you do not see timings in the output. But perhaps this i/o timeout should be increased or in case it keeps failing you send a message to the user on how to download it manually.
wget  https://api.github.com/repos/boot2docker/boot2docker/releases                                                                                Thu Nov  5 14:50:11 2015
--2015-11-05 14:50:22--  https://api.github.com/repos/boot2docker/boot2docker/releases
Resolving api.github.com... <IP_ADDRESS>
Connecting to api.github.com|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 117611 (115K) [application/json]
Saving to: 'releases'

releases                                                            100%[=====================================================================================================================================================================>] 114.85K   376KB/s   in 0.3s

2015-11-05 14:50:26 (376 KB/s) - 'releases' saved [117611/117611]

Also, when I tried to download it later it fails because too many people used this api call to get the releases (we are in a workshop by @arun-gupta). So perhaps it's not wise to depend on this API call to determine the latest version:
{
  "message": "API rate limit exceeded for <IP_ADDRESS>. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)",
  "documentation_url": "https://developer.github.com/v3/#rate-limiting"
}

Same problem as https://github.com/docker/machine/issues/2167

closed this in 1f0de8f


Do SSL setup on tomcat and enable application only on 443 port

Currently it is enabled on the 8443 port,, also 8080 is enabled as of now... we can change it to 443 and disable 8080.... key and crt file are in /home/ubuntu/sbskeys1/

We have apache server as well to work with mysql on ubunutu we will should
stop that service when we are deploying on finally
On Oct 19, 2015 6:14 PM, "Charan Thej Aware"<EMAIL_ADDRESS>wrote:

Currently it is enabled on the 8443 port,, also 8080 is enabled as of
now... we can change it to 443 and disable 8080.... key and crt file are in
/home/ubuntu/sbskeys1/
—
Reply to this email directly or view it on GitHub
https://github.com/chasethenag420/sbs/issues/58#issuecomment-149391097.

Hi,
I'd like to add you to my professional network on LinkedIn.

Nagarjuna

Confirm that you know Nagarjuna: https://www.linkedin.com/e/v2?e=0-ijdiepuv-bt&t=ssuw&tracking=eml-guest-invite-cta&ek=invite_guest&sharedKey=fLV_vC5x&invitationId=6093194557661470720
You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: https://www.linkedin.com/e/v2?e=0-ijdiepuv-bt&t=lun&midToken=AQFmrFVhGEd36Q&ek=invite_guest&loid=AQHEjGZIf9ga1QAAAVI9gN76xWg0kczurc4jluaRAxp1lHKqh2g2-fztZDxfrGiKPgRDKwBG88HivnwUVkrBadVUrLm_JaVjPrtYDFd74jqy3apFMs5S7J4xeQPC0WDEZ6I2ntc1jLg2b7OxEEBrE6ZLtHudjyK7ZDr0K2xaSMQ0I3RGXr0LIbtqsK6tHZROhg_g&eid=0-ijdiepuv-bt
This email was sent to<EMAIL_ADDRESS>If you need assistance or have questions, please contact LinkedIn Customer Service: https://www.linkedin.com/e/v2?e=0-ijdiepuv-bt&a=customerServiceUrl&ek=invite_guest
© 2016 LinkedIn Corporation, 2029 Stierlin Court, Mountain View CA 94043. LinkedIn and the LinkedIn logo are registered trademarks of LinkedIn.

Nagarjuna Myla would like to connect on LinkedIn. How would you like to respond?
Accept: https://www.linkedin.com/e/v2?e=-gavkdt-ijn3w6y6-b1&a=preRegInvite&ek=first_guest_reminder_01&li=14&m=hero&ts=accept_text&sharedKey=fLV_vC5x&invitationID=6093194557661470720
View Nagarjuna Myla's profile: https://www.linkedin.com/e/v2?e=-gavkdt-ijn3w6y6-b1&a=preRegInvite&ek=first_guest_reminder_01&li=3&m=hero&ts=profile_text&sharedKey=fLV_vC5x&invitationID=6093194557661470720
You received an invitation to connect. LinkedIn will use your email address to make suggestions to our members in features like People You May Know. Unsubscribe here: https://www.linkedin.com/e/v2?e=-gavkdt-ijn3w6y6-b1&t=lun&midToken=AQFmrFVhGEd36Q&ek=first_guest_reminder_01&li=16&m=unsub&ts=HTML&eid=-gavkdt-ijn3w6y6-b1&loid=AQGFo8WykG9V_AAAAVJg3zhSWR85N7-G2cHGwvcc3YMFYn2v99VtR0EfYJiK2kb488x0c5NhleqrOVO8HGLSBLiQWlDRCvGwXd4gWeIJNocIuP3CjJuC87Pxv3Vd1VkdszXTIipWGjFobVS7A7YtmDHs0lIRYiD0GzIN_H0aJ5NohAYYqz_OrTKOkuBLHs8nKB_D
This email was sent to<EMAIL_ADDRESS>If you need assistance or have questions, please contact LinkedIn Customer Service: https://www.linkedin.com/e/v2?e=-gavkdt-ijn3w6y6-b1&a=customerServiceUrl&ek=first_guest_reminder_01
© 2016 LinkedIn Corporation, 2029 Stierlin Court, Mountain View CA 94043. LinkedIn and the LinkedIn logo are registered trademarks of LinkedIn.


Fix ENOENT errors in _addToWatched

This fixes shama/gaze#45.
The additional test simply tries to run gaze on a filesystem where there is a broken symlink.
A more complete test-set would try to cause the race condition whereby a file that is due to be stat'd is deleted after it is queued but before fs.statSync is run however I am unsure how to go about creating that test.

I know there are big issues in gaze master that are holding up 0.6, but it would sure make a lot of people's lives a lot easier if this patch could be applied to the 0.5.1 tag and a 0.5.2 released that is identical to 0.5.1 but includes this fix. I'd be happy to do it myself, given appropriate npm collaborator status.
The workarounds that we are reduced to in the meantime are pretty horrific: https://github.com/jacksonrayhamilton/fix-gaze

@carljm The fix has been backported and published as 0.5.2. Please let me know if that issue still occurs. Thanks!

0.5.2 does fix the problem -- thank you!!


[FR] Re-validate/reset remote calendars command

Is your feature request related to a problem? Please describe.
I often re-open obsidian or remove and re-add my ical link to get new events to appear in Time Ruler.
Describe the solution you'd like
Similar to Full Calendar, a command that re-validates and/or resets remote calendars.

This is already there, click the "refresh" button.


privval: duplicate SignerListener: Listening for new connection module=privval during chain upgrades

Bug Report
Setup

CometBFT version: v0.38.9
Have you tried the latest version: no
ABCI app: gaiad
Environment:

OS: Debian 12
Install tools:
Others:

Config
priv_validator_laddr = "X.X.X.X:Y"

What happened?
During a chain upgrade, CometBFT seemingly attempts to accept two privval connections. TMKMS only opens one such connection, which otherwise works/remains stable. But in the logs (see below), the node continues to print the following in a loop, which is confusing to users during a chain upgrade and spammy in logs during a time when people are trying to keep an eye on them to figure out what happened.
What did you expect to happen?
These lines do not appear in the logs, though they seem to be a symptom of a deeper problem.
How to reproduce it
This is the tough part: we only witness this during a chain upgrade. It has impacted several recent chain upgrades however, including today's gaia v19 upgrade as well as recent Neutron upgrades.
It seems to be happening with every recent chain upgrade, however, when TMKMS is being used as a remote signer.
The problem persists after the chain has started, but can be fixed after a chain upgrade has completed by restarting the node.
Logs
2:36PM INF SignerListener: Listening for new connection module=privval
2:36PM ERR SignerListener: Error accepting connection err="accept tcp [::]:<port>: i/o timeout" module=privval
2:36PM INF SignerListener: Listening for new connection module=privval
... [etc] ...

The TMKMS side shows a stable connection without problems:
INFO tmkms::session: [cosmoshub-4@tcp://x.x.x.x:y] connected to validator successfully
WARN tmkms::session: [cosmoshub-4@tcp://x.x.x.x:y]: unverified validator peer ID! (ac9e6866a2b448a4444514b808f564bffe9d2b5d)
INFO tmkms::session: [cosmoshub-4@tcp://x.x.x.x:y]: signed Prevote:<nil> at h/r/s 21835201/0/1 (101 ms)

Anything else we need to know
This doesn't actually break anything, though it is very confusing during chain upgrades, and introduces a red herring when people are otherwise trying to debug TMKMS issues (e.g. people interpreted this error as potentially being a problem with enabling extension vote signing, even though everything was working)

Several validators experienced this problem during the recent cosmoshub v19/gaiad upgrade.
If you're a validator who experienced this problem, :thumbsup: this message.
We also experienced it on the most recent Neutron upgrade, and I believe the one before that.
If you've experienced it on other chain upgrades, please leave a comment and perhaps we can help narrow down the CometBFT version where this bug was introduced.

Are you upgrading from which version to which version?

Here's more logs of the full node startup:
2:16PM INF starting node with ABCI CometBFT in-process module=server
2:16PM INF service start impl=multiAppConn module=proxy msg="Starting multiAppConn service"
2:16PM INF service start connection=query impl=localClient module=abci-client msg="Starting localClient service"
2:16PM INF service start connection=snapshot impl=localClient module=abci-client msg="Starting localClient service"
2:16PM INF service start connection=mempool impl=localClient module=abci-client msg="Starting localClient service"
2:16PM INF service start connection=consensus impl=localClient module=abci-client msg="Starting localClient service"
2:16PM INF service start impl=EventBus module=events msg="Starting EventBus service"
2:16PM INF service start impl=PubSub module=pubsub msg="Starting PubSub service"
2:16PM INF service start impl=SignerListenerEndpoint module=privval msg="Starting SignerListenerEndpoint service"
2:16PM INF SignerListener: Blocking for connection module=privval
2:16PM INF SignerListener: Listening for new connection module=privval
2:16PM INF SignerListener: Connected module=privval
2:16PM INF SignerListener: Listening for new connection module=privval
2:16PM INF ABCI Handshake App Info hash=50C34F0029E8AF19A25FE2F6A17CC8CDDEFDA77576BC270BE5116F2AEE0B726F height=21835199 module=consensus protocol-version=0 software-version=v19.1.0
2:16PM INF ABCI Replay Blocks appHeight=21835199 module=consensus stateHeight=21835199 storeHeight=21835200
2:16PM INF Replay last block using real app module=consensus
2:16PM INF applying upgrade "v19" at height: 21835200 module=x/upgrade
2:16PM INF Starting module migrations... module=server
2:16PM INF adding a new module: 07-tendermint module=server
2:16PM INF migrating module feeibc from version 1 to version 2 module=server
2:16PM INF migrating module ibc from version 4 to version 5 module=server
2:16PM INF successfully migrated client to self-manage params module=x/ibc/client
2:16PM INF successfully migrated connection to self-manage params module=x/ibc/connection
2:16PM INF migrating module ibc from version 5 to version 6 module=server
2:16PM INF successfully migrated ibc channel params module=x/ibc/channel
2:16PM INF migrating module interchainaccounts from version 2 to version 3 module=server
2:16PM INF successfully migrated ica/host submodule to self-manage params module=x/ibc-interchainaccounts
2:16PM INF successfully migrated ica/controller submodule to self-manage params module=x/ibc-interchainaccounts
2:16PM INF migrating module provider from version 6 to version 7 module=server
2:16PM INF starting provider legacy params migration module=server
2:16PM INF successfully migrated legacy provider parameters module=x/ibc-provider
2:16PM INF migrating module slashing from version 3 to version 4 module=server
2:16PM ERR SignerListener: Error accepting connection err="accept tcp [::]:5007: i/o timeout" module=privval
2:16PM INF SignerListener: Listening for new connection module=privval
2:16PM ERR SignerListener: Error accepting connection err="accept tcp [::]:5007: i/o timeout" module=privval
2:16PM INF SignerListener: Listening for new connection module=privval
2:17PM ERR SignerListener: Error accepting connection err="accept tcp [::]:5007: i/o timeout" module=privval
2:17PM INF SignerListener: Listening for new connection module=privval
2:17PM ERR SignerListener: Error accepting connection err="accept tcp [::]:5007: i/o timeout" module=privval

This part in particular seems a bit weird:
2:16PM INF SignerListener: Blocking for connection module=privval
2:16PM INF SignerListener: Listening for new connection module=privval
2:16PM INF SignerListener: Connected module=privval
2:16PM INF SignerListener: Listening for new connection module=privval

Right after it successfully accepts a privval connection, it seems to start listening for a new one.


Project still not working

I'm trying again to deploy this template as a GH pages project (i.e. not using github.io as the site root). The page itself is created but displays only as raw text without the theme.
I have several questions:

When I click on Use this template, should I check  "Include all branches"?

In _config.yml, I am then setting the baseurl as  and the url as <mroberts1.github.io>. Is that correct?

Do I need to create a gh-pages branch and add a .github/workflow/jekyll.yml file to it in order to get GH Pages to deploy it, or should it deploy as-is?

Alternatively, do I need to choose the Jekyll option from the GH Actions page to get the project to build properly?

Thanks for your help with this.

Both are fine, what you need is there in the main branch.
Yes
As-is is fine. Github page now supports any branch
Nope. No need.

Check documentation at https://jekyll-garden.github.io/posts/how-to
I will add point 1 to that doc so that it's clear for everyone.

I'm also having this trouble trying to deploy this as a template from a project repository at makayla-moster.github.io/note-garden.
The theme isn't displaying correctly, is there something I've done incorrectly? I was super hype for this template to work with GH pages and it isn't, unfortunately.
My code is here.

@UnipiNotes so there's no way to host this project outside of yourusername.github.io? I use that for my personal website and would rather keep the two separate.

@makayla-moster I'm pretty sure that you can. I just recommended that way cause that's the "official" way according to the docs. My solution would be to change the _config.yml, specifically the baseurl.
Let's say that your repo has the name note-garden, your baseurl should be /note-garden. But now you will have broken links and in general the assets won't work.
What you have to do is, go to any html layout/include and check the links and assets and make sure they are correctly linked to note-garden. You can easily do that by just applying {{site.baseurl}} in that link.
For example a link that I see in the navbar should be changed to {{site.baseurl}}/posts, it will then correctly point out to /note-garden/posts.
Note: I would first test the site a lot after changing the baseurl and inserting {{site.baseurl}} to links just to make sure that everything works.

@makayla-moster : I just forked the repo, created one named sub-notes and it's working fine.  (The UI is different as homepage CSS is loading over this sub-domain)
Here is what I did :

Went to the Project page, and forked by clicking "Use this template"
Named it "sub-notes"
Modified config.yml line 23 and 24

baseurl: "/sub-notes"
url: ""

Went to Github pages settings, activated Pages.
Finally, modified some markdown, so that Jekyll will trigger and create Github Page environment
Done! (I have CNAME already set, hence it's going to hiran.in/sub-notes)

Try this! :)

@hfactor  Thank you! I'll check it out!

There are URL-level bugs, as I have hard-coded at most places and baseurl was never considered. I will check and correct that in new version.

Subpath is fixed. Check the latest version!


[Maven] Development branch uses different artifacts and versions than master, #130

Switched to released parent pom

Codecov Report

Merging #143 into development will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             development     #143   +/-   ##
==============================================
  Coverage          82.49%   82.49%
  Complexity           736      736
==============================================
  Files                 71       71
  Lines               2393     2393
  Branches             427      427
==============================================
  Hits                1974     1974
  Misses               170      170
  Partials             249      249

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 f9268c8...0df1540. Read the comment docs.


[URL change] XXManhwa

Source information
XXManhwa 1.4.2
Source language
Vietnamese-Vi
Source new URL
https://xxmanhwas.org/
Other details
No response
Acknowledgements

[X] I have updated all installed extensions.
[X] I have opened WebView and checked that the source URL has not changed yet.
[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I will fill out all of the requested information in this form.

Pls update url

Source new URL
https://xxmanhwa.top/


Create core throughput correction calibration files

Simulate data scanning a star across the FOV to map the core throughput
Process data to create a 2-D map of the off-axis throughput for each pixel (values between 0-1)
Create a library of off-axis PSFs and corresponding separation/PA of each PSF
Both of the above should go into a single calibration file
Write a function that allows one to pass in a manual (x,y) and obtain the core throughput correction at that location

A good place to start is reviewing @rzellem's paper: https://ui.adsabs.harvard.edu/abs/2022SPIE12180E..1ZZ/abstract

Marie and I have started to work on this and after considering the different tasks, the amount of work to be done, especially by myself, the deliveries, and due dates have come up with the following action plan:
We will first deal with satisfying the CTC requirements 1090881, 1090882, 1090883 and 1090884,  as per the JPL FDD: https://collaboration.ipac.caltech.edu/display/romancoronagraph/JPL+Functional+Design+Descriptions#JPLFunctionalDesignDescriptions-CalibrateCoreThroughput
These must be delivered and are necessary to close this issue.
Thus, we will open new issues on GitHub to deal with each of them: Write the functions within a core throughput calibration module, write and document their UTs, submit their PRs, etc until satisfied. Once they are satisfied, we may find that some of the tasks of this issue have been addressed and we can focus on the remaining ones.
In parallel, we will submit a plan to address the tasks in this issue that are not directly addressed by the CTC requirements. The plan will consist of a minimum set of simulated data and steps to complete this issue. As time permits, we may add more complexity.
If you have any questions please iterate on Slack to avoid cluttering GitHub.

These are the inks to each CTC req related to CT:
https://github.com/roman-corgi/corgidrp/issues/273
https://github.com/roman-corgi/corgidrp/issues/274
https://github.com/roman-corgi/corgidrp/issues/275
https://github.com/roman-corgi/corgidrp/issues/276


CI: bump Coveralls action

When I first added the Coveralls workflow (in
3176869088e6451f853e2b826f88958afa07f972), I copied instructions from the then-current README:
https://github.com/coverallsapp/github-action/tree/8cbef1dea373ebce56de0a14c68d6267baa10b44 That README suggested the use of coverallsapp/github-action@master, i.e. the "master" branch.
Sometime in 2023, Coveralls changed their default branch to "main" and stopped updating "master". I haven't found any mention of this in their README and GitHub Releases; they don't keep a changelog.
As time went by, GitHub Actions deprecated Node 16, so Coveralls action from "master" started throwing warnings.
This if easily fixed on our end by using the tagged version of the action.

coverage: 60.45% (-0.002%) from 60.452%
when pulling 19f4fcbcc0ac87d77bb6df96a34278c9c89a1dc6 on feature/ci-bump-coveralls-action
into a8c789b9b8f568d26cfed43fc76884223641b7ed on master.


Delete Message

I think there should be a delete feature for individual messages so that user can delete the message they don't want. It should be a deletion from database or just from the client side that's the question !!
Suggestions Open !! :smile:

We can add a delete Icon to each message so the user can delete only his/her text... And deletion I guess deletion from database will be work good as through this the privacy of the user is maintained

@Shwetang550 Exactly ! That was the feature I imagined. You can work on this issue if you want. Kindly tell me if I should assign this to you or not 😄

It would be my pleasure to work on this issue :)
but I can only place a PR when the coding period of GSSoC'21 start, i.e, on or after 8th of March... will that be fine ?

@Shwetang550 I understand ! You can start working on the issue after 8th of march 😄 👍

Thanks 😄
Then please assign this issue to me

@Shwetang550 Assigned !

Sorry @DhairyaBahl but I can't complete this issue... Please assign this task to someone else...
Thanks :)


Planners ignore the obstacles wrongly -- How to publish obstacles into the planning scene

Description
I added obstacles by publishing obstacle A to the "monitored_planning_scene." I can see them in RViz2. However, when I use the MoveIt panel in RViz for motion planning, the planner can still successfully find a trajectory, even though the target pose and the trajectory collide with the obstacles.
I then discovered that I need to manually publish obstacle A in the "Motion Planning" panel in RViz; only then does the planner consider the obstacles.
Unfortunately, MoveIt for Humble does not support the Python API. If I'm mistaken, please let me know.
Your Environment

ROS Distro: Humble
OS Version: Ubuntu 22.04
Build Type: Source build
Source Repository: git clone https://github.com/moveit/moveit2.git -b $ROS_DISTRO

Steps to Reproduce

Download the tutorials from MoveIt Tutorials.
Create another ROS2 package called "add_obstacles":import rclpy
from rclpy.node import Node
from moveit_msgs.msg import CollisionObject, PlanningScene
from shape_msgs.msg import SolidPrimitive
from geometry_msgs.msg import Pose
from icecream import ic

class AddObstacles(Node):
    def __init__(self):
        super().__init__("add_obstacles")
        self.publisher = self.create_publisher(PlanningScene, "/monitored_planning_scene", 10)
        self.timer = self.create_timer(1.0, self.add_objects)

    def add_objects(self):
        # Create first collision object (A)
        object_A = CollisionObject()
        object_A.id = "A"
        object_A.header.frame_id = "world"

        A_primitive = SolidPrimitive()
        A_primitive.type = SolidPrimitive.BOX
        A_primitive.dimensions = [0.6, 0.03, 0.6]

        A_pose = Pose()
        A_pose.position.x = 0.0
        A_pose.position.y = 0.20
        A_pose.position.z = 0.0
        A_pose.orientation.w = 1.0

        object_A.primitives.append(A_primitive)
        object_A.primitive_poses.append(A_pose)
        object_A.operation = CollisionObject.ADD

        # Create PlanningScene and add the collision object
        planning_scene = PlanningScene()
        planning_scene.world.collision_objects.append(object_A)
        planning_scene.is_diff = True

        self.publisher.publish(planning_scene)
        ic("Object A has been added.")

def main(args=None):
    rclpy.init(args=args)
    node = AddObstacles()
    rclpy.spin(node)
    node.destroy_node()
    rclpy.shutdown()

if __name__ == "__main__":
    main()

Build and source the setup.bash.
Run ros2 launch moveit2_tutorials demo.launch.py.
Run ros2 run add_obstacles add_obstacles.
Perform motion planning in RViz2: we can see the newly added obstacles, but the planner doesn't take them into consideration. This is the problem.
Go to the "Scene Objects" sub-panel in the Motion Planning panel of RViz, check obstacle A, link it to "link0," and publish.
Repeat step 6; now the planner works properly and considers the obstacles.

Expected Behavior
The MoveIt motion planning panel should return "Failed" after planning when I publish obstacles into the planning scene without manually adding them in RViz.

You are publishing your obstacles to the wrong topic: There are two planning scene topics, planning_scene and monitored_planning_scene. The first one, planning_scene, is the one the move_group node's PlanningSceneMonitor actually listens to. The latter one is used to publish the monitored scene, e.g. to rviz (which runs its own PSM).
For this reason, you can see the collision objects in rviz, although they are not considered by the move_group node.
As this causes confusion for many users, even experts (https://github.com/moveit/moveit2/issues/1042), the corresponding doc should be improved: PR https://github.com/moveit/moveit2_tutorials/pull/983

Thank you very much.


[Question] [ws-sdk] Configure WSClient to use a specific wss-unified-agent.config file

Question
Is there a way to tell WSClient that it should use a specific whitesource config file (wss-unified-agent.config) for the scan?
java -jar "wss-unified-agent.jar" -c "wss-unified-agent.config"
Or where is WSClient searching for a whitesource config file???
Environment Details

OS: MacOS 12.5
Python 3.8.9

Hi @KBEMobisys ,
For now , we did not implemented such option in the SDK.
The SDK runs the Unified Agent with -noConfig True option.
The UA configuration is applied in the following order of precedence:
Command-line parameters
Environment variables
Configuration file
Default values
Since every parameter in the config file can also be read as an environment variable by the UA, the SDK takes any configuration provided  (file / cli ) and changes it to UA readable environment variables.
Afterward, the scan is executed.
Example tool with file.
Example tool with cli
You might also want to look at this function.
Thanks,
Mend's PS team

Hi @KBEMobisys ,
Following your issue , I saw that you were able to run the scan method with the wss-unified-agent.config file (updateInventory=false ) .
I was able to reproduce it and found a bug that caused the -noConfig True option not to work.
I fixed it and released a new version of the sdk.
Thanks,
Ram

Hi @rammatzkvosky
thanks for the answer. I now did the following to be able to use my already existing wss-unified-agent.config with the ws-sdk:
from ws_sdk import ws_utilities
from ws_sdk.client import WSClient

ws_url = "YOUR WHITESOURCE URL"
ws_org_token = YOUR API TOKEN"
ws_user_key = "YOUR USER TOKEN"

directoryToScan = os.path.abspath(os.getcwd())
directoryToWhitesouceUA = os.path.join(directoryToScan, "whitesource")

# Create and configure ws client
ws_client = WSClient(url=ws_url, user_key=ws_user_key, token=ws_org_token, ua_path=directoryToWhitesouce)

directoryToWhitesouceConfig = os.path.join(directoryToWhitesouceUA, "wss-unified-agent.config")

# Load whitesource config file
ws_client.ua_conf = ws_utilities.convert_ua_conf_f_to_vars(filename=directoryToWhitesouceConfig)
ws_client.ua_conf.scanComment = "Scan with SDK"
ws_client.ua_conf.apiKey = ws_org_token
ws_client.ua_conf.userKey = ws_user_key
ws_client.ua_conf.projectPerFolder = 'false'
ws_client.ua_conf.checkPolicies = 'true'
ws_client.ua_conf.updateInventory = 'false'

# Start the scan
out = ws_client.scan(scan_dir=directoryToScan, project_name="Testproject", product_name="Testproduct")


Support rewrite-target annotation

https://stackoverflow.com/a/46878389/244009

https://serverfault.com/questions/444965/haproxy-reqrep-remove-uri-on-backend-request

Rewrite Rule example:
https://gist.github.com/tamalsaha/e1f9237d2dcdcc045e19455d3bba3fc2

// ref: https://github.com/jcmoraisjr/haproxy-ingress/pull/57
// ref: https://github.com/jcmoraisjr/haproxy-ingress/blob/939bd129c86d9b27b12e6d7a50c799d8496ab8f3/rootfs/etc/haproxy/template/haproxy.tmpl#L318


Added my L-system demo as a contribution. (CodingChallenge #16)

I made a stochastic L-system to draw generative trees with leaves here.
This can be seen here: https://ameya98.github.io/WebPPL/generative_art/
I am currently trying to perform inference with WebPPL over L-systems, as an experiment of my own.  This is currently only visible in the console. This doesn't affect the drawing of the tree, or any other graphics.
All feedback welcome!

@ameya98 Awesome ❤ Thank you for this great contribution!

Thanks! Be sure to check out my WebPPL repository for interesting updates!

Wow, this is wonderful work thank you for sharing! ❤


add isEmpty method

Add few 'IsEmpty' methods

@kostiakoval thank you for the contribution, and sorry for the super duper late review.
Do you mind adding tests for all the classes you contributed, and fixing the spacing (it's 2 spaces in tests)?


eval functions (needs feedback)

This requires a version bump in ruby-sys for the new eval methods and then the Cargo.toml here can be set to that version.
The code works as is now but I have a few questions.  Before those questions I'll explain that I've chosen to use rb_eval_string_protect for VM::eval since it allows us to get a standard Result<AnyObject, c_int> back and we won't need to worry about it crashing our program.  The rb_eval_string I added as an unsafe VM::eval_str because any exceptions raised crash the program.  So until we have exceptions implemented I figured this would be the safer Rust way to do it.
My questions are whether we should have VM::eval_str at all since I've marked it as unsafe.  Should the VM::eval be enough and I remove the other method since we don't have exception handling?  If so I would suppose the binding for that should go for now, or maybe #[allow(dead_code)]?
Of course once we have exceptions implemented then I would expect the VM::eval method to switch from the rb_eval_string_protect to rb_eval_string.
Thinking out loud: But thinking about the way Rust works I believe that any time an exception is, or can be, raised then methods should return a Result<AnyObject, Error> and it would be nice for Result to implement the try_convert_to directly on it.  Errors can still be of type AnyObject but return types in general would make more sense as a Result and just re-implement casting to the Result types Ok and Err.  Those are my thoughts on that.

After looking into Ruby's Exception handling code I believe rb_eval_string_protect is the right choice.  With that if it comes back as an Err() we can then use the rb_errinfo() -> Value to retrieve the instance of the Exception class.

Thinking more about this I want to update this feature after https://github.com/steveklabnik/ruby-sys/pull/28 is merged.  I want to update eval's error path to return and AnyObject of the Exception.

Alright the Rust eval method for the Ruby API will return a Result<AnyObject, AnyObject> allowing us to work with exception perfectly between Ruby and Rust.  An example is provided.


google play store support

Is your feature request related to a problem? Please describe
no
Describe the solution you'd like
google play store support for installing the apps it contains with x86 64-bit builds, and perhaps through emulation support the ones as well with only arm64 builds
Describe alternatives you've considered
open source stories that enable play store integration on wsa
Please specify the version of Windows Subsystem for Android
2209.40000.26.0

appears to be a duplicate of https://github.com/microsoft/WSA/issues/74


refactor(tree): Add missing return types

Pre-fixes some violations of the @typescript-eslint/explicit-function-return-type rule in our recommended base eslint config.
This is a small part of a larger effort tracked by AB#6983

Does this rule only apply to things in non-test files? I generally like this rule as purely a stylistic choice, but there are times when I intentionally break it and I very much like being able to break it. Those times are when I am creating an object with a large or complicated type and I want to move the creation of that object to a helper function. Having the helper function's return type be implicitly inferred makes it much easier to write and less ugly - in fact, in the cases that I'm recalling, having to explicitly add the return type would make it so cumbersome and verbose that I would delete the helper and just put the object creation back where I had it in the first place. In those scenarios, a lint rule such as this makes the code worse, not better.
I think I've only ever run into such scenarios when writing unit tests and test utilities, which is why I ask if this applies to test files or just our library code (which, by its nature, I think is less prone to that particular problem). I think this lint rule is good for functions which are "logical units of execution factored out for re-use, composition, etc.". It is sometimes bad for functions that exist "because it makes the code prettier".

Oh, I see you just added test files :(
Here's a good example of when I don't like this lint rule:

The intent of the outer function is to return the inner function, whatever that type might be. It's annoying to have to duplicate it. The "correct" of capturing the intent would be to use : ReturnType<typeof createAlwaysFinalizedIdCompressor>, but... is that making the code better?

I generally like this rule as purely a stylistic choice, but there are times when I intentionally break it and I very much like being able to break it.

To be clear, the return type requirement isn't a stylistic choice; it prevents bugs. We can probably disable this in tests if that is the team's preference, but it needs to be enabled in non test code to prevent bugs.

Does this rule only apply to things in non-test files? I generally like this rule as purely a stylistic choice, but there are times when I intentionally break it and I very much like being able to break it. Those times are when I am creating an object with a large or complicated type and I want to move the creation of that object to a helper function. Having the helper function's return type be implicitly inferred makes it much easier to write and less ugly - in fact, in the cases that I'm recalling, having to explicitly add the return type would make it so cumbersome and verbose that I would delete the helper and just put the object creation back where I had it in the first place. In those scenarios, a lint rule such as this makes the code worse, not better.
I think I've only ever run into such scenarios when writing unit tests and test utilities, which is why I ask if this applies to test files or just our library code (which, by its nature, I think is less prone to that particular problem). I think this lint rule is good for functions which are "logical units of execution factored out for re-use, composition, etc.". It is sometimes bad for functions that exist "because it makes the code prettier".

Oh, I see you just added test files :(
Here's a good example of when I don't like this lint rule:

The intent of the outer function is to return the result of the inner function, whatever that type might be. It's annoying to have to duplicate it. The writer of the outer function, who is trying to make the code more simple/clean, is being punished IMO by having to look at the exact types returned by the inner thing and copy paste them. Alternatively, the "correct" way of capturing the intent would be to use : ReturnType<typeof createAlwaysFinalizedIdCompressor>, but... is that making the code better vs. just omitting the return type?

There are definitely cases where it isn't desirable. This is probably one of them. But I would consider it an outlier.
I'll revert this change though.

I generally like this rule as purely a stylistic choice, but there are times when I intentionally break it and I very much like being able to break it.

To be clear, the return type requirement isn't a stylistic choice; it prevents bugs. It's also core contract documentation. We can probably disable this in tests if that is the team's preference, but it needs to be enabled in non test code to prevent bugs.

The fact that it prevents bugs doesn't mean it's not a stylistic choice. The intent may be to catch bugs, and the effect may indeed be that there are fewer bugs, but there is also an additional effect - it restricts the code style. It's a tradeoff, and the tradeoff is subjective. I think there are some lint rules where most people will agree that the tradeoff is by far a net positive - for example, banning implicit any. There are some lint rules that are more contentious - but I would argue there's always a tradeoff between bug-reduction and style.
Another question regarding this particular rule - does it apply to all functions, or just to exported functions? If it applies to:

all publicly exported functions, then I say 👍
all module exported functions, then I say 🤔
all functions, then I say 😠

There are definitely cases where it isn't desirable. This is probably one of them. But I would consider it an outlier.

FWIW I don't really think it's an outlier. I dislike half the changes in SharedTree's test folder. The lint rule enforces return types on functions used in inlined factory patterns, which should already be typechecked. See the changes in either testTrees.ts file, for example (but this same pattern shows up in lots of other files).
There might be some subtle differences between the two due to typescript's weirdness with function variance, so I'm ok with the verbosity in production code. I really don't like it in test code, though.

There are definitely cases where it isn't desirable. This is probably one of them. But I would consider it an outlier.

FWIW I don't really think it's an outlier. I dislike half the changes in SharedTree's test folder. The lint rule enforces return types on functions used in inlined factory patterns, which should already be typechecked. See the changes in either testTrees.ts file, for example (but this same pattern shows up in lots of other files).
There might be some subtle differences between the two due to typescript's weirdness with function variance, so I'm ok with the verbosity in production code. I really don't like it in test code, though.

The fix to the inline factory patterns issue is up here: https://github.com/microsoft/FluidFramework/pull/21046
I'll go ahead and revert the test changes for now, since there is contention there and I agree about the inline lambdas rule.

There are definitely cases where it isn't desirable. This is probably one of them. But I would consider it an outlier.

FWIW I don't really think it's an outlier. I dislike half the changes in SharedTree's test folder. The lint rule enforces return types on functions used in inlined factory patterns, which should already be typechecked. See the changes in either testTrees.ts file, for example (but this same pattern shows up in lots of other files).
There might be some subtle differences between the two due to typescript's weirdness with function variance, so I'm ok with the verbosity in production code. I really don't like it in test code, though.

The fix to the inline factory patterns issue is up here: #21046
I'll go ahead and revert the test changes for now, since there is contention there and I agree about the inline lambdas rule.

Thanks Josh! I know you're just trying to get rid of the deprecated base config file - thanks for listening to our concerns along the way.


Compile boost with rpath support

By default, Boost does not support rpath. This is a problem if a boost library
depends on another one (eg. boost.mpi depends on boost.serialization) and boost
lib is not in the LD_LIBRARY_PATH.

Codecov Report

Merging #331 into master will decrease coverage by 0.66%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #331      +/-   ##
==========================================
- Coverage   96.35%   95.68%   -0.67%
==========================================
  Files          63       60       -3
  Lines        4249     3595     -654
==========================================
- Hits         4094     3440     -654
  Misses        155      155

Impacted Files
Coverage Δ

...kages/Search/src/DTK_DistributedSearchTree_def.hpp
95.65% <0%> (-4.35%)
:arrow_down:

...es/Search/src/details/DTK_DetailsTreeTraversal.hpp
98.48% <0%> (-1.52%)
:arrow_down:

...c/details/DTK_DetailsDistributedSearchTreeImpl.hpp
98.86% <0%> (-0.57%)
:arrow_down:

packages/Search/src/DTK_LinearBVH_def.hpp
100% <0%> (ø)
:arrow_up:

...ch/src/details/DTK_DetailsTreeConstruction_def.hpp
100% <0%> (ø)
:arrow_up:

packages/Search/test/tstDetailsUtils.cpp
100% <0%> (ø)
:arrow_up:

packages/Search/src/DTK_LinearBVH_decl.hpp
100% <0%> (ø)
:arrow_up:

packages/Search/src/details/DTK_DetailsUtils.hpp
100% <0%> (ø)
:arrow_up:

packages/Utils/src/DTK_KokkosHelpers.hpp
100% <0%> (ø)
:arrow_up:

...ages/Search/src/DTK_DistributedSearchTree_decl.hpp
100% <0%> (ø)
:arrow_up:

... and 6 more

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 ccf8515...82834eb. Read the comment docs.

Done. I also updated the CHANGELOG in docker/README.md.

I just checked and the image has been tagged properly and pushed to Docker Hub.

Thank you @Rombur


feat(codegen): implement the basics of non-minifying codegen

@mysteryven The codegen is incomplete. Ideally we want to port most of esbuild's code.


Potentially unsafe extent blocked - net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler

Can you please support the FAWE API, this plugin is blocking me (As OP) from even doing a copy in FAWE worldedit!
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) Potentially unsafe extent blocked: net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) - For area restrictions and block logging, it is recommended that third party plugins use the FAWE API
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) - Add the following line to the `allowed-plugins` list in the FAWE config.yml to let FAWE recognize the extent:
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) Potentially unsafe extent blocked: net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) - For area restrictions and block logging, it is recommended that third party plugins use the FAWE API
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) - Add the following line to the `allowed-plugins` list in the FAWE config.yml to let FAWE recognize the extent:
[22:01:00] [Render thread/INFO]: [CHAT] (FAWE) net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler

No, I'm no longer supporting FAWE. Please get rid of the plugin and use vanilla WorldEdit, theres no need for FAWE.

woah, that is a bold, bold statement.
There are plenty of reasons for FAWE, Doing //regen on large selections of land to bring new terrain in because you are moving from 1.12.2 to 1.17, thats one we will be doing for the following months easily.
I use fawe for CLI manipulation of schematics, so I can have auto re-setting areas in my world.
I use fawe for GriefPrevention and WorldGuard protection with my regen team so that they can keep the world clean and fresh without the worry of wiping someones claim.
FAWE is far from "theres no need for FAWE." Theres a hell of a lot of reasons its required to run a server.

And there are even more reasons not to use it. Its the main source of problems and huge headache for developers. You can do all of those things with vanilla WE without causing any problems with other plugins, or corrupting your world.

Can I just disable the WorldGuardExtraFlagsPlugin WE integration? I don't need it at all, then we can both carry on.
I looked and I cant seem to find a "WorldGuardExtraFlagsPlugin" plugins folder with settings?

No, but as far as I remember you can just ignore that error and FAWE automatically disables the WE integration. Or you can do as it says and allow the plugin to run.

Could we please get a config even if its just this one value to toggle and a reload for the config.

I just find this problem for a few moments and I completely fixed it.
You go to config.yml in FAWE's folder and scroll down until you see extent's lore following my picture and input

"net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler" under - "com.example.ExamplePlugin" lore

And then you restart your server once time.

My solution was to remove WorldGuardExtraFlags

I just find this problem for a few moments and I completely fixed it.
You go to config.yml in FAWE's folder and scroll down until you see extent's lore following my picture and input "net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler" under - "com.example.ExamplePlugin" lore
And then you restart your server once time.

Strangly I already have this there.
extent:
  # Don't bug console when these plugins slow down WorldEdit operations
  #  - You'll see a message in console or ingame if you need to change this option
  allowed-plugins:
  - "net.coreprotect.worldedit.CoreProtectLogger"
  - "net.goldtreeservers.worldguardextraflags.wg.wrappers.v7.WorldEditFlagHandler"
  # Should debug messages be sent when third party extents are used?
  debug: true


Build Sucessful - CLI / Terminal opens up everytime I start executable (MacOS)

I have successfully created executable for both Mac and Windows. But on Mac, Every time I open the executable file another CLI/Terminal window open's up and I have to manual close it. Closing Terminal Window also closes the Application. I wasn't sure where this issue belong. So I'm leaving it here. Let me know if I need to move it somewhere else.
Specs:
MacOS Catalina: 10.15.6
Xcode version: 11.6
graalvm-ce-java11-20.2.0-dev and graalvm-ce-java11-20.3.0-dev tried both
Maven plugin: 0.1.30

According to my experience this only happens when you launch the executable via double-click. If you launch it from the command line of a terminal window, either directly or through mvn client:run, there is no such additional window. This seems to be the normal behavior on the Mac because the client-maven-plugin only produces an executable file but not a properly packaged .app folder. This final step still seems to be on the ToDo list.


Add "COVID-19 in Charts" to "Complete Apps"

I have added a project that I recently released called "COVID-19 in Charts." It is open-source, the code is documented and relatively well-tested. This is not a for-profit project.
The website: https://covid19.evrim.io
The codebase https://github.com/evrimfeyyaz/covid-19-in-charts

Hello @evrimfeyyaz !
As example apps are no longer kept in the latest of react.dev nor maintained in the page you modify in this PR, I will close it as outdated.
Thank you!


HBASE-26480 Close NamedQueueRecorder to allow HMaster/RS to shutdown gracefully

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
8m 32s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-0 :warning:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-1 Compile Tests _

+1 :green_heart:
mvninstall
10m 39s
branch-1 passed

+1 :green_heart:
compile
0m 44s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
compile
0m 47s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
checkstyle
1m 44s
branch-1 passed

+1 :green_heart:
shadedjars
3m 17s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 50s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
0m 41s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+0 :ok:
spotbugs
3m 11s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
3m  8s
branch-1 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m  5s
the patch passed

+1 :green_heart:
compile
0m 44s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javac
0m 44s
the patch passed

+1 :green_heart:
compile
0m 48s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
javac
0m 48s
the patch passed

+1 :green_heart:
checkstyle
1m 28s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
3m  2s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
5m  2s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2.

+1 :green_heart:
javadoc
0m 31s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
0m 42s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
findbugs
2m 59s
the patch passed

_ Other Tests _

-1 :x:
unit
164m 45s
hbase-server in the patch failed.

+1 :green_heart:
asflicense
0m 41s
The patch does not generate ASF License warnings.

217m  3s

Reason
Tests

Failed junit tests
hadoop.hbase.master.TestMasterBalanceThrottling

hadoop.hbase.mapreduce.TestLoadIncrementalHFilesUseSecurityEndPoint

hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFiles

hadoop.hbase.mapreduce.TestLoadIncrementalHFiles

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3871/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3871

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux a71cb59037f4 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-3871/out/precommit/personality/provided.sh

git revision
branch-1 / 1701f0de0a

Default Java
Azul Systems, Inc.-1.7.0_272-b10

Multi-JDK versions
/usr/lib/jvm/zulu-8-amd64:Azul Systems, Inc.-1.8.0_262-b19 /usr/lib/jvm/zulu-7-amd64:Azul Systems, Inc.-1.7.0_272-b10

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3871/1/artifact/out/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3871/1/testReport/

Max. process+thread count
4286 (vs. ulimit of 10000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3871/1/console

versions
git=2.17.1 maven=3.6.0 findbugs=3.0.1

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

The failed tests are unrelated to my code. All of them passes locally.
[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ hbase-server ---
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.hadoop.hbase.master.TestMasterBalanceThrottling
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.132 s - in org.apache.hadoop.hbase.master.TestMasterBalanceThrottling
[INFO] Running org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFilesUseSecurityEndPoint

[INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 356.012 s - in org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFilesUseSecurityEndPoint
[INFO] Running org.apache.hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFiles
[INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 397.67 s - in org.apache.hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFiles
[INFO] Running org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles
[INFO] Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 369.027 s - in org.apache.hadoop.hbase.mapreduce.TestLoadIncrementalHFiles
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 68, Failures: 0, Errors: 0, Skipped: 0
[INFO]


setProperty() is not working for some rules

Hi,
CSSStyleDeclaration.prototype.setProperty is not working on properties with hyphen (margin-left, padding-left ect ...)
It is because the the property name passed to setAttribute must be camel cased.
I noticed the bug on IE8 (real IE8, not a more recent one in IE8 mode)
Test case:
<!DOCTYPE html>
<html>
<body>
<span id="item"> abc </span>
<script>
var item = document.getElementById("item")

item.style.setAttribute('margin-left', '40px') //Not working

item.style.setAttribute('marginLeft', '40px') // Working \o/
</script>
</body>
</html>

awesome ! Thanks @shawnbot


Some errors when running with KITTY dataset

Dear Avi Singh,
Thanks a lot for this code, it'a a great help for monocular odometry. Could you indicate precisely which KITTY dataset do you use in your example ?
First question in the image reading (l86, l87 and l158), you use 6 digits for the filename, but some of the datasets use 10 digits for the filename, do you know a way to read this 10 digits properly, "*10d" is not working. I have solve this issue by renaming the image filenames.
Then I run several errors when runing the code with several KITTY dataset:

I've tried first with colored image, but i get the error "error: (-215:Assertion failed) !_src.empty() in function 'cvtColor'". It occur in the loop when converting RGB2GRAY

I've also tried with gray images, but i get the error "error: (-215:Assertion failed) (npoints = prevPtsMat.checkVector(2, CV_32F, true)) >= 0 in function 'calc'"" happening in the loop during featureTracking.

Do you know how from when the errors can come ?
I'm using Ubuntu 14.04 and OpenCV 3.4.3 with the KITTY dataset 2011_09_26_drive_0001
Computer : Intel® Core™ i7-4712MQ CPU @ 2.30GHz × 8 RAM : 16Go
Best regards
Boris

Ok, I go a little bit further on my research, the second error seems to come from the FAST algortihm, I changed the fast_treshold from 20 to 10, and it works until the end of the sequence.
Actually, I didn't find any documentation about this fast_treshold and what it represent. Is it the number of points ?
Now I'm running an error about the scale, but I know to solve it, need to convert geographic coordinates into cartesian ones, do I'm right ?
Best regards
Boris

Hi Boris,
The KITTI dataset that is being used appears to be the colour one from here (KITTI website). It is sequence 00. You also need the 00.txt which is in a different folder.
For your first error it looks like the colour images are not being loaded at all. That is most likely due to a misspelling of the filename. The second error is because you have a grey image but you are trying to convert it from colour to grey (it's already is grey). If you want to use grey scale images, you will need to remove all the lines that call cvtColor(..., COLOR_BGR2GRAY);
According to the OpenCV documentation, the threshold parameter is a "threshold on difference between intensity of the central pixel and pixels of a circle around this pixel." I'm not really sure if that's a minimum threshold or a maximum threshold, but I do know that FAST features work best around areas with sharp and distinctive changes in intensity. That is good gradients around corners.
Scale errors come from the fact the monocular VO cannot determine scene scale. A scene that is twice as large and twice as far away will look the same to a single camera, so this code uses information from the 00.txt ground truth data file to change the scale of estimates. If you are running this and not getting correct scale, you might be using a file in a different format. Try to figure out which parts of each line in your ground truth data relate to the x, y, and z translations, then change getAbsoluteScale(...) to use that instead.

@BJMH Hello. Can you explain to me how to use your own dataset?

@JonnySme If your dataset is a sequence of image files then you need to change lines 85, 86, and 139 to load your images instead. Also you need to change getAbsoluteScale() to load your ground truth data. It currently expects 12 numbers per line with the 4th, 8th, and 12th being the x, y, and z translation. You can remove the call to that function if you don't have a ground truth, but then each frame-to-frame translation will be estimated as 1 unit long.

@BJMH Thank you for your answer!
how can i get ground truth data myself? If ground truth data is missing, then the end result will be very different from the truth?
Thank you for your answer!

@JonnySme It depends on your dataset. If it's video that you recorded yourself then you will have to measure it. If you downloaded a dataset it should come with its own GT.
This type of VO cannot determine the magnitude of any translations, nor does it have a consistent scale between measurements. If you think about it, any object that the camera sees would appear the same in the video if it were twice as large and twice as far away. Because of that every frame-to-frame translation is normalised so you need to scale it by the correct magnitude from a GT.
Without the GT, your rotations and the direction of translation are still correct. Only the magnitude of the translations are incorrect, and also inconsistent. To made them consistent you would need to add in some extra alignment across multiple frames with Structure from Motion and/or Bundle Adjustment. Both of those are pretty deep rabbit holes, and I don't know of any easy to digest code examples floating around online.

@BJMH
Thank you!
I have a set of frames taken on a camera from 22 frames per second. How can I get a GT on this dataset?

@JonnySme If it's video you've taken yourself you'll have to measure it while taking the footage. Perhaps with GPS, an IMU, Vive Trackers, having calibration checkerboard present in all frames, or some other method.


Refactor Manual Core format to allow separation from data files

adds framework to split out manual core files from the shipped manual game data format, and includes a simple way to import a ".manuworld" (theoretically can just be a .zip if that makes more sense) without hooks for a safer import
TODOs:

flesh out the codepath where you do want to import hooks
Options.make_options_group is completely broken and its uses commented out
make helpers load methods work as expected and/or refactor them altogether
figure out if one of the changes is why manual client hangs on launch and fix it
more thorough debugging to make sure no other things need refactors

I'm not sure I'll finish this to completion, so if anyone wants to take inspiration (or the entire branch wholesale) feel free to do so
but can obviously make/approve minor changes for style/design

Thanks for submitting this PoC, qwint. :smiley:
From the description, it sounds like this is an unfinished PR, so please switch it to a draft PR in the meantime. We review drafts as well, but marking it as a draft indicates that it's not expected to be ready to merge.

yea, it's fully functional in the one codepath of load all the ".manuworld" files as json-only from the user's custom_worlds (or userdata worlds on machines that use that instead), but like the TODOs mention it does break some existing functionality so it probably shouldn't be merged as-is yet


How can i Remove Scrollbar Loading Events ?

Hello,
I am facing some problem when i used scrollbar when i add OnLaneScroll its working fine but at the end
one loading spinner is coming i need to remove that spinner is there any way to remove Spinner..
Thank you,
Mehu Jariwala.

@mehuljariwala That spinner is a UI feedback to the user saying a promise is called on OnLaneScroll and for the user to wait for more data. Later on we might offer the ability to customize the spinner, but for not cannot be disabled.


property definition updates in drawing-requirements.md

@brendansco
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
cc @eriklindeman
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Stop incrementing LMP after a certain point

Thanks for creating an issue! Please fill out this form so we can be sure to have all the information we need, and to minimize back and forth.

What are we trying to do?
One of the most useful features in the app is our LMP counter, which given a date of initial call and another date will tell you how many weeks since someone's last menstrual period. However, we don't have it stop ever, so as we reconcile we're starting to see some people who are, like, 60 weeks pregnant, which, yikes.

We should make it so this stops incrementing at either the date of appointment, or at 35 weeks 0 days.

What feature or behavior is this required for?
Reducing the cringe factor for our data entry team.

How could we solve this issue? (Not knowing is okay!)
The code for this is in app/helpers/last_menstrual_period_helper.rb. Probably it involves adding some special case handling to the methods in there. You can see an example of how we're using it in practice at app/views/patients/_patient_dashboard.html.erb.

Anything else?
Stems from #864

Also a thought is that at 40 weeks (full term) is a key to archive the patient.

Let me take a shot at this ticket! I'll be at Monday's meetup too in case I get stuck.


license changes for jsdiff and momentjs

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1479/
Test PASSed.


[BHBC-899] Align Create Project Form to the Design Spec

BHBC-899

Summary
Align Create Project form to the design spec

Type

        Task

Status
In Progress

Points
N/A

Labels
-

Continued work on UI updates for the project forms
BCBC-899

{Include links to all of the applicable Jira tickets}

This PR contains the following changes

Layout updates to the Funding Source Dialog interface
Small updates to global styling (scss)
Theme updates in appTheme

This PR contains the following types of changes

[ ] New feature (change which adds functionality)
[x] Enhancement (improvements to existing functionality)
[ ] Bug fix (change which fixes an issue)
[x] Misc cleanup / Refactoring / Documentation
[ ] Version change

Checklist
A list of items that are good to consider when making any changes.
Note: this list is not exhaustive, and not all items are always applicable.
General

[ ] I have performed a self-review of my own code

Code

[ ] New files/classes/functions have appropriately descriptive names and comment blocks to describe their use/behaviour
[ ] I have avoided duplicating code when possible, moving re-usable pieces into functions
[ ] I have avoided hard-coding values where possible and moved any re-usable constants to a constants file
[ ] My code is as flat as possible (avoids deeply nested if/else blocks, promise chains, etc)
[ ] My code changes account for null/undefined values and handle errors appropriately
[ ] My code uses types/interfaces to help describe values/parameters/etc, help ensure type safety, and improve readability

Style

[ ] My code follows the established style conventions
[ ] My code uses native material-ui components/icons/conventions when possible

Documentation

[ ] I have commented my code sufficiently, such that an unfamiliar developer could understand my code
[ ] I have added/updated README's and related documentation, as needed

Tests

[ ] I have added/updated unit tests for any code I've added/updated
[ ] I have added/updated the Postman requests/tests to account for any API endpoints I've added/updated

Linting/Formatting

[ ] I have run the linter and fixed any issues, as needed
See the lint commands in package.json
[ ] I have run the formatter and fixed any issues, as needed
See the format commands in package.json

SonarCloud

[ ] I have addressed all SonarCloud Bugs, Vulnerabilities, Security Hotspots, and Code Smells

How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Screenshots
Please add any relevant UI screenshots, if applicable.

can we turn this into a non-draft and get it merged in?