Question for frame selection

Thank you for sharing this precious work.
I have a question about the frame selection.
In the code below,
https://github.com/ardaduz/deep-video-mvs/blob/043f25703e5135661a62c9d85f994ecd4ebf1dd0/dvmvs/config.py#L12
You set the hyper-parameters as
train_minimum_pose_distance = 0.1250
train_maximum_pose_distance = 0.3250

I found that while training, there is no overlapping region between frames.
And this is especially because of the large motion between views.
Is there any reason that you choose large-motion views?
This is a bit different from the video environment since each adjacent frame has relatively small motion.

I am not sure if I understand your question correctly. These hyper-parameters control the sampling rate of the frames to be placed in a training subsequence, i.e. keyframes. We empirically found that these two values (and a bit relaxed and strict versions using a multiplier for data augmentation and increased diversity, see https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/dataset_loader.py#L151) give a good balance between the amount of overlap and the viewpoint change/baseline between two consecutive frames.
An example from the first training sequence ScanNet scene0000_00 is:
Reference Image (t)

Measurement Image (t-1)

Reference Pose (homogeneous coordinates)
[[-0.9811141   0.05524587 -0.18537323  3.0066042 ]
[ 0.19318187  0.3284281  -0.9245624   3.2812254 ]
[ 0.00980358 -0.9429118  -0.33289796  1.451942  ]
[ 0.          0.          0.          1.        ]]
Measurement Pose (homogeneous coordinates)
[[-0.99106467  0.05330807  0.12226668  2.873412  ]
[-0.0878472   0.42890215 -0.8990695   3.387271  ]
[-0.10036808 -0.90177673 -0.42038673  1.4275676 ]
[ 0.          0.          0.          1.        ]]
Pose Distance Between These Two Frames = pose_distance(reference_pose, measurement_pose) = 0.313
As you see this pose distance is towards the higher end of our empirical range. And there is still a considerable amount of overlap.
Are you using your own data (isn't it a video)? If you're using custom video data, can you be sure that poses.txt provide camera-to-world poses (not camera extrinsic matrices) --> https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/utils.py#L17 ?
If I could not address your concern, it would be nice if you can explain me the issue with an example similar to mine here maybe.

Thank you for your precious comment.
I also use type of poses (camera-to-world poses) in ScanNet dataset.
Let me try more examples personally and close the issue.
Meanwhile, do you have your own ablation study about the relation between depth accuracy and frame selection?

In our paper, the frame selection approach is explained in Section 4.2. There is an ablation study (Table 3) on the test time frame selection strategy where several past keyframes are buffered and 15 cm baseline and low relative rotations are preferred while selecting measurement frames for a given reference frame. We compare this approach to the naive sampling of every 10th or 20th frame which are commonly used in the literature. There is no ablation study on the training time selection of the frames.

Hello, can you provide the frame ID sequence on scannet and 7scenes determined by your frame selection strategy? In other words, which frames are actually selected? Or may you tell me which function I can call to create such an ID sequence? Thank you so much!

Hi, you can use https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/simulate_keyframe_buffer.py. Please set the input folder and output folders, and set the number of measurement frames, and remove the "simple selection" ones if you don't need them.

I notice that the paper mentions there is a difference between training and testing. If I directly run  simulate_keyframe_buffer.py, is the output suitable for training or testing? How should I obtain both? By the way, what is the meaning of n_measurement_frames? How should I set it? I just want to get a reference image sequence, in which each image will be processed one by one and its neighbors will be treated as the source views.
发件人: Arda @.>
发送时间: 2022年5月2日 21:44
收件人: @.>
抄送: Likang @.>; @.>
主题: Re: [ardaduz/deep-video-mvs] Question for frame selection (#7)
Hi, you can use https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/simulate_keyframe_buffer.pyhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fardaduz%2Fdeep-video-mvs%2Fblob%2Fmaster%2Fdvmvs%2Fsimulate_keyframe_buffer.py&data=05|01|lwangcg%40connect.ust.hk|5941f27540e84bcf4c9608da2c41d193|6c1d415239d044ca88d9b8d6ddca0708|1|0|637870958446427382|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=fB1I6ODOdPPlueocOnkkgtztOdkuro5wjHsrwr7CmWI%3D&reserved=0. Please set the input folder and output folders, and set the number of measurement frames, and remove the "simple selection" ones if you don't need them.
―
Reply to this email directly, view it on GitHubhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fardaduz%2Fdeep-video-mvs%2Fissues%2F7%23issuecomment-1114900155&data=05|01|lwangcg%40connect.ust.hk|5941f27540e84bcf4c9608da2c41d193|6c1d415239d044ca88d9b8d6ddca0708|1|0|637870958446427382|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=3jhmePx2LWdvjtfO01vjKltG4ywAE4Q4ytdOo6%2FztnY%3D&reserved=0, or unsubscribehttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FALRJ6DRE6HY3K4RTKYHR2NTVH7L2BANCNFSM4X6CG46Q&data=05|01|lwangcg%40connect.ust.hk|5941f27540e84bcf4c9608da2c41d193|6c1d415239d044ca88d9b8d6ddca0708|1|0|637870958446427382|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=rasLvpjlwbRc4TruMWD%2F%2FBwUriaVCoLtWTejTiYqNKI%3D&reserved=0.
You are receiving this because you commented.Message ID: @.***>

Hi, you can use https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/simulate_keyframe_buffer.py. Please set the input folder and output folders, and set the number of measurement frames, and remove the "simple selection" ones if you don't need them.

I notice that the paper mentions there is a difference between training and testing. If I directly run  simulate_keyframe_buffer.py, is the output suitable for training or testing? How should I obtain both? By the way, what is the meaning of n_measurement_frames? How should I set it? I just want to get a reference image sequence, in which each image will be processed one by one and its neighbors will be treated as the source views.

simulate_keyframe_buffer.py produces a sequence like this one: https://github.com/ardaduz/deep-video-mvs/blob/master/sample-data/indices/keyframe%2Bhololens-dataset%2B000%2Bnmeas%2B3. Output is suitable for testing an online (we don't know what type of camera motion will happen in the future) depth prediction system. As the README also tells, "In a keyframe file, each row represents a timestep, the entry in the first column represents the reference frame, and the entries in the second, third, ... columns represent the measurement frames used for the cost volume computation [for that timestep's reference frame]."
In a nutshell, keyframe buffer saves, and serves some pose-wise suitable, "nice" past frames to be used as measurement frames. A reference frame uses n_measurement_frames many past frames to compute the cost volume for that timestep. You may observe the difference of setting different n_measurement_frames by comparing these files: https://github.com/ardaduz/deep-video-mvs/tree/master/sample-data/indices.
For training, we sample short subsequences (8 timesteps for this work) out of the training set, where we ensure some minimum-maximum viewpoint change between every consecutive frame. And at each timestep, the reference frame uses the last previous frame as the measurement frame. This subsequence sampling operation is done in https://github.com/ardaduz/deep-video-mvs/blob/master/dvmvs/dataset_loader.py, before training starts. This is closer to what you want as far as I understood your questions. However, I do not have a script that can give you a complete sequence like this out of the test scenes. Please feel free to write one and make a PR if you want.


Remove min-width 200px from SelectField

This hardcoded style is preventing us from using the SelectField in a flexible manner.

Should i rebuild and commit that as well?

Hi, I'm planning to rewrite this lib, https://github.com/zmitry/redux-form-antd/tree/v4/src check this branch, if it works for you you can't just copy paste lib content

That looks very promising. I still think this change would be valuable for v3 users. Can I help with the release?

It would be nice to add some storybook examples for new components.

Okay, I think it's fine to merge this fix


Update known_good.json

Minor change just to update to the latest good tag of MoltenVK

CI Vulkan-Tools build queued with queue ID 27513.

CI Vulkan-Tools build queued with queue ID 27513.

CI Vulkan-Tools build # 1100 running.


https urls are not working

I tried to execute this
$ imaging https://www.clever-cloud.com/blog/img/medias/npm.png

and an error occurred: Running error, please check the image URI!

It work fine, are your working behind network proxy ?
http url running fine ?

http urls ran fine, https still broken. I am not behind a proxy.  My version is 2.0.2.

What's your system (OSX or Windows) and which node.js version ?

Mac OSX (latest), node 4.2.1, npm 3.3.9

Fine, in my computer.
Could you try another url, like this:
imaging https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png

And try use curl to check  the network:
curl https://www.clever-cloud.com/blog/img/medias/npm.png > npm.png && imaging npm.png

imaging https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png → Error
curl https://www.clever-cloud.com/blog/img/medias/npm.png > npm.png && imaging npm.png → works

Could you help me check phantomjs ?

touch test.js

test.js's content:
var img = new Image()
img.src = 'https://www.clever-cloud.com/blog/img/medias/npm.png'
img.onload = function() {console.log('loaded');phantom.exit()}
img.onerror = function(){console.log('error');phantom.exit()}
console.log('loading image...')

sudo npm install phantomjs -g

phantomjs test.js

if work, it will print:
loading image...
loaded

Otherwise will print as below or phantomjs throws error:
loading image...
error

@martinheidegger thanks.
Can it work ?
phantomjs test.js --ssl-protocol=any --ignore-ssl-errors

error  :unamused:

Thanks guy !
I need to get more error message:
Change test.js to below content:
var page = require('webpage').create()
page.onResourceError = function(resourceError) {
  console.log('Unable to load resource (#' + resourceError.id + 'URL:' + resourceError.url + ')');
  console.log('Error code: ' + resourceError.errorCode + '. Description: ' + resourceError.errorString);
}
page.open('https://www.clever-cloud.com/blog/img/medias/npm.png', function (status) {
    phantom.exit()
})

Run phantomjs test.js will get the error message if load error.
And I am sorry, --ignore-ssl-errors missing value, it should be --ignore-ssl-errors=true

+1 on failing https

@ev1stensberg，can you paste the https url ? And what's your system (mac or win) and  node.js's  version。

Mac OSX 10.12.1, Current version of node. It's the same for all urls. ( From the docs )

Currently, I have upgraded phantomjs, and add some ssl options for ignoring ssl error.
Can you update<EMAIL_ADDRESS>then try again ? @ev1stensberg
npm i imaging@latest -g


Integrate Event and Task Configuration

Context
Integrated Event into the taskbook and changed all relevant taskbooks to contain an arraylist of Events similar to how it has an arraylist of Tasks.
Links
Here you should add links that are related to this Pull Request. For example:
#20

We need to decide on how we are gonna name the Name and Description classes that are being used by Event and Task classes.


Handle figues through Markdown and local files?

Hi @mmcky and @AakashGfude,
There are a couple of issues with the way we handle figures included via the .. figure:: directive.
First, it's hard for the user to work with them during the "edit rsts --- view ipynb" loop because they are pulled in from a remote source.  This isn't really a workable solution from the editor's perspective.  Is there a fix we can come up with?
Second, and perhaps this can be fixed more quickly, can we please embed those figures into the ipynb file via markdown rather than html?
There are some suggestions of how this might be done here although there might be better methods.
Actually this last one is kind of urgent because html is ignored by pandoc when converting ipynb files to tex files.  I'm CCing @AnjuJoon because she can't get the images included in the PDFs until this is fixed.

hi @jstac if you're using the lecture-source-py repository then you can use make local which triggers images to be local by forcing the option  -D jupyter_images_urlpath=0. This was setup for Natasha to do local editing. In the future I would like this to be replaced with make ipynb which is all about local editing and conversion to notebook format and make jupyter which will allow the full build approach.

@jstac one issue with adding images via markdown is the :scale: parameter can't be used which is the main reason they are included as html at the moment.

Hi @mmcky, thanks for the quick reply!
On the second point, good news.  We got rid of all the :scale: directives on @DrDrij 's advice :-)
A grep shows a couple of :scale:s left in the index files but I'm sure they could be tidied up.  Could we please proceed with this and switch to Markdown, so @AnjuJoon can finish up producing the pdfs?
On the first point, we talked about this yesterday to some degree, but

I wouldn't be in favor of those two names (make ipynb and make jupyter) because the distinction wouldn't be clear to a new user.  See here for more discussion.
I'm not sure why we need something in between a make jupyter, that is all about local editing (what you refer to as make ipynb but I'd prefer not to change the name so we don't break the workflow of people like Tom), and make website, which is all about generating a website ready for publishing.  Isn't that what we agreed or did I get it wrong?  I'm happy to be corrected, but it seems to me that anything in between is beyond the scope of the regular user and should be controlled with flags.

Finally, in my view, make jupyter should take over make local as well, since it's all about local editing.

@mmcky  Can we close this?

@mmcky ping

@jstac this can be closed. @AakashGfude let's check this afternoon that https://github.com/QuantEcon/sphinxcontrib-jupyter/pull/194 is adhered to in the PR for improved UX commands.


[SPARK-29818][MLLIB] Missing persist on RDD

What changes were proposed in this pull request?
Use persist on RDD which is used for more than one action.

Why are the changes needed?
Persist prevents re-computation of rdd when more than one actions are applied.

Does this PR introduce any user-facing change?
No

How was this patch tested?
Manually

@srowen @MaxGekk Kindly, review this PR.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Persisting intermediate results is not always good because serialization has some costs + some vendors can solve the performance issue by another ways like IO caching /cc @gatorsmile @cloud-fan

I have not tested this patch on any performance benchmark but I think these functions are quite generic, most of the applications/vendors must be using them. So it would be better if we optimize them like we are doing in other places?
https://github.com/apache/spark/blob/57b954e825970f004895ac127083da67e10c09fb/mllib/src/main/scala/org/apache/spark/ml/tree/impl/RandomForest.scala#L155-L158
https://github.com/apache/spark/blob/57b954e825970f004895ac127083da67e10c09fb/mllib/src/main/scala/org/apache/spark/mllib/evaluation/BinaryClassificationMetrics.scala#L227
@MaxGekk Kindly correct me if I am wrong. Thanks

Now that persist() is added on some RDDs, I think the related RDD.unpersist() should also be added.

@srowen There are some JIRA tickets created for unnecessary use of persist and improper persist strategy (like 29844, 29832). Do we need to handle them in this PR?

cc @srowen

@srowen kindly help me to review this PR https://github.com/apache/spark/pull/26317

I don't see how that PR is related?

I know it's not related. But want you to review that.


Connection problems with large deployments (1200+ pods)

Updated Issue (12/30/18)
(Issue has been updated to reflect the current understanding of this problem, which is much improved since it was originally opened. See 10/1/18 edit in history for original text.)
Describe the bug
Deployments become unstable as they grow in size with sidecars deployed. This manifests as one of the following 3 errors:
Readiness probe failed: HTTP probe failed with statuscode: 503
Liveness probe failed: HTTP probe failed with statuscode: 503
Liveness probe failed: Get http://<IP_ADDRESS>:9080/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)

This appears to only happen on very large Deployment (1200+ pods), but it is regardless of instance count or size available in the cluster. I have tried with 15x m4.large, 20x m4.xlarge, 20x r4.xlarge, etc. The threshold for failure does not change. The other key point here is that the issue does not occur if there is no k8s Service on the deployment.
Expected behavior
Large Deployments do not have problems handling requests
Steps to reproduce the bug

Have a cluster that should easily handle 1500 pods (15-20 m4.xlarge is fine)
Install istio with the following values.yaml:

global:
  proxy:
    # Disable Mixer logging every request
    accessLogFile: ""
mixer:
  replicaCount: 3
  autoscaleMin: 3
  autoscaleMax: 10
pilot:
  replicaCount: 3
  autoscaleMin: 3
  autoscaleMax: 10

Label the default namespace with istio-injection=enabled
Create a simple http-listener deployment/service; I'll use bookinfo to keep it simple.
a. This should have 100 replicas, liveness/readiness probes, and set the resource claims to 0 to make things simple to test

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: productpage-v1
spec:
  replicas: 100
  template:
    metadata:
      labels:
        app: productpage
        version: v1
    spec:
      containers:
      - name: productpage
        image: istio/examples-bookinfo-productpage-v1:1.8.0
        imagePullPolicy: IfNotPresent
        resources:
          requests:
            cpu: 0
            memory: 0
        ports:
        - containerPort: 9080
        livenessProbe: &probe
          initialDelaySeconds: 10
          httpGet:
            path: /
            port: 9080
        readinessProbe:
          <<: *probe
---
apiVersion: v1
kind: Service
metadata:
  name: productpage-v1
  labels:
    app: productpage-v1
spec:
  ports:
  - port: 9080
    name: http
  selector:
    app: productpage
    version: v1

Apply the manifest to create the deployment and service
Wait for the pods to become Running and passing health checks
Increase the deployments by 100 and apply changes; repeat until 1200-1500 where you will see health checks start to fail on both old and new pods.

I want to go ahead and note here that separating the deployments into 100-200 pod chunks (I went to 9 deployments of 200 each for 1800 pods) seems to address the issue.
Version
Istio: 1.0.5
Kubernetes: 1.10.11
Environment

New kops-built clusters to validate this issue on AWS (no other traffic) with Weave overlay
Various instance sizes up to 20x r4.xlarge
mTLS disabled
All pods have httpGet liveness/readiness probes

** Other Notes**

Liveness/Readiness probes are a way to see the problem reliably, but I imagine it would be similar for end-users hitting a service
Removing Istio addresses stability problems
Removing the Service from the deployments addresses stability problems
Running 18 separate deployments of 100 pods each addresses stability problems (though I didn't test a shared service on all of them)
Once a cluster gets into a busted state from a large deployment, scaling down won't fix it until I restart the masters
Toying with the mixer HPA numbers does seem to alleviate the issue -- perhaps a larger deployment is heavier on mixer? With all the moving parts, I haven't nailed down a good test here... just speculation.

@costinm

What is the total amount of traffic in mesh? It is available in grafana on top left as global traffic.
What did logs from istio-proxy say in the pods that were dying? A pod that is not able to connect to pilot for any reason will show this behavior. Are there any config stream ended type messages?
You should do
Kubectl -n istio-system delete rules stdio  tcpstdio
Ordinarily should not need so many instances. With Prometheus metrics and no stdout we need 0.4 vcpu per 1000 mesh requests.

Thanks @mandarjog -- I'll spin up the test cluster today and get some answers on these.

I'll get the number when it starts failing but actual user traffic was 0... it was all from liveness probes.
The only thing I noticed was frequent 1000s instead of 200s from the http liveness probes. I still have all the logs in Splunk though but there's nothing with "config stream ended".
Will definitely try this one - are there any pages in the docs that detail these defaults or when to remove them? Or a Helm option to suppress generating them?
Understood. So the cpu claims should be adjusted according to expected traffic using those numbers? This makes it sound like the default claims should be changed from 10m to 400m or something to prevent unnecessary HPA triggers.

@mandarjog here's the traffic based on pod count (pods - ops):
5 - 0.5
100 - 45
200 - 91
300 - 137
400 - 181
500 - 225
600 - 275
700 - 322
800 - 371
900 - 418
1000 - 468

I did delete the two rules you mentioned and that had a significant impact and pushed the issue a bit higher in pod counts. Around 900 pods now, I start getting the issues... again regardless of host count. The actual effect is a mix of responses between Client.Timeout exceeded while awaiting headers, dial tcp <IP_ADDRESS>:9080: getsockopt: connection refused, and just 404 responses often enough to cause some pods to die.
I did go back down to default HPA caps for this and here's what it looks like with 800 pods:
NAME                   REFERENCE                         TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
istio-egressgateway    Deployment/istio-egressgateway    50%/80%    1         5         1          4h
istio-ingressgateway   Deployment/istio-ingressgateway   50%/80%    1         5         1          4h
istio-pilot            Deployment/istio-pilot            48%/80%    3         10        3          4h
istio-policy           Deployment/istio-policy           96%/80%    3         10        10         4h
istio-telemetry        Deployment/istio-telemetry        305%/80%   3         10        10         4h

This definitely felt like a nice improvement... the limit was pushed up another 200 pods or so, but still hits similar issues at a higher volume.

Just to be clear, at 1000 pods, you see 468  rps traffic == (0.468 k ops) ? At that rate you will need  ( 0.468 * 0.4) 0.188 cpu cores for telemetry.
If the traffic is 468K rps then you will need full 188 cpu cores for telemetry. 8 x m4.2xlarge only gives you 64 cpu cores.
@jaygorrell for large performance runs we use the following values.
https://github.com/istio/tools/blob/master/perf/twoPodTest/values-istio-auth.yaml
You should adjust the proxyv2 claims according to your traffic. Also disable access logs at the proxy like it is done in the values file.
I would also like to know the actual CPU being used by pilot, telemetry and policy.
kubectl --namespace istio-system top pods --containers
I have an additional dashboard under review, but you can install it in your grafana
from here

Thanks @mandarjog. That's correct, this was just 468 ops... not thousands. So we should be good on cpu. Since I've also tried everything from 9 to 22 instances and the issue happens around the same pod count, I don't believe I'm hitting any cpu/memory constraints on the cluster. I'll take a closer look though and get your questions answered.
The values file you linked is for a small pod count (2 cores per proxy) and isn't easily applied to this issue where it kicks in around 900 pods. The only other notable difference I see there is the usage of accessLogFile: "" vs accessLogFile: "/dev/null" which I assumed is the same but I'll give it a try.
If you have a reasonable environment at the ready, I'm curious if this issue is as reproducible as it seems for me. I assume there's nothing special about the liveness probes and that it's just simulating traffic (and really not that much), as the ops shows.
Thanks for the help here - I'm excited to get this out into production once we work through the initial problems.

900 Pods:

kubectl --namespace istio-system top pods --containers
POD                                         NAME                       CPU(cores)   MEMORY(bytes)
grafana-75485f89b9-bxhpq                    grafana                    9m           26Mi
istio-citadel-84fb7985bf-vq692              citadel                    0m           8Mi
istio-egressgateway-bd9fb967d-hs992         istio-proxy                5m           30Mi
istio-galley-655c4f9ccd-rnzqr               validator                  14m          12Mi
istio-ingressgateway-688865c5f7-lbj4g       istio-proxy                4m           29Mi
istio-pilot-74c5b54784-7629j                discovery                  584m         118Mi
istio-pilot-74c5b54784-7629j                istio-proxy                1m           16Mi
istio-pilot-74c5b54784-977wx                discovery                  206m         238Mi
istio-pilot-74c5b54784-977wx                istio-proxy                1m           16Mi
istio-pilot-74c5b54784-g5ncl                discovery                  49m          50Mi
istio-pilot-74c5b54784-g5ncl                istio-proxy                3m           16Mi
istio-pilot-74c5b54784-gzjmw                discovery                  784m         122Mi
istio-pilot-74c5b54784-gzjmw                istio-proxy                2m           16Mi
istio-pilot-74c5b54784-qt8s4                discovery                  187m         229Mi
istio-pilot-74c5b54784-qt8s4                istio-proxy                2m           16Mi
istio-pilot-74c5b54784-t8zqt                discovery                  190m         227Mi
istio-pilot-74c5b54784-t8zqt                istio-proxy                3m           16Mi
istio-pilot-74c5b54784-z6lqs                discovery                  49m          53Mi
istio-pilot-74c5b54784-z6lqs                istio-proxy                2m           16Mi
istio-policy-6b9f4697d-7k2qn                mixer                      35m          405Mi
istio-policy-6b9f4697d-7k2qn                istio-proxy                7m           63Mi
istio-policy-6b9f4697d-9ktn4                mixer                      29m          376Mi
istio-policy-6b9f4697d-9ktn4                istio-proxy                6m           63Mi
istio-policy-6b9f4697d-9rqsb                mixer                      21m          248Mi
istio-policy-6b9f4697d-9rqsb                istio-proxy                8m           62Mi
istio-policy-6b9f4697d-h86ts                mixer                      31m          377Mi
istio-policy-6b9f4697d-h86ts                istio-proxy                7m           64Mi
istio-policy-6b9f4697d-m9vmk                mixer                      31m          363Mi
istio-policy-6b9f4697d-m9vmk                istio-proxy                8m           61Mi
istio-policy-6b9f4697d-pmfsh                mixer                      20m          247Mi
istio-policy-6b9f4697d-pmfsh                istio-proxy                7m           61Mi
istio-policy-6b9f4697d-tgbtc                mixer                      26m          375Mi
istio-policy-6b9f4697d-tgbtc                istio-proxy                8m           63Mi
istio-policy-6b9f4697d-wvskw                istio-proxy                7m           38Mi
istio-policy-6b9f4697d-wvskw                mixer                      20m          248Mi
istio-policy-6b9f4697d-zfhb5                mixer                      20m          292Mi
istio-policy-6b9f4697d-zfhb5                istio-proxy                6m           61Mi
istio-policy-6b9f4697d-zq25n                mixer                      21m          245Mi
istio-policy-6b9f4697d-zq25n                istio-proxy                7m           50Mi
istio-sidecar-injector-8975849b4-7p77x      sidecar-injector-webhook   15m          8Mi
istio-statsd-prom-bridge-7f44bb5ddb-2q9d6   statsd-prom-bridge         832m         428Mi
istio-telemetry-6b5579595f-49k2h            istio-proxy                19m          78Mi
istio-telemetry-6b5579595f-49k2h            mixer                      59m          491Mi
istio-telemetry-6b5579595f-7bb79            mixer                      89m          686Mi
istio-telemetry-6b5579595f-7bb79            istio-proxy                23m          79Mi
istio-telemetry-6b5579595f-d6tgp            mixer                      69m          424Mi
istio-telemetry-6b5579595f-d6tgp            istio-proxy                18m          79Mi
istio-telemetry-6b5579595f-d8vgq            mixer                      49m          401Mi
istio-telemetry-6b5579595f-d8vgq            istio-proxy                20m          78Mi
istio-telemetry-6b5579595f-l9z48            istio-proxy                18m          79Mi
istio-telemetry-6b5579595f-l9z48            mixer                      57m          437Mi
istio-telemetry-6b5579595f-p2rzj            mixer                      72m          551Mi
istio-telemetry-6b5579595f-p2rzj            istio-proxy                16m          79Mi
istio-telemetry-6b5579595f-pq9wx            istio-proxy                17m          80Mi
istio-telemetry-6b5579595f-pq9wx            mixer                      58m          407Mi
istio-telemetry-6b5579595f-pr28z            mixer                      56m          398Mi
istio-telemetry-6b5579595f-pr28z            istio-proxy                15m          79Mi
istio-telemetry-6b5579595f-rtr99            mixer                      81m          587Mi
istio-telemetry-6b5579595f-rtr99            istio-proxy                18m          80Mi
istio-telemetry-6b5579595f-sm5cw            mixer                      66m          468Mi
istio-telemetry-6b5579595f-sm5cw            istio-proxy                19m          79Mi
prometheus-84bd4b9796-shxc9                 prometheus                 496m         2009Mi```

I tried a few more things here to debug today:
I started looking through major differences in istio-1.1.0.snapshot.1 to see what else I could try and noticed envoyStatsd was removed so I tried disabling that since it had some pretty large cpu fluctuations. No luck, similar results.
I then tried changing the deployment to only have a livenessProbe (dropped the readiness probe) since that's the main thing I'm concerned about and the results were promising. It still means there's a bottleneck somewhere as 900 pods doing liveness + readiness checks is making something choke -- but again, removing the sidecar addresses that problem so it's an interaction with Istio somewhere.
Finally I tried the full istio-1.1.0.snapshot.1 release... the results there look very promising. Here is a screenshot with the exact same configuration as my last screenshot, except on the new version (added bonus of columns being fixed too):

In addition to the stability while at 900 pods, it was taking me about 2 hours on 1.0.2 for each test to slowly add 100 pods at a time, as anything too fast would cause health checks to choke and pods would hit multiple restarts before coming up. On 1.0.2 without a readiness check (only liveness) this was much faster, but on 1.1.0.snapshot.1 it's even faster still -- and that's with both liveness and readiness checks in place ... and with the default rules running.
Something in 1.1.0.snapshot.1 had a huge impact here. I'm fine moving to it but does anyone have any ideas what the difference-maker was here? I'd be happy to re-test 1.0.2 with an identified change given this info.
cc: @mandarjog

I just tried 1.0.3 to see if there were any improvements here with no luck. It's actually a bit worse.
Info:

Brand-new k8s cluster
Only changes: enableTracing: false, accessLogFile: "", and grafana enabled
Added liveness and readiness probes to bookinfo's productpage-v1 deployment

From there, I deployed 100 pods with no problem. I bumped it to 200 and already saw some pod restarts from probe failures. I then went to 250 and about 20 of the pods restarted 6+ times before finally becoming healthy:
productpage-v1-847b985594-rvqp2   1/2       CrashLoopBackOff   6          9m
productpage-v1-847b985594-vp2vl   1/2       CrashLoopBackOff   6          9m
productpage-v1-847b985594-w79sq   1/2       CrashLoopBackOff   6          9m
productpage-v1-847b985594-xgwjh   1/2       CrashLoopBackOff   6          9m
productpage-v1-847b985594-xxhtw   1/2       CrashLoopBackOff   6          9m
productpage-v1-847b985594-z247m   1/2       CrashLoopBackOff   6          9m

One thing I did notice that changed is that I was getting 404s from the probes initially when new pods came up but the bulk of the errors came from 503s shortly after. On 1.0.3 it appears that the 503s are gone and it's the 404s that take longer to shake out.
You can see the results of the problem immediately now that the dashboard is working again:

If it helps, here's a snapshot of the HPA numbers with 250 pods
NAMESPACE      NAME                   REFERENCE                         TARGETS    MINPODS   MAXPODS   REPLICAS   AGE
istio-system   istio-egressgateway    Deployment/istio-egressgateway    30%/80%    1         5         1          24m
istio-system   istio-ingressgateway   Deployment/istio-ingressgateway   30%/80%    1         5         1          24m
istio-system   istio-pilot            Deployment/istio-pilot            28%/80%    1         5         1          24m
istio-system   istio-policy           Deployment/istio-policy           63%/80%    1         5         3          24m
istio-system   istio-telemetry        Deployment/istio-telemetry        200%/80%   1         5         5          24m

I definitely see the pilot improvements at least so that's a nice change.

If possible can you export mixer and mesh and performance dashboards to raintank?
In my large cluster I run with 500 to 1000 pods and things are fine .

Mixer: https://snapshot.raintank.io/dashboard/snapshot/5iVsHizfKmb6cQOsLtd6Efz98T7RF5Ji?orgId=2
Mesh: https://snapshot.raintank.io/dashboard/snapshot/wwqcMwjvjg4qglRpG9SH9q7h0y6JeBsE?orgId=2
Performance: https://snapshot.raintank.io/dashboard/snapshot/9tmOuPh4tvJh524U9g0ZjE16Em7Ptj3N?orgId=2
It seems like the 500s on the dashboard are only during the initial pod creation when adding another 50-100, however once it returns to 100% success rate on the mesh dashboard, pods continue to restart and fail liveness probes for quite some time (up to 15-20 minutes).

https://github.com/istio/tools/blob/master/perf/servicegraph/values.yaml
This is the performance test. It is modular per namespace and uses about 20 services with 3 pods each. They use readiness probe.  Then we create 10 to 20 such name spaces.

Interesting. Can you see anything that would cause a difference with my test? I'd ignore it, but I get the same results in a real environment. Would love to see if you're able to reproduce it and isolate the difference.

@mandarjog can you give me a bit more info about that environment? I'm trying to help isolate this because I can reproduce it every time with new clusters. Anything that could be helpful... instance sizes, network overlays, etc.
There also seems to be two different things here:

Deploying 200-300 pods at once causes dozens of them to hit multiple restarts before things settle.
Once things are settled, occasional http health check failures happen but only at larger pod counts.

The second issue is quite a bit better than 1.0.2 but still present... the first issue seems just as bad. It happens with 100 pods too but not as easy to see. Can you reproduce that one by chance?

I've been debugging this as much as I can in my spare time. The first issue was just choking the pilot -- it settles down after deployments and scales back to 1 by default so throwing 200 pods at at time will cause lots of health check failures until it catches up but setting the HPA minimum to 3 fixes this.
For the main issue, I found that Kubernetes services are another factor here. Here are some of the test results, starting with the original test:
1 deployment of 600-800 pods, 1 service: Liveness/Readiness probe failures
12 deployments of 100 pods, 12 services: Liveness/Readiness probe failures
1 deployment of 1200 pods, 0 services: No issues
12 deployments of 100 pods, 0 services: No issues

Does this help point to something I can dig deeper into?

@costinm I'm happy to test a release with #7665 when it's available. Does that fix fit the scenario that it seems to only be a problem when k8s services are on the pods?

@costinm could you provide an update?

I just edited the original post to represent what the current status of this issue is (as of 1.0.5) with some new details. Would still be happy to test the above changes to see the impact there when it's available.

@costinm Can you clarify what "sidecar is in" means here? From context, this sounds really promising though!

/cc

He means the new Sidecar resource, and accompanying export_to fields, which lets you restrict what config gets sent to each set of sidecars (that link is the mesh wide default, similar fields exist on each resource: VirtualService, DestinationRule, ServiceEntry). See the docs (I'll check and see why the export_to fields are still hidden), but to help your scale problem:

Write a Sidecar for each namespace in your deployment. In each namespace, include services (or whole namespaces) you need to call out to in the egress clause.
# This restricts the clusters and endpoints sent to Envoys in the `foo` namespace
# to just other services in the same namespace, every service in the `baz` namespace,
# and the `bang` service from the `bar` namespace.
apiVersion: networking.istio.io/v1alpha3
kind: Sidecar
metadata:
  name: default
  namespace: foo
spec:
  egress:
  - hosts:
    - "bar/bang.bar.svc.cluster.local"
    - "baz/*"

Sidecars are opt-in per namespace, so just setting it up for the few large apps may be enough. However, if large sets of services need to communicate there may still be issues.

After creating Sidecars, set the defaultServiceExportTo of the field MeshConfig to "." make service namespace-private by default. Then they'll only be visible by configuring them via a sidecar.

Order is important here: sidecars will not be able to route traffic to services that are not visible, so setting the default before creating Sidecars for each namespace will break cross-namespace traffic in apps with Istio sidecars deployed.

Last tests from Mandar seem to confirm this is no longer a problem, as long as Isolation (Sidecar crd) is used.


Icon before title (not an issue)

Sorry if this could be misplaced, it is not an issue but a support request.
I would like to add an icon before the title in my minimaJake blog. I found a method for minima and tried to apply it to minimaJake, but I do not know if it is reliable. Moreover,   the icon appears after   the title (and before on mobile).
In _includes/header.html I added the following:

before {{ site.title | escape }}
Could you suggest the good method? (Or perhaps add a new feature?)

Hmm, I haven't tried this I'll be honest. What happens if you just put the <img src=... inside the site-title <a tag?
If this doesn't work, I'll take a look!

It's working, ok!
{{ site.title | escape }}

Great! 🙂


Adjust ci native

Fixes

Fixes #_____

Proposed Changes/Todos

[ ] Todo 1

Pull Request checklist:

[ ] I've named my PR in the form of "Fixes #issue. Terse description."
[ ] My code follows the style guidelines of Terminal.Gui - if you use Visual Studio, hit CTRL-K-D to automatically reformat your files before committing.
[ ] My code follows the Terminal.Gui library design guidelines
[ ] I ran dotnet test before commit
[ ] I have made corresponding changes to the API documentation (using /// style comments)
[ ] My changes generate no new warnings
[ ] I have checked my code and corrected any poor grammar or misspellings
[ ] I conducted basic QA to assure all features are working

Should Native and Aot also be built in the debug builds?

Should Native and Aot also be built in the debug CI pipelines builds?

I don't think so. Locally, normally it build well but when ran sometimes an error was throwing. In the Ci pipelines doesn't justify.

NativeAot project isn't compiling in release mode locally.

@tznind thanks very much for your help but I think I already fixed this. I have to use scripts for release mode but there is no way to suspend the package restore to build and pack first using project configuration.

Cool glad you were able to sort it!


Add search functionality to API Docs

Purpose

Adds a search bar to API Docs.

Fixes #22722
Approach

Frontend Search functionality is implemented using React.
JSON files are generated that holds the data required by the search functionality.

Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #23104 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #23104   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

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 c3728a8...501e9a9. Read the comment docs.

Codecov Report

Merging #23104 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #23104   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

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 65d2da1...ecb5b6e. Read the comment docs.


Fix the "MobX-State-Tree [(Why not Redux?)]" Link

Please verify the following:

[x] yarn ci:test jest tests pass with new tests, if relevant : NOT RELEVANT
[x] README.md has been updated with your changes, if relevant

Describe your PR
The link was redirecting to an anchor which does not exist anymore on this page. I think you should redirect to the doc file MobX-State-Tree.md.
Best Regards,
Ruben

Thank you @rubensitbon!

Thank you @rubensitbon!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Can the redis JSON value be converted into struct+map form?

Value Example in Redis as fllows:
{
   "Uid":"xxx",
   "Phone":"139xxxxxxxxx",
   "hobit":{
        "swimming":"yes",
        "running":"yes",
        "football":"yes",
    }
}

Want to get redis json value from redis server like above,then converted into struct+map form like bellow:
type T struct {
	Uid   string `json:"Uid"`
	Phone string `json:"Phone"`
	Hobit map[string]interface{} `json:"hobit"`
}

Is there a function that can handle this?

Value Example in Redis as fllows:
{
   "Uid":"xxx",
   "Phone":"139xxxxxxxxx",
   "hobit":{
        "swimming":"yes",
        "running":"yes",
        "football":"yes",
    }
}

Want to get redis json value from redis server like above,then converted into struct+map form like bellow:
type T struct {
	Uid   string `json:"Uid"`
	Phone string `json:"Phone"`
	Hobit map[string]interface{} `json:"hobit"`
}

Is there a function that can handle this?

Hi @dwzkit, I believe this can do the conversion for you https://github.com/rueian/rueidis/blob/21e43ebc5d7a7a5ec0f0c50fc572caf0b7b67d92/message.go#L154

yes, DecodeJSON can help me do the job,Thanks!


Content: Remove the word "link" between Atlas and the external link icon, from the Map Detail page

Currently staging says:
"Atlas link [external link icon]"
Change to:
Atlas [external link icon]

Hi I'd like to be assigned this.


File observer

Have you considered extending files with this?
let observer = try FileObserver(file: file)

observer.start {
    print("File was changed")
}

Some guy called @JohnSundell wrote this as a blog post 😜 #SwiftBySundell
class FileObserver {
    private let file: File
    private let queue: DispatchQueue
    private var source: DispatchSourceFileSystemObject?

    init(file: File) {
        self.file = file
        self.queue = DispatchQueue(label: "com.myapp.fileObserving")
    }

    func start(closure: @escaping () -> Void) {
        // We can only convert an NSString into a file system representation
        let path = (file.path as NSString)
        let fileSystemRepresentation = path.fileSystemRepresentation

        // Obtain a descriptor from the file system
        let fileDescriptor = open(fileSystemRepresentation, O_EVTONLY)

        // Create our dispatch source
        let source = DispatchSource.makeFileSystemObjectSource(fileDescriptor: fileDescriptor,
                                                               eventMask: .write,
                                                               queue: queue)

        // Assign the closure to it, and resume it to start observing
        source.setEventHandler(handler: closure)
        source.resume()
        self.source = source
    }
}

Haha nice one 😅 However, this sort of functionality is out of scope for this project 🙂


Tell crawlers not to index print pages

This logic is copied from the way that the Docsy code handles this.
Before this change, crawlers were indexing the print versions of pages, which is not what we want to happen.

/lgtm

/priority important-longterm

/area web-development


Made README a little bit clearer by including the StateObject

Not perfect yet, but better than what we have now.

Hey Jordi!
Thanks for the PR - spoken to you briefly externally but thought I'd summarise here for transparency.
The sample code provided here is no longer the expected implementation - in fact, this code would not compile as you can no longer initialise the PipifyController.
I do agree however that we absolutely need to improve documentation to include a more thorough example showing the @State parameter which is provided to the pipify modifier.
I'll pick this up in a quick PR.

Closed by 4050d5645493088cbe04f1714ab09c331e6507bb


fix: infer result data type from query fn return type instead of the reverse

Fix for https://github.com/tannerlinsley/react-query/issues/1445 .
This PR swaps the query result type and query function result type inference. The first generic will now define the query function result type, and then the default query result type is inferred from this instead of the other way around.
Might be good to do a thorough review on this one as it is quite a big change.

After trying this out, it seems to work without a hitch. I'm good to merge if you are!

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Crash in navigation link Xcode 12

Fatal error: Attempted to read an unowned reference but object 0x6000003bc6c0 was already deallocated
.onAppear { [unowned binder] in
if !binder.loadingOrSuccessed {
binder.start()
}
}

For me, it is not a crash, but all images are failed to load. Below is the body of my view:
var body: some View {
        NavigationView {
            ScrollView {
                LazyVStack {
                    ForEach(appStore.timelineArticleStates) { articleState in
                        NavigationLink(destination: Text("\(articleState.title)\n")) {
                            VStack(alignment: .leading, spacing: 0) {
                                KFImage(articleState.coverURL)
                                    .resizable()
                                    .aspectRatio(Metric.imageAspectRatio, contentMode: .fit)
                                Text("\(articleState.title)\n")
                            }
                        }
                    }
                }
            }
        }
    }

For me, it is not a crash, but all images are failed to load. Below is the body of my view:
var body: some View {
        NavigationView {
            ScrollView {
                LazyVStack {
                    ForEach(appStore.timelineArticleStates) { articleState in
                        NavigationLink(destination: Text("\(articleState.title)\n")) {
                            VStack(alignment: .leading, spacing: 0) {
                                KFImage(articleState.coverURL)
                                    .resizable()
                                    .aspectRatio(Metric.imageAspectRatio, contentMode: .fit)
                                Text("\(articleState.title)\n")
                            }
                        }
                    }
                }
            }
        }
    }

Looks a lot like js ...

The unowned was not used anymore for quite a few times. Maybe try to upgrade to the latest Kingfisher and the current Xcode 12 beta 4 to see again?
I also tried the code snippet above, and it also works fine for me. I guess it would also be related to some beta version of Xcode and suggest a re-confirm.


chore(deps): bump https://github.com/zeebe-io/zeebe-cluster-helm from 0.0.102

Update zeebe-io/zeebe-cluster-helm from 0.0.102 to 0.0.106
Command run was jx step create pr chart --name zeebe-cluster --version 0.0.106 --repo https://github.com/zeebe-io/zeebe-full-helm.git

Update zeebe-io/zeebe-cluster-helm from 0.0.102 to 0.0.105
Command run was jx step create pr chart --name zeebe-cluster --version 0.0.105 --repo https://github.com/zeebe-io/zeebe-full-helm.git

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: salaboy
If they are not already assigned, you can assign the PR to them by writing /assign @salaboy in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Zelldon
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [Zelldon]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Use enum for encoder distance and effort options

All options use the enum now.
The JxlEncoderOptionsSetLossless will be handled in a different MR,
since it's actually a combination of a modular, quality_pair and
color_transform option that still need to be added. The
JxlEncoderUseContainer option may also need some rework when
API to add boxes is added.
EDIT: also did this for the forgotten JxlEncoderOptionsSetDecodingSpeed option

LGTM, @jonsneyers  ?

LGTM.


[WIP] Samly idp started flow

Initial implementation of the IDP initiated flow. #1117
I'm really not familiar with Elixir and Phoenix so asking for your help to make allowed_target_urls field in UI editable. The idea was to serialize/deserialize json array into comma separated strings in the input field. But I have no experience with that. Also need help adding documentation and tests.
Tested with:

AWS SSO

@salemgolemugoo Thanks for the PR! It's the right approach, but will need quite some work before it would be able to be merged. If you're able to use / test it as-is then great, otherwise we'll add this to the backlog for a future release.

Pull Request Test Coverage Report for Build 9441bb4a03d5bd3ba0e1a8d82c7946c7d52166c6-PR-1555

6 of 6 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.05%) to 70.736%

Totals

Change from base Build eb3d42bb23eda8c12e3fbd85068bc5969ef6be65:
0.05%

Covered Lines:
1970

Relevant Lines:
2785

💛  - Coveralls

SAML connector is being rewritten for 1.0 and this will be implemented there.


Fixed event listener for uploads

Hi! I noticed that the progress event listener wasn't working for uploads, so I added a new option "uploadEvents". Works just like your "events" option, but instead of:
xhr.addEventListener
it has:
xhr.upload.addEventListener
If there's another way you'd rather fix this issue, go for it. :)

+1

Should be fixed, ta

Thanks! I will check it later.

pls accept this PR


502s and readiness check failrues

@hamelsmu is reporting occasional 502s.
I'm noticing that most of the pods aren't reporting a steady health metric
kubectl -n mlapp get pods
NAME                             READY     STATUS    RESTARTS   AGE
ml-github-app-86676c7c4c-2tphc   0/1       Running   0          17m
ml-github-app-86676c7c4c-57ssv   0/1       Running   0          17m
ml-github-app-86676c7c4c-h8wlb   0/1       Running   0          17m
ml-github-app-86676c7c4c-ljz9w   0/1       Running   0          10h
ml-github-app-86676c7c4c-lr2jx   0/1       Running   0          17m
ml-github-app-86676c7c4c-p2jzp   0/1       Running   0          17m
ml-github-app-86676c7c4c-xc2jg   0/1       Running   0          10h
ml-github-app-86676c7c4c-xhcgs   1/1       Running   0          17m
ml-github-app-86676c7c4c-xzg44   0/1       Running   0          10h
jlewi@jlewi-carbon-glaptop:~/git_kubeflow-testing/test-infra/ks_app$ kubectl -n mlapp get pods
NAME                             READY     STATUS    RESTARTS   AGE
ml-github-app-86676c7c4c-2tphc   0/1       Running   0          17m
ml-github-app-86676c7c4c-57ssv   0/1       Running   0          17m
ml-github-app-86676c7c4c-h8wlb   0/1       Running   0          17m
ml-github-app-86676c7c4c-ljz9w   1/1       Running   0          10h
ml-github-app-86676c7c4c-lr2jx   1/1       Running   0          17m
ml-github-app-86676c7c4c-p2jzp   0/1       Running   0          17m
ml-github-app-86676c7c4c-xc2jg   0/1       Running   0          10h
ml-github-app-86676c7c4c-xhcgs   0/1       Running   0          17m
ml-github-app-86676c7c4c-xzg44   0/1       Running   0          10h
jlewi@jlewi-carbon-glaptop:~/git_kubeflow-testing/test-infra/ks_app$ kubectl -n mlapp get pods
NAME                             READY     STATUS    RESTARTS   AGE
ml-github-app-86676c7c4c-2tphc   0/1       Running   0          17m
ml-github-app-86676c7c4c-57ssv   0/1       Running   0          17m
ml-github-app-86676c7c4c-h8wlb   0/1       Running   0          17m
ml-github-app-86676c7c4c-ljz9w   0/1       Running   0          10h
ml-github-app-86676c7c4c-lr2jx   1/1       Running   0          17m
ml-github-app-86676c7c4c-p2jzp   0/1       Running   0          17m
ml-github-app-86676c7c4c-xc2jg   1/1       Running   0          10h
ml-github-app-86676c7c4c-xhcgs   0/1       Running   0          17m
ml-github-app-86676c7c4c-xzg44   0/1       Running   0          10h

Thanks Jeremy, root cause seems to be:

The front page of the app is making a request to the GitHub API to server real-time stats.
K8 cluster has a load balancer that is constantly pinging the front page of the app for health checks
This causes the GitHub API to tell me I'm abusing their service because creating tons of requests per second.

Short Term Fix:

I'm removing GitHub API dependencies from front page load.

Long Term Fix:

Have a special route for just health check that is not the front page
Install Gunicorn

Thanks for your help everyone @hohsiangwu, @inc0 and @jlewi

Closing because this was resolved


Mutation require ID

I found that if you add id into the fields for the graphql types like this:
@gql.django.type(models.Client)
class Client:
    id:  gql.auto
    name: gql.auto
    notes:  gql.auto

@gql.django.input(models.Client)
class ClientInput:
    id:  gql.auto
    name:  gql.auto
    notes:  gql.auto

When you try to write a mutation in the graphiql it has id as a required field instead of have django automatically create them.
This means mutations like this would not work because it does not have an id field for the input data:
mutation newClient ($name:String!) {
  createClient(data: {name: $name}) {
    id
    name
  }
}

Hey @ccsv ,
This is as intended. You should have different inputs for creation and edition, that's the reason we have a partial type, which converts forces gql.auto into non-mandatory fields, different from the input which will consider if the field can be blank or not. For the creation input you should not have an id, but for the partial it should be mandatory
Take a look at the demo which has some use cases of this (I need to write some more though =P)

@bellini666  I tried the mutations with nested foreign keys and eliminated the IDs:

@gql.django.input(models.Address)
class AddressCreateInput:
    name: gql.auto
    notes: gql.auto

@gql.django.input(models.Client)
class ClientInput:
    address:'AddressCreateInput'
    name: gql.auto
    reference:gql.auto

createAddress: Address =gql.django.create_mutation(AddressCreateInput)
createClient: Client =gql.django.create_mutation(ClientInput)

If I create a mutation on graphiql it will not create the nested foreign key model instead the data is returned as null:
mutation MyMutation {
  __typename
  createClient(input: {address: {name: "sss"}, name: "sss", reference: "A"}) {
    ... on Client {
      id
      email
      address {
        id
        name
        notes
      }
      name
      reference
    }
  }
}

{
  "data": {
    "__typename": "Mutation",
    "createClientEntity": {
      "id": "8",
      "address": null,
      "name": "sss",
      "reference": "A"
    }
  }
}

Hey @ccsv , that's strange, your code should work.
I'll try to take a look at it either today or tomorrow and write an example and a test for that case. It should work!

Hey @ccsv . I just noticed that nested creation was only working for m2m. I just added support for foreign keys and it is available in the release I just made.
Please tell me if it fixes your issue.


eȯs.com myetherẉallẹt.com

Fake Eos airdrop site - idn homograph attack - links to myetherẉallẹt.com
https://urlscan.io/result/e0013795-54cd-4c54-a69c-09666b9ebfd0/#summary
https://urlscan.io/result/03a41315-680a-48f0-9661-4171faf1125e/#summary


Track labels in the HIR

Groundwork for #6966

I already have everything done for the the entire rename and goto scheme so its all tested in asense, I just split the work up to get smaller PRs.

bors r+
Splitting is generally good, but I personally also strongly prefer at least a hello-world test. There's no crisp and clear solutions here, ideally, it should be possible to spike the main functionality such that it has smoke tests, and then add extra bells&whistles in follow ups

Fair point, I'll keep that in mind :+1:


package conflicts

Hi there, thanks for the nice tool!
in a new conda environment everything ran quite smooth and fast, though when coming to the point to also perform the downstream analysis with Dynamo I'd have to create yet another environment just because all your requirements are set for a specific version. Is this necessary or e.g. would pandas 1.3.5 also work which is required for the dynamo-relase version?
I understand that you supplied the exact version that ensure proper functionality of your software, though is limiting everything else.
so this is rather a feedback / feature request to be more lax on the versions
pipedeptree lists e.g. the following pandas requirements of cellDancer:
├── pandas [required: >=0.24.1, installed: 1.3.4]
├── pandas [required: >=1.1, installed: 1.3.4]
│   ├── pandas [required: >=1.1.1, installed: 1.3.4]
├── pandas [required: >=0.23,!=1.4.0, installed: 1.3.4]
│   │   ├── pandas [required: >=1.1.1, installed: 1.3.4]
│   ├── pandas [required: >=1.0, installed: 1.3.4]
│   │   ├── pandas [required: >=0.23, installed: 1.3.4]
│   │   ├── pandas [required: >=0.25, installed: 1.3.4]
cheers
Daniel

Thank you for the suggestion! We will improve this in the next version. We will publish a list of fixed dependencies versions that will let both Dynamo and cellDancer runnable.
Best,
Shengyu


Return value of running() func always true

Thanks a lot for your libraries, they are great.
I encounter a problem, seems that the running() function always return true, regardless of led blinking.
I expect that when LED blinks the function will return true, otherwise false.
In the code block below btnFold is working vs. btnUnfold which doesn't work due to !stLed.running()
Init section:
// Buttons and LEDS
#define BTN_FOLD 18
#define BTN_UNFOLD 19
#define STAT_LED 13

Button btnFold(BTN_FOLD,INPUT);
Button btnUnfold(BTN_UNFOLD,INPUT);
Blinker stLed(STAT_LED);

Code Block:
if (currentTimeUS - lastAxisUpdateTimeUS >= 25) {
      btnFold.tick();
      btnUnfold.tick();
      stLed.tick();
      if (btnUnfold.click() && !stLed.running()){
        stLed.blink(5,500,600);
      }
      if (btnFold.click()){
        stLed.blink(3,500,600);
      }
       // X_Axis->update();
       // Y_Axis->update();
      lastAxisUpdateTimeUS = currentTimeUS;
}

WOKWIKI test code - https://wokwi.com/projects/400508610403255297

fixed. Thanks!

Thank you, great libraries.


Add support for server state management libraries

Server state management libraries to support:

[ ] #198
[ ] #199
[ ] #200

Created issues for each server state management library instead


Strip unknown keys from validated object

I'd be nice to take advantage of the validate option in e.g. Record to remove unknown fields when giving an object with known fields and 'valid' values.
Example:
import * as rt from 'runtypes'

const A = rt.Record({ a: number });

const { value } = A.validate({ a: 0, b: 2 }); // = { ..., value: { a: 1, b: 2 } }

// proposal
const { value } = A.validate({ a: 0, b: 2 }, true); // = { ..., value: { a: 1 } }

I hoped to get away with overriding the Record type, but it seems that the validation goes from deepest object to the most outer object when using nested RunTypes.
/**
 * Overloads the validation and strips unknown fields
 * @param {Parameters<typeof rt.Record>} properties
 * @see{rt.Record}
 * @todo fix typings
 */
const Record = properties => {
  const record = rt.Record(properties);

  const originValidate = record.validate.bind(record);

  const fields = Object.keys(record.fields);

  const stipUnknownFields = value =>
    fields.reduce(
      (prev, field) => ({
        ...prev,
        [field]: value[field],
      }),
      {},
    );

  record.validate = model => {
    const validation = originValidate(model);

    if (validation.success) {
      validation.value = stipUnknownFields({ ...validation.value });
    }

    return validation;
  };

  return record;
};

EDIT:
I worked around the fields value, but it would be nice to take into account rt.Array types... I think  that's too hacky to implement using this workaround.
const Record = properties => {
  const record = rt.Record(properties);

  const originValidate = record.validate.bind(record);

  const stripUnknownFields = (recordObj, value) => {
    const { tag, underlying, fields = {} } = recordObj;

    if (underlying && underlying.tag === 'record')
      return stripUnknownFields(underlying, value);

    if (tag !== 'record') return value;

    const keys = Object.keys(fields);

    return keys.reduce((prev, key) => {
      const field = fields[key];

      return {
        ...prev,
        [key]: stripUnknownFields(field, value[key]),
      };
    }, {});
  };

  record.validate = model => {
    const validation = originValidate(model);

    if (validation.success) {
      validation.value = stripUnknownFields(record, { ...validation.value });
    }

    return validation;
  };

  return record;
};

Hey, I've faced the same conundrum as you. Failing to realize that TypeScript being structurally typed, all objects that have the same (or more) properties will also pass the guard.
Now, technicially speaking, I think that's OK, because that guard (for me) is supposed to be equivalent with what you would get with static typing.
But you can write your own guards, and that's what I was thinking I'll end up doing. I mean, the way I think about this, is that runtypes is a library that gives you the building blocks to model your domain, and if your domain has types such as "partial SOMETHING", "nullable SOMETHING" (I would expect you could give each a normal name (like "incomplete form" for a form that does not have all props), I think writing custom guards, and perhaps packaging them in one "namespace" is the way to go.

Not sure if this is helpful, but I put together a gist that models this as a constraint function. It's a little janky because it needs currying to have access to the runtype it is validating, and only really covers records; however, my experience has been that records are the main thing this is needed for, for things like filtering data coming back from an API. https://gist.github.com/schicks/8a037fe7b3b4d1b0ceb505e8afcc9db3


Added in delimiter option to readCSVFromFileName

Was using the readCSVFromFileName option and was trying to read in a tab delimited file, and realized that the delimiter option wasn't being set through the chain.
To get this to compile on my machine I had to add in  "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.6" to the dependencies.
Signed-off-by: Jacob Foard<EMAIL_ADDRESS>

Hi @jacobfoard, thank you for your contribution! I'm publishing version 0.1.0 with the fix. In the meanwhile, I'd like to add you to the CONTRIBUTORS file. If you agree, please make a PR adding one line with the relevant info, (name, email, github username) and I'll be more than happy to merge it. Thanks.

Released 0.1.1 with the fix.


Test specs re-organization

Merging all analysis specs in one file
Centralizing all the intercepts in a command called interceptAllRequests

On the first run, I run into some failed tests... This might be because I removed the .next folder and compilation times might take longer than usual. So I run tests a couple of times more: the second run failed as well but the third run and so on went well and all specs passed.
With this... Not sure what I want to mean, but that was my experience hahaha. I want to believe it was "bad luck", anyway, I will run tests again here in the PR to be sure :)


Fixes shadow issues on navMenu PR

@morebrownies this should fix the border and shadow issues with the nav menu.
I couldn't replicate the blinking issue you mentioned.

Ok, thank you. Looks good. I'm not seeing the blink issue anymore either.


Email body and subject does not match

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
The header/subject of the email and the body reference two different monitors.
The body contains the correct reference.

We only use email notifications, so I don't know if others might be experiencing the same issue.
👟 Reproduction steps
No idea, the only thing the monitors have in common is the notification.
👀 Expected behavior
The header/subject of the email should reference the correct monitor.
😓 Actual Behavior
The header/subject of the email references another monitor.
🐻 Uptime-Kuma Version
1.23.0
💻 Operating System and Arch
AMI2, Docker and Debian 11, Docker
🌐 Browser
Chrome 116.0.5845.188
🐋 Docker Version
No response
🟩 NodeJS Version
No response
📝 Relevant log output
No response

This was reported before and is likely because the Gmail client incorrectly groups emails with different subjects together.

Nope.
The screenshot is a single email with the wrong subject.
I've never seen gmail group emails with seperate subjects, only if the subject starts with eg. "Re:" or "Fwd:".
gmail never groups emails from uptimerobot, also when they are send with seconds between them.

The issue Nelson is refering to is https://github.com/louislam/uptime-kuma/issues/3660
Please make sure that this is not the case by clicking the option to view the original as mentioned in said issue.
Debugging this further:

Could you share how you configured your templating?
=> I want to make sure, that this is not a duplicate of https://github.com/louislam/uptime-kuma/issues/3184
How are these monitors related? Are they groups/... ?

Inspecting the original content of the email, ok, the subject is correct.
But WFT? I've never seen this behavior from gmail, it normally never groups messages, unless the subjects are basically equal.
I've changes the subjects to be "{{NAME}} is now {{STATUS}}!" and now it seams to work fine, so I guess because all the text was in brackets gmail thought it was related?

The same thing happened to me when receiving notifications in gmail and I was able to fix it by editing the subject and adding {{NAME}} is now {{STATUS}} as suggested by @theme1256


The tool doesn't update Stepper imports

I ran the tool before upgrading to beta11 and the tool didn't update the Stepper imports like
import { MdStepperModule } from'@angular/material';
import { MdVerticalStepper } from'@angular/material';

It updated
import { MdSidenav } from '@angular/material';

to
import { MatSidenav } from '@angular/material';

an everything else.
EDIT:  same goes for html tags, the Stepper tags weren't updated.

Fixed with v0.0.6


Fail to process numpy nptyping template types for NDArray[float32]: {TypeError}'type' object is not iterable

The library nptyping provides hints for numpy types : https://github.com/ramonhagenaars/nptyping
e.g :
my_array:NDArray[np.int32]
When processing Sphinx doc with these hints, the code fails.
The error occurs in sphinx_autodoc_typehints.py::format_annotation.
get_annotation_args() returns <class 'numpy.int32'> that is not iterable.
Note : the annotation class __NDArrayMeta does not provide the attribute args as expected as the default case in sphinx_autodoc_typehints::get_annotation_args

Per the ndtyping README, that NDArray[np.int32] is really sugar for NDArray[(typing.Any, ...), np.int32], which is converted internally to NDArray[(typing.Any, ...), Int[32]].

Per the ndtyping README, that NDArray[np.int32] is really sugar for NDArray[(typing.Any, ...), np.int32], which is converted internally to NDArray[(typing.Any, ...), Int[32]].

Closing as per above.


Added CustomPoolableManager to work with IPoolable objects in container

A very simple modified version of PoolableManager that allows a facade class to forward an initialization parameter to objects in the subcontainer that implement IPoolable<T>.
This enables a clean way for all subcomponents to access the param data sent to the facade OnSpawned:
public void OnSpawned(ParamData data, IMemroyPool pool)
{
   _pool = pool;
   _customPoolableManager.TriggerOnSpawned(data);
}

//subcomponent.cs
public void OnSpawned(ParamData data)

Rather than having to do something like
public void OnSpawned()
{
   _data = _facade.GetData();
}

in every subcomponent, which feels like a limitation of the current PoolableManager.

Makes sense, thanks.  I've merged this into extenject with commit 226c911b.  I also added documentation for it


websocket/mqtt - feasible?

do you see a way to make this code work over websockets so it's compatible with paho-mqtt js?
thanks in advance
Michael

Hi @mhaberler, I believe it is posible, let me get you the keys:

You  need to change ReaderMqttPacket::readMqttPacket ( WiFiClient client) Method
Consider client such as the buffer where are all data sent via tcp/ip socket, so:

void ReaderMqttPacket::readMqttPacket(WiFiClient client){
1ª  auxBuffer = First read all data from client, to extract  WebSocket packet from tcp/ip buffer,  mqtt packet is contained in WebSocket packet.
2ª mqttPacketBuffer = extract mqtt packet from auxBuffer.
3ª now replace calls to client.ReadBytes() and client.read() with mqttPacketBuffer, simulating these functions, according to the original readMqttPacket(WiFiClient client) method:

client.ReadBytes(buffer,n bytes), store first n bytes in buffer, so you need to read first n bytes from mqttPacketBuffer and store them in the respective buffer, for example, in fixedHeader.

client.read(), read the next 1 byte from buffer, so you need to read the next 1 byte of mqttPacketBuffer.

// original method to adapt:
// 1º reading fixed header.
//client.readBytes(fixedHeader,1);
// 2º reading and decoding remainingLengt of this mqtt packet from fixedHeader
remainingLengt = readRemainLengtSize(client);
// 3ª reading remaining lengt bytes packet.
remainingPacket = (uint8_t*) malloc(remainingLengt);
client.readBytes(remainingPacket,remainingLengt);
}
Notice that you need to change ReaderMqttPacket::readRemainLengtSize(WiFiClient client) method to, changing client for mqttPacketBuffer.
Lastly, change mqtt port from 1883 to 80 to listen webSockets connections, when you creating MqttBroker object.
I hope this helps!.

thanks
I will give it a stab and report here, would appreciate if you can look over my shoulder
any suggestions for the websockets part of the code? several libraries out there looking applicable
this should become be a subclass of MqttBroker, right?
-m

I've taken an intermediate step: put a websockets-to-tcp proxy in front of the broker:
https://github.com/mhaberler/EmbeddedMqttBroker-example/blob/websockets/src/example/main.cpp#L125
seems to work fine

I was looking you example, I don't know ProxyWebSocketsServer.h, but I assume that it is similar to other web sockets libraries:

EmbeddedMqttBorker use a map "std::map<int,MqttClient*> clients" to store the mqtt (tcp) clients, and it use his id in the vector to identify the client and link his subscribed topics with the tcp client in a tree strucutre, but webSocketServer store his own vector with the tcp connected clients, so std::map<int,MqttClient*> clients it is no longer necesary, but the id to use the TopicTree class it is necessary.
EmbeddedMqttBorker listen to new clients in NewClientListenerTask class, use it to use your web socket server
Use webSocketEvent() to get the id of the webSocket client to use it in TopicTree structure.
You need to change MqttClient class, this class use the tcp connection to listen and send mqtt messages, but now you need to use webSocektServer along webSocketClient id, to do the work of this class. Last TCPListenerTask it is no longer necessary because the listen to tcp sockets is handle by webSocketServer.

I will glad to know about your progress.


UHF-6542: Added generic hooks to skip/reset migrations

Codecov Report

Merging #118 (e0c6f0b) into main (a241d09) will increase coverage by 0.45%.
The diff coverage is 75.30%.

:exclamation: Current head e0c6f0b differs from pull request most recent head 21984dc. Consider uploading reports for the commit 21984dc to get more accurate results

@@             Coverage Diff              @@
##               main     #118      +/-   ##
============================================
+ Coverage     62.64%   63.09%   +0.45%
- Complexity      439      467      +28
============================================
  Files            64       65       +1
  Lines          1558     1634      +76
============================================
+ Hits            976     1031      +55
- Misses          582      603      +21

Impacted Files
Coverage Δ

src/Entity/Form/MenuLinkFormTrait.php
0.00% <0.00%> (ø)

src/Logger/JsonLog.php
100.00% <ø> (ø)

src/Plugin/Filter/LinkConverter.php
90.56% <ø> (ø)

src/Plugin/migrate/source/HttpSourcePluginBase.php
29.57% <0.00%> (ø)

src/EventSubscriber/MigrationSubscriber.php
87.50% <66.66%> (+0.26%)
:arrow_up:

src/Commands/MigrateHookCommands.php
77.14% <77.14%> (ø)

src/Environment/EnvironmentResolver.php
97.40% <83.33%> (-1.23%)
:arrow_down:

... and 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Outline in Explorer View is only shown when inside a folder context

This may be similar to #40 or somehow related to the update as I think it worked prior but am not sure.
The problem and how you can reproduce it are the same:

open the a *.md file directly with code and no Outline will be shown in the Explorer sidebar.
open the folder containing said file then click on the very same file x.md and the Outline will appear as it is expected to.

Nothing in the Console is output related to this.

You are right. That is because 21b0c38, adding a restriction resourceLangId == markdown.
I also test another extension "LaTeX Workshop" and find the same issue. So it looks like a upstream issue.

Issue created

Markdown outline preview and file manage function ,just i need, thank you.


Feed published successfully but shows error on client

Hello @MarshalX , Firstly I have to say you did a great job with this project. I am working on a custom feed using it.
Do you have any idea why I get an error on the app even though the feed was published and these endpoints work on my domain?
- /.well-known/did.json
- /xrpc/app.bsky.feed.describeFeedGenerator
- /xrpc/app.bsky.feed.getFeedSkeleton

Although a similar issue was raised here on the official bluesky repo - https://github.com/bluesky-social/feed-generator/issues/35 but I could really use a second eye.

Hi. Thank you ;)
Could you send your domain name and provide link to the published feed?

Thank you for the swift response.
Here are the links you requested

https://bsky.app/profile/did:plc:76il4ns5xbqbsqjwibjgcnsk/feed/epl-buzz
https://epl-feed.onrender.com/
https://epl-feed.onrender.com/.well-known/did.json
https://epl-feed.onrender.com/xrpc/app.bsky.feed.describeFeedGenerator
https://epl-feed.onrender.com/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:plc:76il4ns5xbqbsqjwibjgcnsk/app.bsky.feed.generator/epl-buzz

I provided all the possible links related to the feed. Please let me know if you need any other info.

Thank you for the swift response. Here are the links you requested
* https://bsky.app/profile/did:plc:76il4ns5xbqbsqjwibjgcnsk/feed/epl-buzz

* https://epl-feed.onrender.com/

* https://epl-feed.onrender.com/.well-known/did.json

* https://epl-feed.onrender.com/xrpc/app.bsky.feed.describeFeedGenerator

* https://epl-feed.onrender.com/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:plc:76il4ns5xbqbsqjwibjgcnsk/app.bsky.feed.generator/epl-buzz

I provided all the possible links related to the feed. Please let me know if you need any other info.

First of all your server boots too slow. Maybe you are using some free service that turns off your webserver. This could be a problem.
The second thing is could you tell me how did you publish your feed?

@chukaibejih it doesn't looks legit.

About the server, you are right. I am using a free tier because I wanted to get it working first before going for a paid plan but you could recommend a good one that's not so pricey

About publishing the feed, I basically followed the readme and made the changes in the algos and publisherfeed files. Set up the necessary env variables then ran the publisherfeed command.

Once the feed was published, I deployed the project and tested those three endpoints.

I checked the Bluesky app and saw the feed name on my profile which was the screenshot I shared with you.

But from your assessment on those links, are they returning the appropriate response and expected?

the endpoints are fine. but published feed is wrong imho

@chukaibejih it doesn't looks legit. fix it first

@chukaibejih look at the correct feed:

@chukaibejih it doesn't looks legit. fix it first

I assume you are referring to this yea  did=' did:web: Big-0le',
Big-Ole is my PC name. I wonder how it got there. I will look into it. Probably republish the feed


Phonegap

How do we use it insde an phonegap app? i was thinking if we make small node app which will only run sass-middleware that will generate index.css but it's not working. Do we have something like generate code each 1 second or do we have other way to do this?

Sorry, from the README:

Connect/Express middleware for node-sass.

Unless you're running one of those midtiers inside your application it won't work. node-sass also needs to be running no Node, not on a native javascript environment.


dashboard/config/linux: disable lockdep on arm

(see commit messages)

Is it possible to disable just lockdep with [-arm32] constraint? Will it work?
And please add a comment with some link as to why it's disabled.

PTAL.


COOPR-594 SSH host key storage and retrieval

This is the initial version of the SSH host key storage and retrieval for Coopr. Currently, the provider plugins are responsible for publishing these keys in the result of a confirm task. As such, the verification is a WARN when the data is missing for a host. All shipped plugins provide this data, but external user plugins may not.

LGTM other than the comment/question above

one more error check, then :+1:


[BUG] Some colors aren't printed in bold

I've checked docs and closed issues for possible solutions.
I can't find my issue in the FAQ.

Describe the bug
Some colors printed in bold have a clear visual difference, but for others it appears there is no change. I've included some examples of these in this code:
from rich.console import Console
from rich.style import Style

console = Console()

def print_colors(l: list[str], message: str) -> None:
    print(message)
    for c in l:
        console.print("not bold", style=Style(color=c, bold=False))
        console.print("bold", style=Style(color=c, bold=True))
        print('\n')

print_colors(['bright_red', 'grey100', 'grey39', 'bright_magenta', 'purple'],
             "For these colors, the bold parameter seems to make no visual difference:\n")
print_colors(['white', 'red', 'magenta'],
             "------------------------------\nFor these colors, the bold parameter does make a difference:\n")

The output on my end:

Platform
Windows 11
What platform (Win/Linux/Mac) are you running on? What terminal software are you using?
Windows PowerShell
I may ask you to copy and paste the output of the following commands. It may save some time if you do it now.
If you're using Rich in a terminal:
python -m rich.diagnose
pip freeze | grep rich

If you're using Rich in a Jupyter Notebook, run the following snippet in a cell
and paste the output in your bug report.
from rich.diagnose import report
report()

This isn't a Rich issue but rather just how your terminal emulator renders bold text.
If you're using Windows Terminal, I think there's a setting under Appearance you can change.

@TomJGooding Thanks, you're right - the setting is this. In case anyone else sees this, to update it I did the following:

In the terminal clicked the drop down icon, chose Settings, and then clicked "Open JSON file" in the bottom left corner.
In the file, navigate to the profiles/list key.
For the terminal profile you want to update, add the "intenseTextStyle": "bold" pair to its object. Now it will no longer default to "bright".


Touches seem broken on iOS

Tested on https://llk.github.io/scratch-vm/
Nothing is touchable except toolbox categories. Not sure when this happened, I thought for sure we just tested that iOS support was working fine - maybe that was on google/blockly, though...

I definitely tested iOS support--that was what held it up for a month.  I'll take a look.


Add sorting for the contracts list table

Description
Enable column sorting for contracts table (can be used in any other table)

sorting is added to the contract table in the current dashboard


Uncompressed trace files

Is it possible to put the uncompressed trace files on ftp.pdl.cmu.edu or other places? In this way i can use range http header to download part of the file and send to cache. For example the meta KV trace, I can use curl -v -r 0-5000 'https://cachelib-workload-sharing.s3-us-west-2.amazonaws.com/pub/kvcache/202206/kvcache_traces_1.csv' to get first 5000 bytes.

Because of the size of the traces, it is not possible to have all traces decompressed, but I have added (the most important) one here https://ftp.pdl.cmu.edu/pub/datasets/twemcacheWorkload/open_source/cluster52.sort


change free solv to FreeSolv

Description
Adapt the name "free solv" or "free_solv" to "FreeSolv".
Todos

[x] Update all code
[x] Update documentation

Status

[ ] Ready to go

Codecov Report

Merging #53 (f6ee5e2) into main (3dd5d70) will not change coverage.
The diff coverage is 100.00%.


Just use window.animationWorklet for polyfill

Use window.animationWorklet for the polyfill so it is just a drop-in replacement.
Also move all animation startup logic to run once the addModule resolves.

@flackr PTAL

Out of curiosity, why the ordering dependency? Does the real animation worklet not support lazily instantiating the animations after the script has loaded?
Technically it should be valid to instantiate the worklet animation prior to loading the animation worklet which animates it.

AnimationWorklet should support lazily instantiating an animation after script load. Our current impl does not :cry:. So this makes the code as friendly as possible to current native impl in Chrome. But also it is a good practice IMHO. When possible I think it is a good idea to create and run animation after worklet script is loaded.

Ping!

Okay, that's fine. I think that performance may be better if you don't wait, as you technically wouldn't need to round-trip through the main thread before your animation starts so heavy loading wouldn't have to delay animation start.

Who can merge this?
On Fri, Nov 17, 2017 at 3:16 PM Robert Flack<EMAIL_ADDRESS>wrote:

Okay, that's fine. I think that performance may be better if you don't
wait, as you technically wouldn't need to round-trip through the main
thread before your animation starts so heavy loading wouldn't have to delay
animation start.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleChromeLabs/houdini-samples/pull/25#issuecomment-345354584,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA5p_yOOWj0IHA8CmzWSjEYFdEVgUCe8ks5s3emKgaJpZM4QcYN2
.

Sorry I haven’t gotten around to this sooner :)


The search endpoint does not work in Firefox as expected

Problem
Firefox provides me a downlod of the search result when entering a search term in the box and try to search in the logfiles for it...
https://github.com/lukashinsch/spring-boot-actuator-logview/blob/master/lib/src/main/java/eu/hinsch/spring/boot/actuator/logview/LogViewEndpoint.java#L141
Reason:
Content-Type in response not set...
see https://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Response_fields
Please include this
response.setContentType(MediaType.TEXT_PLAIN_VALUE);
here
https://github.com/lukashinsch/spring-boot-actuator-logview/blob/master/lib/src/main/java/eu/hinsch/spring/boot/actuator/logview/LogViewEndpoint.java#L147
This should be enough for Firefox...
Hint: Chrome works, maybe the defaults are different.

This also happens for viewing a document...

I definitely makes sense to set the proper content type. Interestingly, it did work for me in FF on OSX just fine, so I can't test but will assume it will fix the issue for you.

Thanks for fixing it.  Can you please check the contenttype for viewing the document.  I think,  it make sense to set the content type as well.
Love your quick reactions...
Thanks,
Jens

Ugh, shouldn't have done it in such a hurry, forgot the other endpoint.
Will fix as soon as I get a chance.

Missing content type for search result fixed in 0.2.11 (about to be released)


Update device-management-azuread-joined-devices-frx.md

Added the requirement for WS-Trust and WS-Fed protocols

#sign-off


add temple-osrs v1.0

Fetch and display Player-gains, Clan-Achievements, Clan-Members + Sync, and Competitions using the TempleOSRS API

Thanks, committed that request!


fix [OpenVSX] service tests

Resolves #5892
The initial API for the service would always return a 200 status code in the event a package was not found, but the fields in the response would vary to reflect the error. The API has subsequently been updated to return 404s in these cases, so that allows for things to be simplified a bit in the service class.

Warnings

:warning:
This PR modified service code for open-vsx but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against 86729bc225f439f481b7972621119d2b11fe8c04


map block shows Unknown variable

When creating a map block in a Nginx configuration, the message pops up that the variable is unknown, although the Nginx syntax configuration is OK.

The issue is still present in 0.1.9.


rename coadd catalog -> object catalog

This PR updates four existing tutorial notebooks that use the object catalogs, to make the terminology consistent (i.e., renaming coadd catalog -> object catalog).
This PR fixes #32

@fjaviersanchez, thanks!


reducing-boilerplate-with-go-generate 작성

https://blog.gopheracademy.com/series/advent-2015/ 번역 작성하였습니다.

👍  Thx!!!


A error occurred when I run example.py

When I run the example.py with "python example.py", the following error occurred:
Traceback (most recent call last):
File "example.py", line 25, in
from env import ClevrEnv
File "/home/rll/xiaohouyuan/clevr_robot_env/env.py", line 40, in
import mujoco_env as mujoco_env  # custom mujoco_env
File "/home/rll/xiaohouyuan/clevr_robot_env/mujoco_env.py", line 24, in
from dm_control import mujoco
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/mujoco/init.py", line 18, in
from dm_control.mujoco.engine import action_spec
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/mujoco/engine.py", line 44, in
from dm_control import _render
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/_render/init.py", line 75, in
Renderer = import_func()
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/_render/init.py", line 36, in _import_egl
from dm_control._render.pyopengl.egl_renderer import EGLContext
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/_render/pyopengl/egl_renderer.py", line 66, in
EGL_DISPLAY = create_initialized_headless_egl_display()
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/_render/pyopengl/egl_renderer.py", line 49, in create_initialized_headless_egl_display
for device in EGL.eglQueryDevicesEXT():
File "/home/rll/anaconda3/envs/py36/lib/python3.6/site-packages/dm_control/_render/pyopengl/egl_ext.py", line 65, in eglQueryDevicesEXT
success = _eglQueryDevicesEXT(max_devices, devices, num_devices)
ctypes.ArgumentError: argument 2: <class 'TypeError'>: expected LP_c_void_p instance instead of EGLDeviceEXT_pointer_Array_10
Any instructions?

Hello @xiaohythu , where you able to resolve the error message?

Acctually， I solved this problem. You have to reinstall the dmcontrol

@xiaohythu How did you reinstall dmcontrol? With pip install dm-control? I am having the ArgumentError issue you mention above.


Stop storing asset data that isn't explicitly used

Currently, a slightly reduced version of the asset data is stored in the metadata field (with directly mapped field values removed), and there are a few methods and attributes involved in setting the value.
This field was originally added for a couple of reasons:

To help debug unexpected issues with variations in asset data
To help populate new custom field values from local data instead of having to reimport data from Bynder somehow (this will be made easier by #18)

The first is now better handled by explicit exceptions, where the full asset data should be available in the stack trace.
The second issue only really exists because there is no easy way to trigger a re-import of all items when making this sort of change, which should soon be resolved by #18!

Resolved by #19


Malware?

I tried to download the millenium.exe release at https://github.com/ShadowMonster99/millennium-steam-patcher/releases/tag/1.0.0 and my Windows Defender immediately flagged me it was a Trojan:

What's going on?

False positive

I think the following one is also a false positive?
It's "User32.dll" which gets extracted directly into the Steam directory.

My point is, even if it is a false positive (which I do not necessarily trust as this is not the typical Windows security warning for self-compiled applications)-- this is still really suspicious and should be fixed immediately. Considering it happens on download of both the installer exe and the dll files, I would not say for certain that it is just the dll files.
Plus it is highly unusual to separate binaries into a separate repository with no version control and the files are just submitted through a release with no code versioning. Meaning I have to download and decompress the zip code -- which I have no reason to trust is not infected too. I do not trust this situation enough to really examine it more closely as I do not have experience with safely handling malware.
I will also point out the contradictory licensing. This repository is MIT:
https://github.com/ShadowMonster99/millennium-steam-patcher/blob/main/LICENSE
But the binary repository is listed here:
https://github.com/ShadowMonster99/millennium-steam-binaries/compare/1.0.0...main
by installing millennium here, you agree to the terms and service here:
https://github.com/ShadowMonster99/millennium-steam-patcher/blob/main/.terms-of-service
And those terms of service say, among other things:
You agree not to modify, alter, decompile, reverse engineer, disassemble, or create derivative works of the program or any part thereof.
I could not find any explanation of this decision on the Discord.
So there are several red flags going on here.

Yeah too fishy, no download

Hey sorry for the late response. compile it yourself its not malicious, I have no control over that as far as that's concerned, the properties of a "patcher" are malicious even if they may not be. as for the TOS, that's there to stop people from changing an official release of millennium and distributing malware under my name. I see what you mean with the repo mess, correct its weird, it was just something I put together to let my installer work for the time, if you have any suggestions I'm open to them. (I did that so you don't need to reinstall the installer on every update and it will pull from a different repo, however I'm decently new to the works of GitHub and don't know everything about it so I'm definitely open to suggestions lol)
Thanks for the feedback ill work to fix these problems, however is being detected as a false positive is a problem of its own and I cant perfectly fix that. as of the latest release I believe its score on virus total is relatively good. sorry for the late, however thanks for bringing this stuff to my attention. I was not aware of the installer being detected as something you mentioned? but ill take extra measures to assure the user safety, thanks for considering Millennium.


Final Demo Presentation

Title: Preparation for Final Demo Presentation
Description:
This ticket outlines the tasks and deliverables required to prepare for the final demo presentation of our Final Year Project (FYP), Rethink-Android Firewall Customization. The goal is to ensure a polished, professional, and comprehensive demonstration of the project, showcasing its features, achievements, and impact.

Best of Luck my team 👍