[BUG]A Use After Free Bug in ssl/ssl_lib.c

File:  ssl/ssl_lib.c
Bug Function:  void SSL_free
Version: Git-master(2023-02-11)
Description: According to the structure definition, a structure SSL is included in the structure SSL_CONNECTION.
In the function SSL *ossl_ssl_connection_new_int(...) we define two Pointers  SSL CONNECTION *s and SSL *ssl.
At line 735,ssl = &s->ssl makes  ssl point to s->ssl.
At line 737, s was freed. But the pointer variable ssl still points to a block of space address of s.
In function SSL_free(SSL *s), line 1327, CRYPTO_DOWN_REF(&s->references, &i, s->lock) visited the elements of s.
Similar to ssl on line 735, if this variable s points to a structure SSL which was insided in a sturct SSL_CONNECTION, this will cause a use after free bug when function SSL *ossl_ssl_connection_new_int(...) was run before function SSL_free(SSL *s).
Code Description:
SSL *ossl_ssl_connection_new_int(……)
{
728:    SSL_CONNECTION *s;
729:    SSL *ssl;
    ……
735:    ssl = &s->ssl;     //ssl points to s->ssl.
    if (!ossl_ssl_init(ssl, ctx, method, SSL_TYPE_SSL_CONNECTION)) {
737:        OPENSSL_free(s);    //s was freed here!
        s = NULL;
        goto sslerr;
    }
    ……
 err:
    SSL_free(ssl);    //Attention: although s was freed, ssl still be visited here.
    return NULL;
}

……

void SSL_free(SSL *s)
{
    int i;

    if (s == NULL)
        return;
1327：    CRYPTO_DOWN_REF(&s->references, &i, s->lock);    //This may cause a use after free bug!
    ……
}

Hey,
I will work on the fix.

Fixed by #20300


Avoiding copy to clipboard in Android

Hi, nice to meet you.
This is my first write on GitHub,  if i fault, please let me know it gently.
This pull request is related with issue197.
https://github.com/phonegap/phonegap-plugin-barcodescanner/issues/197
When I run this plugin on Android 4.4, the text scanned is copied to clipboard.
I think this plugin should not do this. Because I don't think barcode scanner automatically copy text after scanning immidiately.
I fix this to not copy text and I'm happy If it will be merged.
https://github.com/nao0515ki/phonegap-plugin-barcodescanner
Best regards.
Naoki

@nao0515ki This PR won't merge anymore as we've moved to a library project. Please take a look at the updated code and re-submit.
Also, it would be better to make this an option instead of completely commenting out the copy to clipboard code.

@macdonst

Also, it would be better to make this an option instead of completely commenting out the copy to clipboard code.

Thank you for your advice.


Correcting duplicate metric name

What does this PR do?
Correcting duplicate metric name: postgresql.index_scans
This metric name have been set for both REL_METRICS and IDX_METRICS.
So, I'd suggest renaming postgresql.index_rel_scans metric for REL_METRICS.
More explanation about the issue retrieved by the customer:
I prepared a dashboard showing the issue with duplicate index metric names: [see card]
The first graph, “by index, table”, shows postgresql.index_scans values by index and table, the second one by table. There is a value with “index: N/A” on the first graph which is actually a sum of all index scans of each table. I’d like to remove “index: N/A” from the graph. And I can’t say what does show the second graph: average value of sum of index scans per table and of each of index or something else. I’d like to get postgresql.index_scans by table only (from REL_METRICS, not with “index” tag from IDX_METRICS).
Motivation
Correcting duplicate metric name: postgresql.index_scans
A new name should be defined to prevent confusion and incorrect data in graph.

Changes LGTM, let's figure out what would be the impact on existing monitors set on this metric before merging.

@Marcquero I don't think we can just rename the metric if we want to keep backward compatibility.
I've added a commit that re-introduces the old metric along with the new one you added, fixed the tests accordingly and also updated the metadata.csv to reflect the changes.
Can you have a look and confirm this makes sense from the customer perspective?


Style fomantic grey labels

Fomantic grey labels in the dashboard repo lists were showing original fomantic colors, fixed that. Left before, right after.
The light theme label's background does not contrast so well with the page background. Not sure yet but we could use a "inverted" style to distinguish them from regular labels.

I like left because it has higher contrast. It's obvious for the labels.

Putting draft to verify further, maybe I will make it inverted style, like previous light theme style.

Ready again, I adjusted the light theme label color to a bit darker so they contrast better from background.


UI overflow of warehouse subscriptions

Description

Version
v0.5.0

@rbreeze can we do this similar to Freight where we can hover to see additional/expanded context.


Make the code PEP 8 compliant

PEP 8 is the accepted coding style for Python. This project has to be reworked to make it PEP 8 compliant.

Thanks I will look into this. But unfortunaly my time is limited and this is not the highest priority right now. I could really need some help with this since I am not familiar with all the PEP8 coding conventions but would really like to get this project up to the latest code conventions.

I'll do it if that's ok with you, I've been looking for an easy issue to tackle for my first steps in open source contributing :)

@Rabidax you sure earned a place on the contributors list! Thank you so much for your effort.
If you want your Desktop to be supported please open another Issue and I am sure we can make this happen. Again thank you for your help.

You probably need to edit the wiki to reflect those changes. I saw Contributing.md uses CamelCase.

Oh, so cool! Thanks @Rabidax!

@Rabidax thanks I just fixed the Wiki, again thank you for your help. Stuff like this is really bringing the project forward!


Update cilium status command module health output

Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Are you a user of Cilium? Please add yourself to the Users doc
[x] Thanks for contributing!

To date, we render modules health information as tabular data. As modules health instrumentation grows this rendering makes it hard for users to grok the output. This PR proposes changing the rendering of modular health using a tree like structure to give users a better line of sight to gain an understanding of the agent modules health state.
Fixes: #issue-number
Changed cilium status CLI output to render the modules health section as a tree structure vs tabular data.

Signed-off-by: Fernand Galiana<EMAIL_ADDRESS>

@derailed Could you update the release note in the PR description?

/test

/test

/test


install command doesn't work

What should the command to install be?
`
(pansatz) [amawi@sylg nn_ansatz]$ pip install --upgrade pip
Requirement already satisfied: pip in /home/energy/amawi/miniconda3/envs/pansatz/lib/python3.7/site-packages (21.3)
(pansatz) [amawi@sylg nn_ansatz]$ pip install jax[cuda==11, cudnn==82] -f https://storage.googleapis.com/jax-releases/jax_releases.html
ERROR: Invalid requirement: 'jax[cuda==11,'
(pansatz) [amawi@sylg nn_ansatz]$ pip install jax[cuda=11, cudnn=82] -f https://storage.googleapis.com/jax-releases/jax_releases.html
ERROR: Invalid requirement: 'jax[cuda=11,'
Hint: = is not a valid operator. Did you mean == ?
(pansatz) [amawi@sylg nn_ansatz]$ pip install "jax[cuda=11, cudnn=82]" -f https://storage.googleapis.com/jax-releases/jax_releases.html
ERROR: unknown command "install jax[cuda=11, cudnn=82]"
`

https://pypi.org/project/jax/0.2.24/ is live which fixes the error.

We don't have py3.10 builds yet.

I have CUDA 11.3 and cuDNN 8.2.

Try, pip install -U jax[cuda] -f https://storage.googleapis.com/jax-releases/jax_releases.html.
The new instructions are here: https://github.com/google/jax/blob/main/README.md#pip-installation-gpu-cuda

Thanks!
This gets jaxlib -- strangely I still get an import error, this time with ModuleNotFoundError: No module named 'scipy.linalg' -- scipy is installed.

import jax gets this stacktrace
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../anaconda3/envs/aaa/lib/python3.9/site-packages/jax/__init__.py", line 37, in <module>
    from . import config as _config_module
  File ".../anaconda3/envs/aaa/lib/python3.9/site-packages/jax/config.py", line 18, in <module>
    from jax._src.config import config
  File ".../anaconda3/envs/aaa/lib/python3.9/site-packages/jax/_src/config.py", line 27, in <module>
    from jax._src import lib
  File ".../anaconda3/envs/aaa/lib/python3.9/site-packages/jax/_src/lib/__init__.py", line 75, in <module>
    from jaxlib import lapack
  File ".../anaconda3/envs/aaa/lib/python3.9/site-packages/jaxlib/lapack.py", line 21, in <module>
    from . import _lapack
ImportError: ModuleNotFoundError: No module named 'scipy.linalg'
>>>

Interesting.. i don't see that.
I just tried this in colab: !pip install --upgrade jax[cuda11_cudnn805] -f https://storage.googleapis.com/jax-releases/jax_releases.html with a GPU runtime.
Then import jax; jax.devices()
Can you check on colab and see if you hit the error?

Probably -- doing conda update conda and then re-doing everything from scratch: new environment, first pip install -U jax, then pip install -U jax[cuda] -f https://storage.googleapis.com/jax-releases/jax_releases.html worked.
Thanks!


Split BETY and geostreams outputs from trait extractors (canopycover)

https://github.com/terraref/computing-pipeline/pull/445 - new extractors
https://github.com/terraref/extractors-stereo-rgb/pull/33 - trimmed cc extractor

remove uploader code from canopycover extractor - generate CSV and geostreams files
move the uploader code for BETYdb to a separate extractor that takes a CSV generated by a trait extractor and uploads w/ better metadata logging
same for geostreams, including (ideally) support for partially complete uploads
purge bety and geostreams for S6 and resubmit
rerun cc for season 6

Before Nebula issues, the canopycover extractor successfully generated two CSV files for Bety and Geostreams respectively. The bety extractor ran successfully, but the geostreams extractor did not have a chance to run/test yet before we scaled things down.
in the meantime I made a corresponding PR for meantemp with similar changes:
https://github.com/terraref/extractors-multispectral/pull/27

both extractors running and look good. created followup issue to track some of the requests discussed in this PR.
https://github.com/terraref/computing-pipeline/issues/481


[stable/sonatype-nexus] Fix default in sonatype nexus readme

Update the configuration in README to reflect the defaults set in values.yaml.
According to the README I was not expecting this chart to create a LoadBalancer on deploy.
While I was at it, I also looked through the other configuration params in the README and fixed them to match values.yaml.

/lgtm


Need some indication of taskruns never leaving pending state before timeouts

Expected Behavior
A TaskRun never leaving Pending state, with its underlying pod started, should have this fact made clear in log storage
Actual Behavior
No such information occurs
Steps to Reproduce the Problem

Define ResourceQuotas such that Pods cannot be started in a namespace
Start a TaskRun with a timeout
Analyze Results after that TaskRun times out

Additional Info
With https://github.com/tektoncd/results/pull/699 we fixed the situation in general where if a timeout/cancel occurred, we would still go on to fetch/store the underlying pod logs.
However, in systems with quotas or severe node pressure at the k8s level, TaskRuns can stay stuck in Pending and any created Pods will never get started.
If you see the comments at https://github.com/tektoncd/results/blob/c34e40d11f244d35f9de5721dcd9f5efb68f6212/pkg/watcher/reconciler/dynamic/dynamic.go#L512 you'll see the prior observations of tkn making the distinction of errors difficult, and thus, errors with tkn getting logs are ignored.
That is proving unusable for users how may not have access to view events, pods, or etcd entities in general before the attempt to store logs occurs and then the pipelinerun/taskrun are potentially pruned form etcd.
before exiting the streamLogs code needs to confirm if any underlying pods for TaskRuns exist, and if not, store any helpful debug info in what is set to the GRPC UpdateLog call and/or direct S3 storage.  In particular

the TaskRun yaml
a listing of Pods in the namespace in questions
a list of events for the TaskRun ... i.e. the eventList retrieved at https://github.com/tektoncd/results/blob/c34e40d11f244d35f9de5721dcd9f5efb68f6212/pkg/watcher/reconciler/dynamic/dynamic.go#L673

I'll also attach a PR/TR which was timedout/cancelled where the taskrun never left Pending state.
You'll see from the annotations that they go from pending straight to a terminal state, meaning a pod never got associated.
pr-tr.zip
@khrm @sayan-biswas @avinal @enarha FYI / PTAL / WDYT

revitalizing https://github.com/tektoncd/results/pull/715 would bypass the tkn client issues noted at https://github.com/tektoncd/results/blob/c34e40d11f244d35f9de5721dcd9f5efb68f6212/pkg/watcher/reconciler/dynamic/dynamic.go#L512 and allow us to indicate in the stored logs there were no pods to dump.


Istio-Operator does not remove istio-ingressgateway deployments/pods

We are using Istio-Operator in the version 1.9.0 and experience the issue that when kind istio-operator is deleted, the associated pods/services/deployments (istio-ingressgateway) etc. are not deleted and remain in the cluster. This leads to the problem that when we re-deploy the kind istio-operator we get new resources and the cluster is being trashed with old deployments and pods that are no longer used. We always have to manually delete them.
[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
I expect that old resources such as deployments or pods are deleted by the Istio-Operator once we delete the associated kind istio-operator
Steps to reproduce the bug
Version
helm version : 3.4.0
istioctl version: 1.9.0
kubectl version: 1.19.3
How was Istio installed?
Istio-Operator was installed by helm
values.yaml of Istio-Operator deployment:
hub: reg-dhc.app.corpintra.net/i3-mirror/docker.io_istio_operator
tag: 1.9.0

# ImagePullSecrets for operator ServiceAccount, list of secrets in the same namespace
# used to pull operator image. Must be set for any cluster configured with private docker registry.
imagePullSecrets: []

operatorNamespace: istio-operator

# Used to replace istioNamespace to support operator watch multiple namespaces.
watchedNamespaces: istio-system
waitForResourcesTimeout: 300s

# Used for helm2 to add the CRDs to templates.
enableCRDTemplates: false

# revision for the operator resources
revision: ""

# Operator resource defaults
operator:
  resources:
    limits:
      cpu: 200m
      memory: 256Mi
    requests:
      cpu: 50m
      memory: 128Mi

kind: istio-operator was installed by istioctl dump profile default > default.yaml and then kubectl apply -f default.yaml
Log Output of Istio-Operator when deleting kind istio-operator
2021-03-05T10:10:46.510564Z     info    klog    extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
2021-03-05T10:11:10.535048Z     info    installer       Reconciling IstioOperator
2021-03-05T10:11:10.537685Z     info    installer       Deleting IstioOperator emea-int-mg0003
2021-03-05T10:11:10.630525Z     info    installer       API server conflict during finalizer removal, retrying.
2021-03-05T10:11:10.685405Z     info    installer       Reconciling IstioOperator
2021-03-05T10:11:10.687336Z     info    installer       Deleting IstioOperator emea-int-mg0003
2021-03-05T10:11:10.700261Z     info    installer       Reconciling IstioOperator
2021-03-05T10:11:10.705387Z     info    installer       Reconciling IstioOperator
2021-03-05T10:12:17.866652Z     info    klog    admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
2021-03-05T10:14:06.359607Z     info    installer       Reconciling IstioOperator
2021-03-05T10:14:06.361646Z     info    installer       Deleting IstioOperator emea-test-mg0001
2021-03-05T10:14:06.468724Z     info    installer       API server conflict during finalizer removal, retrying.
2021-03-05T10:14:06.517141Z     info    installer       Reconciling IstioOperator
2021-03-05T10:14:06.518781Z     info    installer       Deleting IstioOperator emea-test-mg0001
2021-03-05T10:14:06.534847Z     info    installer       Reconciling IstioOperator
2021-03-05T10:14:06.539939Z     info    installer       Reconciling IstioOperator
2021-03-05T10:14:13.796517Z     info    klog    admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration
2021-03-05T10:14:39.459955Z     info    klog    apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
2021-03-05T10:16:15.514765Z     info    klog    extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
2021-03-05T10:17:21.353075Z     info    klog    rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
2021-03-05T10:17:50.584887Z     info    klog    rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
2021-03-05T10:20:06.596803Z     info    installer       Watching a change for istio resource: istio-system/emea-int-mg0003
2021-03-05T10:20:06.596889Z     info    installer       Reconciling IstioOperator
2021-03-05T10:20:06.640992Z     info    installer       Watching a change for istio resource: istio-system/emea-test-mg0001
2021-03-05T10:20:06.641056Z     info    installer       Reconciling IstioOperator
2021-03-05T10:20:40.871340Z     info    klog    admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration
2021-03-05T10:22:25.463242Z     info    klog    apiextensions.k8s.io/v1beta1 CustomResourceDefinition is deprecated in v1.16+, unavailable in v1.22+; use apiextensions.k8s.io/v1 CustomResourceDefinition
2021-03-05T10:23:21.800690Z     info    klog    admissionregistration.k8s.io/v1beta1 ValidatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 ValidatingWebhookConfiguration
2021-03-05T10:25:13.520851Z     info    klog    extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
2021-03-05T10:25:20.589127Z     info    klog    rbac.authorization.k8s.io/v1beta1 RoleBinding is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 RoleBinding
2021-03-05T10:25:36.357792Z     info    klog    rbac.authorization.k8s.io/v1beta1 Role is deprecated in v1.17+, unavailable in v1.22+; use rbac.authorization.k8s.io/v1 Role
2021-03-05T10:26:52.875477Z     info    klog    admissionregistration.k8s.io/v1beta1 MutatingWebhookConfiguration is deprecated in v1.16+, unavailable in v1.22+; use admissionregistration.k8s.io/v1 MutatingWebhookConfiguration

Was the istio-operator CR actually deleted from cluster when you found the associated pods/services/deployments (istio-ingressgateway) remain in the cluster?

Was the istio-operator CR actually deleted from cluster when you found the associated pods/services/deployments (istio-ingressgateway) remain in the cluster?

Hello, thank you for the reply. Yes, the istio-operator CR was removed from the Cluster, even the istiod control-plane reconciled afterwards however, the resources pods/services/deployments etc. remained. I've waited for a few minutes but the Istio-Operator Deployment never removes them. Could it be that the revision might cause a problem here? The Istio-operator is deployed with no revision as you can see in the values.yaml above but the istio-operator CR is deployed with revision 1-9-0. Then again, the istiod control-plane did reconcile so I guess that's not the issue here.

If you specified revision in IOP spec, but empty revision in operator deployment, then the operator will skip reconcile the IOP, you should see such log in operator logs:
Ignoring IstioOperator CR xxx with revision xxx, since operator revision is yyyy.

We added this check for canary upgrade, you can always deploy multiple operators in the same cluster with different revisions.

I am seeing this issue occur as well. During deletion reconciliation, if iop.Spec.Revision is set and the operator has a REVISION environment variable set, the operator will try to prune resources in namespace defined by iop.Spec.Namespace https://github.com/istio/istio/blob/9686754643d0939c1f4dd0ee20443c51183f3589/operator/pkg/helmreconciler/reconciler.go#L224
The operator will not progress in reconciliation to clean up resources if there are still proxies connected to the mesh, checked on line https://github.com/istio/istio/blob/1.7.3/operator/pkg/helmreconciler/prune.go#L112. This will also pick up the istio gateway pods that were provisioned by the istio operator. The list of proxies are generated by https://github.com/istio/istio/blob/9686754643d0939c1f4dd0ee20443c51183f3589/pkg/proxy/proxyinfo.go#L34. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.
Example list of proxies returned by the GetProxyInfo method:
"status":{"message":"there are proxies still pointing to the pruned control plane: istio-ingressgateway-public-5mbhw.istio-blue istio-ingressgateway-public-5596w.istio-blue istio-ingressgateway-private-d7c7x.istio-blue istio-ingressgateway-private-bjphr.istio-blue istio-ingressgateway-public-ltj2c.istio-blue istio-ingressgateway-private-br6nl.istio-blue.","status":"ACTION_REQUIRED"}}

A possible solution seems to be to exclude the gateways from the list of generated PID's so that only data plane proxies are part of the list.

I am seeing this issue occur as well. During deletion reconciliation, if iop.Spec.Revision is set and the operator has a REVISION environment variable set, the operator will try to prune resources in namespace defined by iop.Spec.Namespace
https://github.com/istio/istio/blob/9686754643d0939c1f4dd0ee20443c51183f3589/operator/pkg/helmreconciler/reconciler.go#L224
The operator will not progress in reconciliation to clean up resources if there are still proxies connected to the mesh, checked on line https://github.com/istio/istio/blob/1.7.3/operator/pkg/helmreconciler/prune.go#L112. This will also pick up the istio gateway pods that were provisioned by the istio operator. The list of proxies are generated by
https://github.com/istio/istio/blob/9686754643d0939c1f4dd0ee20443c51183f3589/pkg/proxy/proxyinfo.go#L34
. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.
Example list of proxies returned by the GetProxyInfo method:
"status":{"message":"there are proxies still pointing to the pruned control plane: istio-ingressgateway-public-5mbhw.istio-blue istio-ingressgateway-public-5596w.istio-blue istio-ingressgateway-private-d7c7x.istio-blue istio-ingressgateway-private-bjphr.istio-blue istio-ingressgateway-public-ltj2c.istio-blue istio-ingressgateway-private-br6nl.istio-blue.","status":"ACTION_REQUIRED"}}

A possible solution seems to be to exclude the gateways from the list of generated PID's so that only data plane proxies are part of the list.

Hello, what exactly do you mean by "delete the gateways first before the operator can clean up all of the resources" ? Do you mean the CR gateway or are we talking about the iop ?

. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.

Hello, what exactly do you mean by "delete the gateways first before the operator can clean up all of the resources" ? Do you mean the CR gateway or are we talking about the iop ?

Hi @yalctay93 , I mean that as currently defined, you have to remove the gateway from the iop definition so that the gateway pods are removed. At this point, the operator will no longer report proxies and be able to tear down the rest of the resources provisioned by the operator when the iop resource is deleted.

. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.

Hello, what exactly do you mean by "delete the gateways first before the operator can clean up all of the resources" ? Do you mean the CR gateway or are we talking about the iop ?

Hi @yalctay93 , I mean that as currently defined, you have to remove the gateway from the iop definition so that the gateway pods are removed. At this point, the operator will no longer report proxies and be able to tear down the rest of the resources provisioned by the operator when the iop resource is deleted.

Excuse me, if I have to ask again - but this means that I have to manually first delete the ingressgateway pods (deployment) before I delete the iop correct? That would lead to a clean deletion of all remaining resources?
Is this really the expected behaviour? It seems a bit weird to me.

. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.

Hello, what exactly do you mean by "delete the gateways first before the operator can clean up all of the resources" ? Do you mean the CR gateway or are we talking about the iop ?

Hi @yalctay93 , I mean that as currently defined, you have to remove the gateway from the iop definition so that the gateway pods are removed. At this point, the operator will no longer report proxies and be able to tear down the rest of the resources provisioned by the operator when the iop resource is deleted.

Excuse me, if I have to ask again - but this means that I have to manually first delete the ingressgateway pods (deployment) before I delete the iop correct? That would lead to a clean deletion of all remaining resources? Or what exactly do you mean by "remove the gateway from the iop definition"
Is this really the expected behaviour? It seems a bit weird to me.

That is correct @yalctay93 , that is the behavior I experienced trying to uninstall the operator on istio 1.7. The ingress gateway deployment to be deleted first for the operator to clean all of the remaining resources. I agree that this behavior is weird and that we should not need one more additional step to tear down the control plane. Once the  iop is deleted, I would expect that all resources provisioned by it are removed.

. In this current setup, it would seem that you would have to delete the gateways first before the operator can clean up all of the resources created.

Hello, what exactly do you mean by "delete the gateways first before the operator can clean up all of the resources" ? Do you mean the CR gateway or are we talking about the iop ?

Hi @yalctay93 , I mean that as currently defined, you have to remove the gateway from the iop definition so that the gateway pods are removed. At this point, the operator will no longer report proxies and be able to tear down the rest of the resources provisioned by the operator when the iop resource is deleted.

Excuse me, if I have to ask again - but this means that I have to manually first delete the ingressgateway pods (deployment) before I delete the iop correct? That would lead to a clean deletion of all remaining resources? Or what exactly do you mean by "remove the gateway from the iop definition"
Is this really the expected behaviour? It seems a bit weird to me.

That is correct @yalctay93 , that is the behavior I experienced trying to uninstall the operator on istio 1.7. The ingress gateway deployment to be deleted first for the operator to clean all of the remaining resources. I agree that this behavior is weird and that we should not need one more additional step to tear down the control plane. Once the iop is deleted, I would expect that all resources provisioned by it are removed.

Interesting, for me when I first delete the ingressgateway deployment, it is automatically redeployed. So I cannot delete them before deleting the iop .

Correct, sorry for not being clear. In order for to remove the gateway currently, you need to remove it from the iop spec, then you can delete the iop resource.

Alright, thank you. As this is a rather unconventional way of removing resources from a k8s cluster it is not very satisfying to me.
I'd expect that when I remove a CR such as the iop that the istio-operator goes ahead and removes all of its associated resources automatically. Atleast that's how I usually develop my k8s operators. The cleanup of resources, which were created directly because of that CR iop should be removed along with it. Is there any good reason why the istio-operator behaves like this, in this particular scenario? I might be overlooking something.

@yalctay93 @bnutt the deletion behavior with gateways changed (hopefully for the better) post 1.7. With 1.7 and earlier, there were problems with identifying gateway ownership, because gateways were shared between revisions and upgraded in place. This meant that gateways were never pruned, because they may still belong to an existing revision.
That has since changed, and gateway ownership resolves correctly with multiple revisions in the cluster.
Using 1.10 for example, you can try the following:
istio-1.10/bin/istioctl operator init -f ~/temp/iop.yaml --hub=gcr.io/istio-testing --tag=latest

where iop.yaml is something simple like
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  name: test
  namespace: istio-system
spec:

This installs istiod and istio-ingressgateway (default profile). Now, if you delete the test IstioOperator CR, both istiod and the gateway will be removed.
For more information on how this all works with revisions (including gateways), see https://istio.io/latest/docs/setup/upgrade/gateways/.

Closing for now, please reopen if you feel this needs more investigation.


[Dev Space Connect] VS Code error "True"

Hello,
We are using Dev Space Connect feature as part of our standard development process, we upgraded recently to the latest version of the CLI and VS code extension. We see sometimes the following error When we try to use the "connect" functions (Azure Dev Spaces: Redirect an existing service to my local machine, Azure Dev Spaces: Redirect an existing/new pod to my local machine). The VS code extension then fails with the error "true" as shown below.
.
I was not able to get any representative logs by using the recommended troubleshoot mechanism, but i nevertheless post here below one of the two log file generated by azds (can't upload the other one as it is empty, name was azds-sdk-2019-12-17-16-19-52-25144):
azds-cli-2019-12-17-16-19-51-25144.txt
I was unable to get logs from the VS code extension.
We were able to reproduce the issue across development machines from two different companies. It seems the issue arise when we want to use the debugging option from our project folder. It is pretty large and contains some different micro services in the file structure, it also contains some azds.yaml files deeper in the hierarchy. We are currently able to circumvent the issue by creating a new folder, launch vs code from there, and then initiate the debug session remotely. Having the two instance of vs code side by side seems to have exactly same behavior (the one opened from the project doesn't work, the one from the empty folder does).
We are using Azure Dev Spaces CLI 1.0.20191204.4, API v3.2. Azure Dev Spaces extension VS code extension is 2.0.220191204.
Please let me know if I can provide any additional information to help you troubleshoot the issue
Thank you for your Help!
Mikhail

Hi Mikhail,
Thank you for reporting this issue. This error message is quite unexpected!
Could you please clarify a few things so that I'm sure I get it right?

You mentioned that you recently upgraded your CLI and VS Code extension. Was the issue also reproducing before you upgrade?
When the issue reproduces, does it reproduce consistently? Does closing and reopening VS Code help, or do you always have to create the new folder you were mentioning?
When you see this error message ("true"), is it immediately when you trigger the connect command ("Azure Dev Spaces: Redirect ..."), or after you select your service, your port, etc.?

In parallel, I'm having a look at the code to understand how it could have happened, and how to fix it.
I'll let you know as soon as I have results to share.
Thanks!

Also, could you please attach the VS Code extension logs?
Here is how to get them:

Go to %AppData%\Code\logs\
Open the folder with the most recent modified date. Its name should be similar to "20191216T085726".
Open the folder with a name starting with "exthost" and with the most recent modified date. Warning, the folder with the most recent modified date might not be the one having the highest number (for example, "exthost1" might be more recent than "exthost7").
Open the "azuredevspaces.azds" folder. This is where you'll find the logs logged by the VS Code extension for the latest session.

Hello Daniv,
Thanks for the prompt reply.
No the issues did not occur before, however we used the private preview version before this. azds-0.1.2 installed with the extension file.
The issue stay consistent, restarting VS code or even the computer doesn't seem to fix it (i will try to start from this folder from another computer)
I get the true message imedately after triggering the connect command. I don't get to the options part.
Here is the logs of a session as requested above
azds-vscode-2019-12-17T16-41-23.594Z.txt

Thanks for your reply and for sharing the extension logs!
I understand what causes the issue, but I don't unterstand why this doesn't reproduce consistently.
The cause of the failure is that, as part of the connect commands, we execute in the background some kubectl commands. Because the kubectl binary is not embedded with the VS Code extension, we look for it in multiple places where it is usually installed.
This call is done using fs.exists, that was recently made asynchronous using util.promisify like the rest of our fs calls.
This is an error on our side, because fs.exists is deprecated and doesn't work the same way as newer fs methods.
When we check for the existence of the kubectl file, fs.exists calls its callback with a boolean as first argument whereas util.promisify expects an error as first argument, thus resulting in an exception thrown as "true". This explains the message you see.
What is tricky though is that if the argument is false (kubectl binary not found), then because the implementation of util.promisify doesn't check explicitly for null/undefined, this false value is not considered as an error and the function returns successfully with value undefined.
Then, our code interprets this undefined as false, which actually corresponds to the expected result given that we didn't find the kubectl binary... This behavior might explain why this issue doesn't reproduce all the time: as long as we can't find the kubectl binary, the issue won't show and we'll default to the kubectl binary declared in the PATH.
This is definitely a bug on our side, and we're working on a fix.
However, what I don't understand is why this sometimes work. I would expect this to throw every time we find the kubectl binary, so almost in every case. I also don't understand why creating a new folder would help with this issue.

Do you have the Azure Dev Spaces CLI installed on the machine where you reproduce this issue (you can try to run azds --version in a command prompt)?
Are the other users of connect commands in your company having the Azure Dev Spaces CLI installed?
Do you use Windows or MacOS on the machine where you reproduce this issue? This bug shouldn't reproduce on Linux.
I'm wondering if this could be due to the Node.js version used by VS Code. Could you please open VS Code, open Help > About and attach a capture of the menu showing the versions installed locally?

Thanks!

This is indeed an interesting issue. I tried again the morning, and could reproduce the issue exactly as described above.
As requested:
Here is the result of azds --version. If i remember correctly I updated it in the last days
Azure Dev Spaces CLI
1.0.20191204.4
API v3.2
I use Windows, I Can ask a colleague on MacOS to reproduce. I will reboot and check on Linux and report back here.
Here is the visual studio code version report:
Version: 1.41.0 (user setup)
Commit: 9579eda04fdb3a9bba2750f15193e5fafe16b959
Date: 2019-12-11T18:37:42.077Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Windows_NT x64 10.0.18363
In addition here is the kubectl version, I see i am not on latest, could that be an issue?
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:11:03Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.5", GitCommit:"2640ac46d96791a135961425127d9c2f7e184924", GitTreeState:"clean", BuildDate:"2019-11-14T04:58:54Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

I tried on Linux and the problem did not occur as you expected.
Here is the report of my colleague were we could reproduce the error (note that we are bound to two different AKS clusters)
    $ azds --version
Azure Dev Spaces CLI
1.0.20191212.6
API v3.2

Version: 1.41.0 (user setup)
Commit: 9579eda04fdb3a9bba2750f15193e5fafe16b959
Date: 2019-12-11T18:37:42.077Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Windows_NT x64 10.0.18362

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.3", GitCommit:"2d3c76f9091b6bec110a5e63777c332469e0cba2", GitTreeState:"clean", BuildDate:"2019-08-19T11:13:54Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.9", GitCommit:"3e4f6a92de5f259ef313ad876bb008897f6a98f0", GitTreeState:"clean", BuildDate:"2019-08-05T09:14:29Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

Hello,
We did some more testing, on OS X we were able to start the commands form the folder without issues.
Additionally, we tried on another colleague and we were able to successfully launch the command (Windows 10)

Thank you for testing all these!
I believe this issue is independent from the actual kubectl binary installed, as this bug happens in our code before we even run kubectl commands.
Also, at this point the kubeconfig shouldn't be used yet, so I expect the issue isn't due to this environment variable being set.
My initial expectation was that there would be discrepancies between the Node.js versions used in your team, and that some of them would include a fix to make util.promisify work with fs.exists.
As this is not the case according to the data you shared, it means that something else creates this discrepancy.
In order to get more data, I would like to test a custom version of the VS Code extension including the fix mentioned above as well as more logs.
If that's OK for you, I'll contact you in private to share the updated package.
Thanks again for all your help so far!

Sure with pleasure!

I can confirm the proposed solution fixed the error on both the install we saw it. Thank you very much for fixing

That's great, thank you Mikhail!
I'll close this issue once the fix is released publicly, at the beginning of January.
Thanks again for reporting this issue and helping us investigate it!


OpenUI5 Diagnostics window keyboard shortcut interferes with Polish character input

OpenUI5 version: latest
Browser/version (+device/version): N/A
Any other tested browsers/devices(OK/FAIL):
URL (minimal example if possible): https://openui5.hana.ondemand.com/explored.html (for example)
User/password (if required and possible - do not post any confidential information here):
What is the expected result? Pressing the Ctrl+Alt+Shift+S keyboard shortcut opens the OpenUI5 diagnostics window. However, this is the same keystroke for inputting the Polish s with acute accent. Since this interferes with Polish users, the shortcut either needs to be disabled or changed to something else.
Any other information? (attach screenshot if possible)

Strange, I thought this has been addressed in the course of #1323 ( with f240eda4b743925eb167fd012f747cdc01f25862).
According to the mentioned issue, a polish keyboard on MS Windows maps the AltGr key to Alt + Ctrl and the key combination for the s (acute accent) is AltGr + S.  Does that key combination also work for you (for entering that letter, I mean - it should not open the Diagnostics window).

I confirmed that Ctrl+RightAlt+Shift+S does input the acute S and doesn't open the diagnostics window. Is it known/expected amongst Polish users to only use the right Alt key for this character?

As far as I understood from conversation with @stopcoder, the assumption (or report) was that in those countries (Poland, Germany was also mentioned) keyboards with an AltGr key are common and that users use that key to enter such special characters.
Limiting the UI5 shortcuts to the left Alt key therefore seemed to be a less intrusive fix than changing the key combination completely.
Would you propose a different solution?

Given that there's a dedicated key for special characters, it seems like a reasonable solution. Thanks for the explanation. I'll close this out.


Upgraded to latest Versions and polished code

Upgraded to latest Versions and polished code to remove unused imports and implemented coding standards.

Looks good to me, thanks!


Client doesn't receive chunk data

            Chunk chk = new Chunk(false);
            {
                Column col = new Column(0, 0, new Chunk[] { chk , chk , chk, chk, chk, chk, chk, chk, chk , chk , chk, chk, chk, chk, chk, chk }, null);
                ServerChunkDataPacket pkX = new ServerChunkDataPacket(col);
                session.send(pkX);
            }
            {
                Column col = new Column(1, 0, new Chunk[] { chk , chk , chk, chk, chk, chk, chk, chk, chk , chk , chk, chk, chk, chk, chk, chk }, null);
                ServerChunkDataPacket pkX = new ServerChunkDataPacket(col);
                session.send(pkX);
            }
            {
                Column col = new Column(-1, 0, new Chunk[] { chk , chk , chk, chk, chk, chk, chk, chk, chk , chk , chk, chk, chk, chk, chk, chk }, null);
                ServerChunkDataPacket pkX = new ServerChunkDataPacket(col);
                session.send(pkX);
            }
            {
                Column col = new Column(0, 1, new Chunk[] { chk , chk , chk, chk, chk, chk, chk, chk, chk , chk , chk, chk, chk, chk, chk, chk }, null);
                ServerChunkDataPacket pkX = new ServerChunkDataPacket(col);
                session.send(pkX);
            }
            {
                Column col = new Column(0, -1, new Chunk[] { chk , chk , chk, chk, chk, chk, chk, chk, chk , chk , chk, chk, chk, chk, chk, chk }, null);
                ServerChunkDataPacket pkX = new ServerChunkDataPacket(col);
                session.send(pkX);
            }

I already tried filling the chunk with stone block, also didn't work.
Maybe I'm forgetting a very important packet that should be sent, but I can't figure out what packet it is.

If I recall correctly, you need to send biome data with chunks the first time they're sent. Pass some into the Column constructor.

@Steveice10 thanks for replying! I will try doing that as soon as possible :)

@Steveice10 thanks! Now the issue was fixed!
For future visitors with the same issue, howdy! So, to fix the issue, you just need to initialize a byte array (new byte[256]), fill it with something (I didn't test, but I suppose that every id = a specific biome, but I may be wrong) and create the Column using that byte array aaaaand... fixed!


Typo in AdminLTE.css

Typo

Thank you. We need to fix this in LESS too since it will be overridden when I recompile the LESS files.

Definatley! Will you do this?

Am 01.06.2015 um 12:17 schrieb Abdullah Almsaeed<EMAIL_ADDRESS>Thank you. We need to fix this in LESS too since it will be overridden when I recompile the LESS files.
—
Reply to this email directly or view it on GitHub.

Done.


542365460 Blank Resource group when using ARM task for specific subscription

Task name: AzureResourceManagerTemplateDeploymentV3
Description: Customer not able to view the resource group name as he have large no of RG in subscription. So added a logic to cumulate the response by pagination
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) Y
Checklist:

[X] Task version was bumped - please check instruction how to do it
[X] Checked that applied changes work as expected

#https://portal.microsofticm.com/imp/v5/incidents/details/542365460/summary

@PhilipsonJoseph can you point me logic changes in code? I can't see it, just updating the versions.

@PhilipsonJoseph can you point me logic changes in code? I can't see it, just updating the versions.

Hi @z00sts Changes is not much. Changes only on configuration which present on task.json


Fixes # 963 Added space for drag bar

Added space for drag bar at top of main window.
Fixes #963

Please dont use a fork but make branches in the main project so we can checkout and test more easily

Why add two additional nodes with a hardcoded size when the same (read: better) could be achieved using simple CSS?

only minheight is hardcoded tho

You want a padding at the top?

Plus, the commit message says "Fixes # 963" which, due to the space after the hash, does not close #963.
Plus, my comment in https://github.com/FAForever/downlords-faf-client/issues/963 seems to have been ignored, so now there's also spacing when the window is maximized, which is bad for usability.
Please revert this, and please pay more attention to quality (I'm not even mentioning the 7 ghost-commits in this PR).

Reverted

I squased the commits but also told him 1 issue = 1 commit


Goddard examples plot

[x] use plot facilities on ODE sol to simplify the code (no need for [ x[i][1] … ] stuff

@ocots

[ ] define a subtype of ODE solution plots to take into and plot controls
[ ] probably needs a proper subtype of flows when the flow comes from an ocp (with a provided maximising control)
[ ] for such flows, take into account controls when concatenating

For the moment, I think that it would be simpler and more coherent to have all flows in the same package, including flows from ocp with control. Hence, I need to rename the package HamiltonianFlows since the name is not correct for such a purpose. It could be ControlFlows if we think that this package may be used independently from OptimalControl. or CTFlows if it would be just an internal package.

For the moment, a flow is given by the structure
#
struct CTFlow{D, U, T}
    f::Function      # the mere function which depends on the kind of flow (Hamiltonian or classical)
                     # this function takes a right and side as input
    rhs!::Function   # the right and side
    tstops::Times    # specific times where the integrator must stop
                     # useful when the rhs is not smooth at such times
    # constructors
    CTFlow{D, U, T}(f, rhs!) where {D, U, T} = new{D, U, T}(f, rhs!, Vector{Time}())
    CTFlow{D, U, T}(f, rhs!, tstops) where {D, U, T} = new{D, U, T}(f, rhs!, tstops)
end

and a call to a flow is given by
(F::CTFlow)(args...; kwargs...) = F.f(args...; _t_stops_interne=F.tstops, DiffEqRHS=F.rhs!, kwargs...)

For the moment, in the Goddard problem, the plot of the solution of a flow is made like this:
# Plots
p0 = indirect_sol.x[1:3]
t1 = indirect_sol.x[4]
t2 = indirect_sol.x[5]
t3 = indirect_sol.x[6]
tf = indirect_sol.x[7]

f1sb0 = f1 * (t1, fs) * (t2, fb) * (t3, f0) # concatenation of the Hamiltonian flows
flow_sol = f1sb0((t0, tf), x0, p0)
r_plot = plot(flow_sol, idxs=(0, 1), xlabel="t", label="r")
v_plot = plot(flow_sol, idxs=(0, 2), xlabel="t", label="v")
m_plot = plot(flow_sol, idxs=(0, 3), xlabel="t", label="m")
pr_plot = plot(flow_sol, idxs=(0, 4), xlabel="t", label="p_r")
pv_plot = plot(flow_sol, idxs=(0, 5), xlabel="t", label="p_v")
pm_plot = plot(flow_sol, idxs=(0, 6), xlabel="t", label="p_m")
plot(r_plot, pr_plot, v_plot, pv_plot, m_plot, pv_plot, layout=(3, 2), size=(600, 300))

The goal is to make a simple call:
# Plots
p0 = indirect_sol.x[1:3]
t1 = indirect_sol.x[4]
t2 = indirect_sol.x[5]
t3 = indirect_sol.x[6]
tf = indirect_sol.x[7]

f1sb0 = f1 * (t1, fs) * (t2, fb) * (t3, f0) # concatenation of the Hamiltonian flows
flow_sol = f1sb0((t0, tf), x0, p0)
plot(flow_sol)

We assume here that to achieve our goal, we aren't going to make a code too generic, that is we are allowed to make some redundancy in the code.
First, we consider a new structure for flows from ocp with control:
# to specify D, U and T is useful to insure coherence for instance when concatenating two flows
struct CTFlow{D, U, T}
    f::Function      # the mere function which depends on the kind of flow (Hamiltonian or classical)
                     # this function takes a right and side as input
    rhs!::Function   # the right and side of the form: rhs!(du::D, u::U, p, t::T)
    tstops::Times    # specific times where the integrator must stop
                     # useful when the rhs is not smooth at such times
    # constructors
    CTFlow{D, U, T}(f, rhs!) where {D, U, T} = new{D, U, T}(f, rhs!, Vector{Time}())
    CTFlow{D, U, T}(f, rhs!, tstops) where {D, U, T} = new{D, U, T}(f, rhs!, tstops)
end

Remark. When this is done, I can replace the structure CTFlow by ClassicalFlow and create also a HamiltonianFlow and a corresponding plot which plots the state, the adjoint vector and the Hamiltonian. We need again some labels. We could have a phase portrait plot if the dimension of the state is 1.

An OptimalControlFlowSolution must contain the solution of the DifferentialEquations package and the other useful information:
struct OptimalControlFlowSolution
    #
    ode_sol
    feedback_control::ControlFunction # the control law in feedback form, that is u(t, x, p)
    control_dimension::Dimension
    control_labels::Vector{String}
    state_dimension::Dimension
    state_labels::Vector{String}
end

The concatenation must concatenate also the control in feedback form:
# concatenate two flows with a prescribed switching time
function concatenate(F:: OptimalControlFlow{D, U, T}, g::Tuple{MyNumber, OptimalControlFlow{D, U, T}}) where {D, U, T}
    #
    t_switch, G = g
    function rhs!(du::D, u::U, p, t::T)
        t < t_switch ? F.rhs!(du, u, p, t) : G.rhs!(du, u, p, t)
    end
    #
    tstops = F.tstops
    append!(tstops, G.tstops)
    append!(tstops, t_switch)
    tstops = unique(sort(tstops))
    # control law in feedback form: must be a ControlFunction

    # we choose default values of F
    return OptimalControlFlow{D, U, T}(F.f, rhs!, tstops, u,
       F. control_dimension, F. control_labels, F. state_dimension, F. state_labels)
end

*(F:: OptimalControlFlow{D, U, T}, g::Tuple{MyNumber, OptimalControlFlow{D, U, T}}) where {D, U, T} = concatenate(F, g)

The construction of an OptimalControlFlow can be done this way:
function Flow(ocp::OptimalControlModel{time_dependence}, u_::Function; alg=__alg(), abstol=__abstol(),
    reltol=__reltol(), saveat=__saveat(), kwargs_Flow...) where {time_dependence}

    #  data
    p⁰ = -1.
    f  = dynamics(ocp)
    f⁰ = lagrange(ocp)
    s  = ismin(ocp) ? 1.0 : -1.0 #

    # construction of the Hamiltonian
    if f ≠ nothing
        u = ControlFunction{time_dependence}(u_) # coherence is needed on the time dependence
        h = Hamiltonian{:nonautonomous}(f⁰ ≠ nothing ? makeH(f, u, f⁰, p⁰, s) : makeH(f, u))
    else
        error("no dynamics in ocp")
    end

    # right and side: same as for a flow from a Hamiltonian
    function rhs!(dz::DCoTangent, z::CoTangent, λ, t::Time)
        n = size(z, 1) ÷ 2
        foo = isempty(λ) ? (z -> h(t, z[1:n], z[n+1:2*n])) : (z -> h(t, z[1:n], z[n+1:2*n], λ...))
        dh = ctgradient(foo, z)
        dz[1:n] = dh[n+1:2n]
        dz[n+1:2n] = -dh[1:n]
    end

    # flow function
    f = __Hamiltonian_Flow(alg, abstol, reltol, saveat; kwargs_Flow...)

    # construction of the OptimalControlFlow
    return OptimalControlFlow{D, U, T}(f, rhs!, u,   # no tstops, so value by default
       control_dimension(ocp), control_labels(ocp), state_dimension(ocp), state_labels(ocp))

end

The functor:
function OptimalControlSolution(sol::OptimalControlFlowSolution)
    n = sol.state_dimension
    T = sol.ode_sol.t
    x(t) = sol.ode_sol(t)[1:n]
    p(t) = sol.ode_sol(t)[1+n:2n]
    u(t) = sol.feedback_control(t, x(t), p(t))
    sol = OptimalControlSolution()
    sol.state_dimension = n
    sol.control_dimension = sol.control_dimension
    sol.times = T
    sol.state = t -> x(t)
    sol.state_labels = sol.state_labels
    sol.adjoint = t -> p(t)
    sol.control = t -> u(t)
    sol.control_labels = sol.control_labels
end

The new call to an OptimalControlFlow:
(F::OptimalControlFlow)(args...; kwargs...) = F.f(args...; _t_stops_interne=F.tstops, DiffEqRHS=F.rhs!, kwargs...)

function (F::OptimalControlFlow)(tspan::Tuple{Time,Time}, args...; kwargs...)
    ode_sol = F.f(tspan, args...; _t_stops_interne=F.tstops, DiffEqRHS=F.rhs!, kwargs...)
    ocfs = OptimalControlFlowSolution(ode_sol, F.feedback_control, F.control_dimension,
            F.control_labels, F.state_dimension, F.state_labels)
    return ocfs
end

Done! See: https://github.com/control-toolbox/OptimalControl.jl/blob/main/examples/goddard_f.ipynb
But!
Direct

Indirect

The problem existed already: https://ct.gitlabpages.inria.fr/gallery/goddard-j/goddard.html


Flying Fox Recogniser

Paul Roe has requested a flying fox recogniser.

I have proposed that the recogniser have following steps:

Break long recordings into one-minute segments.
Convert each segment to a spectrogram.
Obtain a noise profile for each segment. This is to be used later to remove insect chorusing.
Scan the one-minute waveform and select "spike maxima" whose amplitude exceeds a decibel threshold, D.
Extract a single frame (say 512 samples) centred on each spike and convert to a spike spectrum.
Subtract the noise profile from the spike spectrum.
Smooth the remaining spectrum.
Look for evenly spaced harmonics in the smoothed spectrum. Typically the lowest harmonic will lie between 1200 Hz and 3000 Hz and the higher ones evenly spaced. This is the tricky bit due to variability but may work to use auto-correlation.

Hi @towsey,
Some notes from our meeting with Gary Plamer:

labelled examples (labelled with Audacity) are here: Y:\Gary Palmer\Flying Fox\Examples
3 species, all not-distinguishable with acoustics
they are interested in recognizing three types of acoustic events:

territorial calls: short, single-syllable, amplitude modulated, screeches with stacked harmonics
agonistic calls: longer calls, multiple-syllables, seem to a series of warbling harmonic syllables, approximately 5-7 seconds long
wingbeats: a series of impulses in rapid succession

additionally, it would be good if we report the

dominant frequency (where applicable)
and the dominant frequency intensity


Test Changing Interrupt Intervals Dynamically

We will want to be able to change the interval for sending telemetry to CDH. We have found a macro online called __HAL_TIM_SET_AUTORELOAD which supposedly does this. We should test if it's functional though.

We don't need to update the timer duration anymore since it's going to be a fixed value.


Safari scrollbar covering UI items

https://github.com/nextjournal/clerk/assets/24797093/970eef22-55a0-46f6-84c8-3ce1e0c1b323

I could have a go at fixing this, but not this week probably. Feel free to assign :blush:


fix(ui): Check for changes before re-rendering JS blocks

Issue: #1075
Hi, I saw this was an issue both personally, but also documented. This is a quick (and dirty) solution which renders the JS to a separate element, then moves the nodes over to the main container only if the HTML changed. This fixes the constant re-render issue, as it can only re-render if a dependency of the element changed (also input inside the element, through an input field for example, can cause a re-render but this is much harder to detect).

I think the impact of the current issue is much bigger than the impact of possibly changed event handlers.
Unless the proper solution is identified and coming soon, I would prefer to have at least this solution as a toggle with a warning.

I'd like to avoid breaking complicated views, but adding a very simple toggle setting in the UI (you can just copy essentially the DataviewJS toggle) to enable this functionality seems sufficient.

I added a toggle for this feature, as requested.

I went ahead and tested this locally and this method for reducing flickers is not going to work, unfortunately. There is a fair amount of async rendering that happens when rendering markdown which does not show up when diffing the two objects, resulting in them always changing anyway.

This shows up any time you render any kind of text which limits it's applicability pretty heavily.

A "correct" fix for this would be a fair bit more complicated - essentially, you'd add in an intermediate layer in the API level which tracks what objects are being rendered with what data (table with 62 rows, etc) and then choose to re-render based on that.


Slow loading snippet kubectl

Describe the bug
I added kubectl as a snippet and immediately my prompt takes about 5 seconds to load, it was near instant before adding the snippet
To Reproduce
zinit ice lucid wait'1' id-as'kubectl' as"null" sbin"kubectl"
zinit snippet https://storage.googleapis.com/kubernetes-release/release/curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt/bin/linux/amd64/kubectl
Expected behavior
Expect prompt to appear quickly
Versions:

$ZSH_VERSION == 5.8
Operating system name and version (uname -a): 5.6.11-1 manjaro

Happy to provide whatever information you need.

Well. You are doing a web request every time you spawn a shell... Replace the curl portion with a fixed version string.

Makes sense, thanks for looking into this.

Yes, that's the reason.


email-issues

I tried with hard-coded to<EMAIL_ADDRESS>- it should work but it does not.
I tried with merge.to data binding - it should work but it does not.
Please test both of the above scenarios.
Test for plain text email and for HTML emails.


Improve checkpoint docs

What does this PR do?

Part of docs revamp #7666
Changes made here:

saving and loading weights -> saving and loading checkpoints
Moved checkpoint io to saving and loading checkpoints
Added new structure after discussing it with @kaushikb11

Saving and Loading (general APIs)
Conditional Checkpointing (ModelCheckpoint)
Customize Checkpointing (checkpoint IO)

Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[ ] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃
cc @borda @awaelchli @ananthsub @ninginthecloud

thanks for working on this @rohitgr7 ! One observation is that there's a lot of text. Do you think we could add a diagram to explain the checkpoint saving and checkpoint loading flows? This could introduce readers to the components involved and when they take effect, and then they can read the docs for a deeper dive

yes @ananthsub, that'd be really helpful. I'll be creating diagrams for hook flows. Added this to TODO. Will make for this one too later.


Create a simple auth mechanism for the API

After transitioning to FastAPI #548, we would like to implement a simple authentication (user/password) mechanism to validate some requests.
The goal is to limit geographical access for some users. See a token implementation in #489, but using a user/pwd method instead.
We can use the alert database and create a new users table to store information.

Resolved in #557


Allow accelerator to instantiate the device

when instantiating torch.device for HPU it cannot be fed with HPU:1 annotation, but only "HPU".
moving the logic to accelerator will allow to solve this issue, with single line change.

Will merge #5275 first, that way we can have the newly added unit tests run on this, then we can merge it?

@loadams Sure, thanks :)

@loadams Sure, thanks :)

Done now, so the tests should run on this PR, then we can merge it, thanks!

Halting this PR till habana version 1.16.0 will be released.

Halting this PR till habana version 1.16.0 will be released. CI issue should be fixed there.

Thanks @nelyahu - when it is released, go ahead and just update it in this PR?  Also curious if you can share what is required in that release that is causing failures here since it appears the tests just hang now?

Halting this PR till habana version 1.16.0 will be released. CI issue should be fixed there.

Thanks @nelyahu - when it is released, go ahead and just update it in this PR? Also curious if you can share what is required in that release that is causing failures here since it appears the tests just hang now?
And just tag one of us when it is updated and we can get this merged.

Sure @loadams , i will update.
I verified this patch on v1.16.0, as our dev process is on the next release branch, and i did not verified v1.14.0 (the release which is being tested here). There was a lot of bug fixed since then, cannot say for sure what is the root cause.

Halting this PR till habana version 1.16.0 will be released. CI issue should be fixed there.

Thanks @nelyahu - when it is released, go ahead and just update it in this PR? Also curious if you can share what is required in that release that is causing failures here since it appears the tests just hang now?
And just tag one of us when it is updated and we can get this merged.

Sure @loadams , i will update. I verified this patch on v1.16.0, as our dev process is on the next release branch, and i did not verified v1.14.0 (the release which is being tested here). There was a lot of bug fixed since then, cannot say for sure what is the root cause.

Thanks @nelyahu - feel free to tag us when it the new version is released and updated so we can merge this then, thanks!

Halting this PR till habana version 1.16.0 will be released. CI issue should be fixed there.

Thanks @nelyahu - when it is released, go ahead and just update it in this PR? Also curious if you can share what is required in that release that is causing failures here since it appears the tests just hang now?
And just tag one of us when it is updated and we can get this merged.

Sure @loadams , i will update. I verified this patch on v1.16.0, as our dev process is on the next release branch, and i did not verified v1.14.0 (the release which is being tested here). There was a lot of bug fixed since then, cannot say for sure what is the root cause.

Thanks @nelyahu - feel free to tag us when it the new version is released and updated so we can merge this then, thanks!

@nelyahu - I tried 1.15.1, looks like same errors, so we will wait for 1.16

Halting this PR till habana version 1.16.0 will be released. CI issue should be fixed there.

Thanks @nelyahu - when it is released, go ahead and just update it in this PR? Also curious if you can share what is required in that release that is causing failures here since it appears the tests just hang now?
And just tag one of us when it is updated and we can get this merged.

Sure @loadams , i will update. I verified this patch on v1.16.0, as our dev process is on the next release branch, and i did not verified v1.14.0 (the release which is being tested here). There was a lot of bug fixed since then, cannot say for sure what is the root cause.

Thanks @nelyahu - feel free to tag us when it the new version is released and updated so we can merge this then, thanks!

@nelyahu - I tried 1.15.1, looks like same errors, so we will wait for 1.16

@loadams Yes.

@nelyahu - now that we have updated the hpu runner to 1.17, should we move ahead with merging this PR?

@nelyahu - now that we have updated the hpu runner to 1.17, should we move ahead with merging this PR?

@nelyahu/ @BacharL - looks like there is an error with this, could you take a look when you have time?

@nelyahu - now that we have updated the hpu runner to 1.17, should we move ahead with merging this PR?

@nelyahu/ @BacharL - looks like there is an error with this, could you take a look when you have time?

Yes, this test is disabled locally in our env and fails for the same reason. I removed it from gaudi2 workflow file. once fixed will be re-added


My errors

I have found errors in your Transmission client , this is my interface :

I can't pause the torrents, or start too.
in the left section, there are not the torrents active ... So many errors, I think it's because the client is old for the transmission version .... Can you fix that ?

Seems like problem solved.


Add option to publish a pure 2D pose.

If the new "project_pose_to_2d_plane" option is set to true,
the published pose will be restricted to a pure 2D pose
(no roll, pitch, or z-offset).
This prevents potentially unwanted out-of-plane poses in 2D mode
that can occur due to the pose extrapolation step (e.g. if the pose
shall be published as a 'base-footprint'-like frame).

Added PR's to the cartographer_{fetch, toyota_hsr, turtlebot} repositories.

@wally-the-cartographer merge

Merge requested by authorized user gaschler. Merge queue now has a length of 1.


[PEP] Load FEDS After IMS

One experiment idea from the GNAV team is that we can test out always load feds after ims is loaded. This could help make IMS and adobeProfile stabler and shouldn't have too much impact on our pages.
Resolves: https://jira.corp.adobe.com/browse/MWPW-137828?filter=381833
Test URLs:

Before: https://stage--express--adobecom.hlx.page/express/
After: https://feds-after-ims--express--adobecom.hlx.page/express/

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 34.23%. Comparing base (29b0aad) to head (541a452).

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #679      +/-   ##
==========================================
- Coverage   34.50%   34.23%   -0.27%
==========================================
  Files         129      129
  Lines       25117    25117
==========================================
- Hits         8667     8600      -67
- Misses      16450    16517      +67

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


#414 new entity college

PR for #414
added new model as College and its migration as
php artisan make:model College -m
-new columns to the table
*college_id
*college-name
*address
Director and TPO is not included.
please let me know how I should append these information to the above.

@rathorevaibhav Please elaborate on how to store information regarding college contacts 'director' and TPO info.

Checked this PR :

[ ] For duplication.
[ ] For performance.
[ ] Usage of recursive methods, loops and algorithms.
[ ] For readability and understanding.
[ ] For functions with multiple responsibilities.
[ ] For scope of refactoring.
[ ] For coupling
[ ] For alternative approaches to the implementation.
[ ] For how the change impacts other parts of the system.
[ ] For validations. client side and server side validations are present.

For more insights on code reviews checkout our guidelines.

done with feedback
please review it
@bohraji
@nishanth-kd

@bohraji @Satendra-SR sorry for the delay on TPO/Director information. I've added comments here.
https://github.com/ColoredCow/employee-portal/issues/414#issuecomment-397796545

@nishanth-kd
*college migration is updated
*tpo_email is added to the migration

Quite basic

[ ] For duplication.
[ ] For performance.
[ ] Usage of recursive methods, loops and algorithms.
[ ] For readability and understanding.
[ ] For functions with multiple responsibilities.
[ ] For scope of refactoring.
[ ] For coupling
[ ] For alternative approaches to the implementation.
[ ] For how the change impacts other parts of the system.
[ ] For validations. client side and server side validations are present.

For more insights on code reviews checkout our guidelines.


Live memory dump with Memoryze

This module will allow you to dump the live memory with FireEye's Memoryze on systems you may have identified as needing more analysis. You can use the dump in other tools, such as Redline or Volatility .

Mandiant hasn't supported memoryze for a while (timestamps on fresh install show 7/10/13)
This BSODs my win10 box, likely win8 too.
$env:ComSpec
My fresh install doesn't show separate x86 and x64 versions, but if that's what you have, you should check to see which you're on instead of assuming x64.
A lot of malware has anti-debugging routines that check for IR tools by name, sometimes easily defeated by [System.IO.Path]::GetRandomFileName().Remove(8,3) + '.exe'
Writing a powershell script to run a batch script that executes a binary... smh

Hey secabstraction, thanks for the feedback and apologize for the delay.

Although not on the bleeding edge of updates, Memoryze is still a valid way to dump live memory from particular windows hosts.
If you read the supported OS', windows 10 isn't there yet, which is why you're probably blue screening. https://www.fireeye.com/services/freeware/memoryze.html
Thanks
I'll look into that one, but I had both on a fresh install. I installed it on a Win2k8 R2 (supported OS), running x64 architecture.
Good point and I'll look into this!
Yes, but Memoryze is ran using the .bat files--beat my head trying to get it to work without that

All in all, quick and dirty, but has proven valuable in dumping memory in my environment. I'm able to then analyze the memory dump with Redline and/or Volatility.  I may look at another tool to accomplish this; especially, if said tool supports more OS' and is easier to interface with.


Replace splices with reusable workflows

Part of #936

Reduce duplication in rendered workflows.
Splices are not composable (can't call one splice from another) so don't form good building blocks.

Splices had a reason to be, avoiding breaking branch protections, I think in https://github.com/pulumi/ci-mgmt/pull/687
We might want to make sure that the protections still work or just follow up here as needed.

Splices had a reason to be, avoiding breaking branch protections, I think in #687
We might want to make sure that the protections still work or just follow up here as needed.

Yup, testing for the branch protections makes sense - will test this via the xyz provider.
Reading through that thread, the discussion of the sentinel was interesting, though I think we should consider dropping the sentinel job altogether and just make our branch protections accurate for the jobs we care about.
The very precise combinations of conditionals and dependencies required to make it effective seem error-prone and non-obvious as to if there's a bug or not. The sentinel was introduced when our branch names were changing every week and so it was hard work keeping them in sync, but the sentinel was ultimately a poor attempt to avoid managing the rules. Our management of branch protections has always been pretty unreliable and gets out of sync easily. I think a bit of a redesign around this could make things simpler and more reliable.
An alternative design for the branch protections would be for the provider-ci CLI tool to have a command such as provider-ci sync-branch-protections or something similar which can be run by the repository itself to ensure it maintains the correct settings.

The name of the step does change because of the nested worklow:
-build_sdk (dotnet)
+build_sdk / build_sdk (dotnet)

Option 1: Avoid the name change by abstracting using a composite action rather than a reusable workflow. This makes the steps slightly less nice to look at in the UI, but avoids changing the naming.
Option 2: Stick with "sentinel" checks right at the end but make them simpler to comprehend and harder to mess up. Rather than relying on the job within the workflow to be marked as complete, let's just explicitly post to our own custom check to say "all required steps completed" and only require this one check.
  sentinel:
    name: sentinel
    needs:
    - test
    - license_check
    - lint
    runs-on: ubuntu-latest
    steps:
    - uses: guibranco/github-status-action-v2@latest
      with:
        authToken: ${{secrets.GITHUB_TOKEN}}
        context: 'Sentinel'
        description: 'All required checks passed'
        state: 'success'
        sha: ${{github.event.pull_request.head.sha || github.sha}}

This avoids the need for expressions like if: (github.event_name == 'repository_dispatch' || github.event.pull_request.head.repo.full_name == github.repository) && ! cancelled() and contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'skipped'). This step can also be refactored without affecting the required checks breaking - as long as the value of context doesn't change.

Ok, going to simplify the sentinel, roll it out, then come back to roll this out. Thanks for the ideating!

I would recommend syncing with @iwahbe and @guineveresaenger about the structure of the current sentinel checks before replacing them. IIRC, they had to do some surgery to make sure skipped and cancelled jobs reported the right status, (which is why those conditionals are so complex). Eg see the code comment in https://github.com/pulumi/ci-mgmt/pull/687#issuecomment-1766798595.

I'd like to see any changes to the sentinel before they roll out. Sentinels are required because GH actions doesn't have very intuitive behavior for how it conducts required checks, and it allows race conditions with auto-merge.

Here's the proposal PR for a better sentinel & migration plan: https://github.com/pulumi/ci-mgmt/pull/944

I am in favor of this. I also appreciate the improved naming where each reusable workflow has its own identifiable name.
nit: Could we... structure the files to have reusable workflows in their own folder?

nit: Could we... structure the files to have reusable workflows in their own folder?

Do they not have to be in the .github/workflows folder for GitHub to recognise them?

I've rebased and updated this since completing the roll-out of the simplified sentinel check.

This is a very hard change to review. I'm comfortable merging if we have a test provider that has merged to master with these workflows.

@iwahbe Yeah, diffs are a bit noisy, though hoped the separate commits would help.
My plan is to wait until tomorrow as there's the sentinel changes going out tonight, then I'll roll this to a single provider first, get a green master build, then merge.

Test release running on the xyz provider: https://github.com/pulumi/pulumi-xyz/actions/runs/9464972790


Add Issue and PR templates

I have contributed to FreeCodeCamp and they have a very nice Issue and PR templates.
And when PRs are merged, the corresponding Issue mentioned in the template is closed. I don't know how it happens, but somewhere it was mentioned that GitHub does it automatically. Do check out about it.
And Issue template is very useful. You can ask if the person is a user/tester/ developer and you can ask the version of the App he/she is using, for testers(or) the branch he/she is on, for developers and ask them the issue's description, their OS details and then may be even a screenshot. You can add more to the template. The above was was just a suggestion. And yeah, this will make the issue more elaborate and you won't have to ask redundant questions to the people who report the issues.

On it 😄

Nice! :smile:

@karuppiah7890 Btw are you interested in being long term contributor?

Yup! I can help test the App, and develop very small stuff! And it's surprising you started out this App just to learn stuff !

Also I'm super new to OSS:

(about 5 months)
So don't let this repo intimidate you!

Okay! Thanks for the encouragement! :smile:

see #182 😸

Also would you guys like me to make a list of first-timer PRs?

Sure! It would be very useful for us and others too! And there's this Twitter bot that actually looks out for "first-timers-only" labels in GitHub and tweets it out! So put out the labels as "first-timers-only" so that more new contributors are able to see it! :smile:
Here's the Twitter bot I spoke about : https://twitter.com/first_tmrs_only
And here's another Twitter account, a bot I believe : https://twitter.com/yourfirstpr . It will retweet if you tweet to @yourfirstpr about your project and the "first-timer-only" or "first-timer" labels and mentioning Js as the codebase.

First-timer PR List!
https://github.com/amilajack/popcorn-time-desktop/issues/183

Just tweeted them and added the label. Thanks for the suggestion!

:smile: And the first-timers-only bot has tweeted too !


VRPN submodule fails to initialize for non-nda repo

I can't seem to initialize the VRPN submodule as instructed for non-NDA users. Is there something that has changed since the docs were last updated?
https://i.imgur.com/59GtdSk.png

You wrote git submodule init before writing git submodule init vendor/vrpn, so git initialized all the submodules (including the NDA submodules) instead of just the VRPN submodule.
Try the following:
git submodule deinit --all
git submodule init vendor/vrpn
git submodule update

(I've never used git submodule deinit. If it doesn't work, then I'd probably just wipe out the OSVR-RenderManager directory and reclone the repository.)

Updated the instructions to clarify and simplify and added a pull request.

It seems you have to specify
git submodule deinit --all
git submodule init vendor/vrpn
git submodule update vndor/vrpn`
Explicitly as to not throw an error.
Now step two: move onto building it :-).

It seems you have to specify vendor/vrpn explicitly as to not throw an error. As well, when you clone the repo, all NDA submodules are enabled and must be explicitly disabled.
git submodule deinit --all
git submodule init vendor/vrpn
git submodule update vendor/vrpn
Now step two: move onto building it :-).

Excellent.  Be sure to have build OSVR-Core and its dependencies first.  You'll need to specify the locations of several libraries on Windows to get it to find all of the packages RenderManager needs to build.  On Linux, apt install will work.


[Test] Invoke transfer_public with insufficient fees.

This PR introduces a test where transfer_public is invoked with insufficient finalize fees and then with sufficient finalize fees.

Changes to how we set minimum fees proposed here - https://github.com/AleoHQ/snarkVM/pull/1687 will invalidate this test (since this test uses the priority_fee_in_microcredits as the finalize fee payment)


clap derived arguments for the compiler

Description of changes:
Ideally this doesn't change Kani's behavior at all. It only changes how kani-compiler processes its command line arguments.
This is mean as code simplification and cleanup and in anticipation of factoring out UnstableAttributes into a common crate so that they can be consistently handled by the compiler and the driver.
This change is supposed to be invisible to users
Isues
Closes #1647
Call outs
I tried to make this diff as small as possible, and in the process made some decisions that I think we can debate the efficacy of. I'm not married to these decisions and I'll happily adjust them.

Use QueryDb as the argument struct. I think this is the most "centralized" and "canonical" way to do things, but I'm happy to make the arguments a separate struct that gets merged onto QueryDb. Although In that case I think I'd prefer to just store that arguments struct as a field in QueryDb because the code duplication would be yikes.
Hand QueryDb to init_*. Maybe it doesn't need full access to the DB so we could also factor the logging arguments into a small substruct and #[clap(flatten)] it.
I generally ignored the help fields, because clap will just use the documentation. And for that documentation I used the doc on the argument string constants or a combination of that and the doc on QueryDb because they were more elaborate. I'm happy to use a different strategy here but I also find this less important, since no user realistically is ever going to run kani-compiler manually.

Testing:

How is this change tested? No special test necessary

Is this a refactor change? You might say that ...

Checklist

[x] Each commit message has a non-empty body, explaining why the change was made
[x] Methods or procedures are documented
[x] Regression or unit tests are included, or existing tests cover the modified code
[x] My PR is restricted to a single feature or bugfix

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

Can you link with #1647 please?

I don't think we should merge queries and the parser. I understand that there's a lot of redundancy, but the queries represents more than just the inputs.
You could still remove redundancy by changing the query to store the arguments that were passed inside an args field.
Edit: BTW, thank you so much for changing the compiler to use clap derived! So much nicer.

No problem. That's the way I'd prefer too. I used this first because it was a smaller diff but happy to pivot.

I'm not sure what's wrong with the CI here. @feliperodri do you have an idea why this fails? I've rerun it multiple times but it seems to have the same failure every time.

It looks like GitHub is failing to download some dependencies (e.g., kissat) from itself. These failures are often intermittent and it's just a matter of trying later.


Change logged out state of order ticket

Remove overlay from the order ticket when logged out. Replace the buy/sell button with blue primary button which launches the login modal.

Design: https://www.figma.com/file/fLWVwmanAwetVZbujQquEi/Market-Page?node-id=2108%3A16942

done


mDNS doesn't appear to be reporting a hostname?

Prerequisites

[x] I have written a descriptive issue title
[X] I have verified that I am using the latest version of esp32-wifi-manager
[x] I have searched open and closed issues to ensure it has not already been reported

Description
I'm looking for esp32 (appears to be default value) on my network but I'm not able to find it.  I don't think mDNS is working.  Is there a magic incantation?
Steps to Reproduce
Build, include in your project, try to access esp32.local (or whatever is required on your network).
System Configuration
esp-idf v4.2
DOIT ESP32 DEVKIT V1

Environment (Operating system, version and so on):
MacOS 10.15.7

Additional information:

Well, it appears that the call wifi_manager_initialise_mdns() isn't implemented so I implemented my own, which I call when I receive WM_EVENT_STA_GOT_IP.  Strange thing is.  I'm now able to ping myhostname.local but when I point my browser to myhostname.local, it returns the AP address <IP_ADDRESS>.  Any ideas why?

I'm not sure how to read this but there is a response in HTTP from the esp32 (.126) claiming that the "Location:" is <IP_ADDRESS> (from Wireshark)?  I'm not sure where this is coming from.  The AP should be down?  Any ideas?
Frame 10207: 84 bytes on wire (672 bits), 84 bytes captured (672 bits) on interface en4, id 0
Ethernet II, Src: Espressi_67:55:94 (10:52:1c:67:55:94), Dst: Apple_b4:af:a7 (78:7b:8a:b4:af:a7)
Internet Protocol Version 4, Src: <IP_ADDRESS>, Dst: <IP_ADDRESS>
Transmission Control Protocol, Src Port: 80, Dst Port: 63304, Seq: 65, Ack: 482, Len: 30
[2 Reassembled TCP Segments (94 bytes): #10205(64), #10207(30)]
Hypertext Transfer Protocol
HTTP/1.1 302 Found\r\n
Content-Type: text/html\r\n
Content-Length: 0\r\n
Location: http://<IP_ADDRESS>\r\n
\r\n
[HTTP response 1/1]
[Time since request: 0.038782000 seconds]
[Request in frame: 10201]
[Request URI: http://mele.local/settings]

I'm not sure this is normal but it appears that the interface is still configured as both STA and AP?  Could this be why I get the AP address?  I would think the AP mode should be disabled since it's in STA mode and has an IP.
Code I changed in esp-idf/mdns.c:
`            // if local netif copy is NULL, try to search for the default interface key
if (tcpip_if == MDNS_IF_STA) {
s_esp_netifs[MDNS_IF_STA] = esp_netif_get_handle_from_ifkey("WIFI_STA_DEF");
ESP_LOGI("mDNS", "%s: STA is netifs", func);
} else if (tcpip_if == MDNS_IF_AP) {
s_esp_netifs[MDNS_IF_AP] = esp_netif_get_handle_from_ifkey("WIFI_AP_DEF");
ESP_LOGI("mDNS", "%s: AP is netifs", func);
#if CONFIG_ETH_ENABLED
} else if (tcpip_if == MDNS_IF_ETH) {
s_esp_netifs[MDNS_IF_ETH] = esp_netif_get_handle_from_ifkey("ETH_DEF");
#endif
}
`
Output on console:

(7945) HTTP_SVR: Start mDNS on station.
(7955) mDNS: _mdns_get_esp_netif: STA is netifs
(7965) mDNS: _mdns_get_esp_netif: AP is netifs


PDF find text mis-aligned

Hi!
I have a sample PDF I am opening and then running a find on it like this:

As you can see the find text looks like off center, I am using bootstrap as well so I wonder if this is causing the issue?
Here are the Chrome debug tools for this element:

I can also confirm it's the same for Firefox. Thanks for the help!

Can you publish a minimal example online with the issue above? In the past there was issues with bootstap overriding some styles (e.g. #6614). Also is it PDF specific?

Here you go:
https://pythonversion-dot-promptappointment.appspot.com/backend/pdftest/pdftest.html
Thanks again!

You did not add "pdfViewer" class name to the pages container, e.g. <div id="pdfContainer" class="pdf-content pdfViewer"> mostly it's position: relative. We probably shall add e.g. ".pdfViewerPage" to the https://github.com/mozilla/pdf.js/blob/master/web/pdf_viewer.css#L22.

 How do I fix that?

I've also updated the link: https://pythonversion-dot-promptappointment.appspot.com/backend/pdftest/pdftest.html
Thanks a lot!

is this is the line height issue?

Not really. The text selection layer may not match canvas's display perfectly -- it depends on fonts and kerning used in by the PDF generator. What you see is probably okay result.

Closing as resolved.


minor doc error, OneLogin_Saml_Auth should read OneLogin_Saml2_Auth

In the README.md
OneLogin_Saml_Auth is referenced in code example under the "Initiate SSO" subtitle. I believe it should read 'OneLogin_Saml2_Auth' -- at least that is when it started working for me.
I notice there is a OneLogin_Saml_Auth class, but its in lib/Saml, not lib/Saml2.
Thanks much.

The code section right under the originally referenced one references OneLogin_Saml_Auth as well.

Thanks, will be fixed in the next commit.


How do we pull data from NCBI GEO?

Is it similar to using the wget function from Zenodo?

@jjbivona You can use both wget if you know exactly what Dataset you are interested in, here is an example:
Let's say you want to access data from this project, that you found by navigating to NCBI.
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE68849
You can find in this pages the ftp links (very similar to http).
Here's how I retrieve this wget command for a file from this NCBI GEO dataset:
# in the terminal window type:
wget ftp://ftp.ncbi.nlm.nih.gov/geo/series/GSE68nnn/GSE68849/suppl/GSE68849_non-normalized.txt.gz

We can also to do this from R, take a look at this forum answer:
https://www.biostars.org/p/335682/
I will make a note to add this in the wiki of the repository here, https://github.com/lifebit-ai/dry-bench-skills-for-researchers/wiki, thanks for pinging 👍 , this will be valuable for more people.

Thank you!!
I was able to do it using the wget function. I also tried using R, but the GEOquery package isn't updated to work with 3.6. Are there ways around this? It seems like a useful function to quickly pull the data and keep everything within R.
I also noticed that the file from GEO was a .gz file. I tried to get the first couple of lines using
head GSE68849_non-normalized.txt.gz
But nothing happens. I'm guessing it needs to be converted to .csv

The .gz  denotes that the file is compressed @jjbivona.
To decompress the retrieve .gz file
# In the command line
gunzip GSE68849_non-normalized.txt.gz

After that you can read it as is into R, no need to have it as csv as the function data.table::fread() is very welcoming to most formats, tsv, txt.
# In R
results <- data.table::fread(file = "GSE68849_non-normalized.txt")
head(results)

GEOqury installation
To install this Bioconductor library
follow the instructions in the page and copy the installation command:
https://bioconductor.org/packages/release/bioc/html/GEOquery.html

BiocManager::install("GEOquery", update = FALSE)

This worked for me in Lifebit CloudOS.

Works now! Thank you.
In the future if I get an out of date package from BiocManager will update = FALSE solve the problem?


Update README.md

Linking to site has been removed in Word 'Flutter Projects' at the first

No any deep changes, but some file based changes after forking the files. The changes however has been made not on the main branch. So chill !!
Happy coding!


JIT Error: Unable to create user because missing claims (emailaddress)

Hello! I have configured the plugin in GLPI 9.5.9 and is functioning properly, but i am having this error when JIT is enabled and the user don't exist in GLPI:
JIT Error: Unable to create user because missing claims (emailaddress)
My IdP is keycloak, and i have created a mapper named emailaddress for send the email in te response (i attach the SAML file). Any help is appreciated.

I took a look at phpsaml.class.php on line 84 and noticed that JIT requires both name and emailaddress to create the user.
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
I updated the error message to check which claim is missing.
$missing = (empty(SELF::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0]) ? 'name' : 'emailaddress');
$error = "JIT Error: Unable to create user because missing claims ($missing)";

Good night everybody!!!!
This

Hello, working with GLPI 10.0.5 and this wonderfull plugin :) I'm having the same error using SAML2 federation.
I comment this in phpsaml.class.php (line 84)
// if ((!empty(self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0])) && (!empty(self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0]))){
replace by :
if ((!empty(self::$userdata['name'][0])) && (!empty(self::$userdata['emailaddress'][0]))){
as $userdata is an array.
And also line 90-93 comment this :
// "name" => self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0],
// "realname" => self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname'][0],
// "firstname" => self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/firstname'][0],
// "_useremails" => array(self::$userdata['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0]),

by
"name" => self::$userdata['name'][0],
"realname" => self::$userdata['lastname'][0],
"firstname" => self::$userdata['firstname'][0],
"_useremails" => array(self::$userdata['emailaddress'][0]),

I'va been able to JIT provisionning a new user and map some attributes (email, firstname realname and Login Name)
Best regards
Laurent
THanks, i do this in code and Gsuite authentication worked, i have one question, if we need mapping other attributes, it's possible?

Sorry, I've not been able to map other attributes yet.
I would like to have at least the phone number to be mapped. If someone knows how-to add it :)
Laurent

@derricksmith, can you help us with this?
Thanks :)

Todo: Add additional JIT validations to phpsaml.class.php : private static function performJit($relayState)

Should be solved in my latest branch.

Hello,
I always have this problem with a specific user.
I tried 1.3.0 version @DonutsNL fork but i still have a problem with this user
2023-07-10 17:58:34 [@govihan2023] JIT Error: Unable to create user because missing claims (emailaddress) 2023-07-10 17:58:34 [@govihan2023] JIT Error: Unable to create user because missing claims (emailaddress) [2023-07-10 17:58:34] glpiphplog.WARNING:   *** PHP Warning (2): Undefined global variable $_POST in /var/www/html/glpi/src/Application/View/TemplateRenderer.php at line 120   Backtrace :   src/Application/View/TemplateRenderer.php:135      Glpi\Application\View\TemplateRenderer->__construct()   src/Html.php:1296                                  Glpi\Application\View\TemplateRenderer::getInstance()   src/Html.php:2026                                  Html::includeHeader()   plugins/phpsaml/front/acs.php:62                   Html::nullHeader()   public/index.php:82                                require()
thanks

Hi,
It looks like no saml response is received by the acs. Make sure the asserter url is correct and an saml response body is posted to the front/acs.php

Hello,
I think that the configuration on the adfs is not good but other users don't have sso problems when they test.
I have this claims on adfs

If you use the latest version of my branch you can actually dump the samlresponse and review it to see what is going wrong. To dump the responses:

create a folder 'debug' inside the plugin directory;
enable debug in the phpsaml config page;
Replay the login, this should create a .php file in the debug folder.
Open the dumped .php file to review the SamlResponse provided;
It should have the missing claim:

  http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress

Hello ,
Yes i have samlreponse in debug folder and i used your for branch

but when i clikc for login, nothing change and i come back to login again
in dump i had same info from your deleted dump in your branch

Hi,
I found the problem
i imported test accounts on glpi with a different login but the same email as my main account so that was the problem
I deleted the emails on my test accounts in ad and deleted the test accounts in glpi and now everything works as before.
thanks

hi @jbtele29,
I am glad you found and fixed the problem. And your feedback is also very usefull. It is true that currently the user creation proces itself is not properly evaluated. Problems during creation are not handled properly. This needs to be handled as well. Ill create a new issue for this problem.


Editor: Delete all and undo breaks draft machine

quick sequence of "cmd a, delete, cmd z" causes draft machine error and prevents draft from auto-saving
https://github.com/MintterHypermedia/mintter/assets/1483597/1d8cca94-c54c-478a-8018-336568dd1b40

Not sure if this workflow is the only way to reproduce it, but this makes it happen reliably.
It is pretty severe because all draft edits made after this are lost
Probably the same as this error spotted in production: https://mintter.sentry.io/issues/4589938321/?project=4505527460429824&query=is%3Aunresolved&referrer=issue-stream&stream_index=1

this error was happening because we were resetting the queryCache of the draft to null instead of removing the queryCache. and of course children was not part of null
https://github.com/MintterHypermedia/mintter/commit/cee13df13e0134d4826df80eb427e8add2baca81#diff-eb608387fece425f74b3fd9576fc16cce59d4b014483aea5d257edabc5c09ecaL366
this was the issue: client.setQueryData([queryKeys.EDITOR_DRAFT, documentId], () => null)
now we are properly removing the query cache and the new draft will populate the data correctly


Breaks pushd/popd

W:\temp> pushd foobar
W:\temp\foobar> popd
W:\temp\foobar> get-command pushd

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           pushd -> pushdX                                    z
W:\temp\foobar>

This is a big problem when scripts on the machine use pushd/popd!

The pushdX simply wraps pushd. It will be transparent to any scripts calling pushd. What is the problem you are experiencing ?

This code should pop me back to the initial directory shouldn't it?
Using push-location and bypassing pushdx works just fine
On Jan 22, 2015 3:55 PM, "Vince Panuccio"<EMAIL_ADDRESS>wrote:

The pushdX simply wraps pushd. It will be transparent to any scripts
calling pushd. What is the problem you are experiencing ?
—
Reply to this email directly or view it on GitHub
https://github.com/vincpa/z/issues/8#issuecomment-71106985.

I see. I will take a look. Sorry for any inconvenience caused.

Awesome. I've been meaning to take a look at how proxies worked in ps so thank you so much for the example as well!

No problem. Don't forget to star the repo if you like it :)