Inferenceservice status is 'Unknown' with 'IngressNotConfigured'

/kind bug
What steps did you take and what happened:
My kubeflow and kfserving are installed in k8s, I tried the solution of the issue https://github.com/kubeflow/kfserving/issues/668, but my Inferenceservice is still 'Unknown' with 'IngressNotConfigured', is there anything missed?
What did you expect to happen:
I expect the inferenceservice status is 'Ready'.
Anything else you would like to add:
the inferenceservice revision and configuration are ready, but the route and the service is not ready.
Here is
Here is the
And here is the
Does is error is complain the virtualservice owner Ingress is missed? actully, there is not the specified Ingress in the same namespace or knative-serving or istio namespace, if the answer is YES, which component should create the ingress?
Environment:

Istio Version:
Knative Version: v0.11.1
KFServing Version: 0.2.2
Kubeflow version: 1.0.2
Kfdef:[k8s_istio/istio_dex/gcp_basic_auth/gcp_iap/aws/aws_cognito/ibm]
Minikube version:
Kubernetes version: (use kubectl version):
OS (e.g. from /etc/os-release):

@songm28 do not deploy the inference service in kubeflow namespace ! we have a warning here
https://github.com/kubeflow/kfserving/#kfserving-in-kubeflow-installation

@yuzisun Okay, Let me create the inference service in other test namespace.

@songm28 oh maybe you are deploying a custom inference service, looks like your pod is actually up running. The out of the box inference services like sklearn does not work in kubeflow namespace because it needs to go through the kfserving pod mutator to inject a storage initializer. The picture you sent for the networking istio log looks like is truncating the error stack, I can not see the entire error message.

@yuzisun the inference service is a very simple sample here: https://github.com/kubeflow/kfserving/tree/master/docs/samples/custom/hello-world.
I had deployed the inference service in my test namespace, everything seems to be the same. the above snapshots are updated.

@songm28 I am not sure why it is getting 404 when probing http://kfserving-hello-world-predictor-default.test.svc:80 , can you test if that endpoint works in cluster?

@yuzisun I test the link in the k8s pods in another namespace, it did not work.
The network between the pods are ok as I tested a normal service and deployment. Please checkout the

@songm28 it won't work outside the kube cluster, this is the cluster local service host so you would need to kubectl exec into some of the pods(like istio ingress gateway pods) and then test this url.

btw, do you have istio cluster local gateway installed?

@songm28 it won't work outside the kube cluster, this is the cluster local service host so you would need to kubectl exec into some of the pods(like istio ingress gateway pods) and then test this url.

yes, the test is done when I 'kubectl exec' into another pod in namespace testB.
it seems that the knative code build out the service endpoint not complete, it should be kfserving-hello-world-predictor-default.test.svc.cluster.local rather than kfserving-hello-world-predictor-default.test.svc as the host.
and from the test output, it seems once the endpoint is reachable, there will be another error about revision '' not found, but the revision name is blank we get in the knative code, is there anything missing in the k8s made the revision name get as blank?
In my understanding, with knative 1.0.2, we used the kfserving-ingressgateway instead of istio cluster local gateway, is it?
Here is my SVC for gateway in istio:
istio-egressgateway        ClusterIP      <IP_ADDRESS>             80/TCP,443/TCP                                                                                425d
istio-ingressgateway       LoadBalancer   <IP_ADDRESS>   x.x.x.x   80:31380/TCP,443:31390/TCP,31400:31400/TCP,15011:31700/TCP,8060:31068/TCP,853:30088/TCP,15030:32450/TCP,15031:31272/TCP                                                                   425d
kfserving-ingressgateway   LoadBalancer   <IP_ADDRESS>    x.x.x.x    15020:30527/TCP,80:32380/TCP,443:32390/TCP,31400:32400/TCP,15011:31650/TCP,8060:32718/TCP,853:31119/TCP,15029:30047/TCP,15030:31542/TCP,15031:31164/TCP,15032:32014/TCP,15443:32125/TCP   19h
Here is my gateway in istio:
kubectl -n istio get gateway
NAME                              AGE
istio-autogenerated-k8s-ingress   1y
Here is my gateway in knative-serving namespace:
kubectl -n knative-serving get gateway
NAME                      AGE
cluster-local-gateway     48d
knative-ingress-gateway   19h
and one more thing, my k8s version is below 1.15, will it make knative and kfserving not work?

@songm28 oh I see, we have deprecated kfserving-ingressgateway since it exposes the servics publicly. If you try the kubeflow manifests on master it should work with istio-ingressgateway, we are releasing kubeflow 1.1 soon.

@yuzisun ok, I will try after the kubeflow 1.1 released.

consolidate to https://github.com/kubeflow/kfserving/issues/798
/close


Feature/forwarding

 Forwarders prolong the CH rounds a lot, probably cause they don't save the flags because they don't process

 Fix join request from cluster node.


[JPEG 2000] Add support for resetContextProbabilities (bug 1731483)

Given the size of the patch, I figured that submitting it here for testing wouldn't hurt; obviously I'm keeping the original commit author info intact!

/botio-linux preview


add support for redux-batch

It would be nice if logger would support:
https://github.com/manaflair/redux-batch

No need probably, that transformer is enough for our case...
  const { createLogger } = require('redux-logger');
  middleware.push(
    createLogger({
      actionTransformer: (action) =>
        Array.isArray(action) ? { type: '@redux-batch', actions: action } : action,
    })
  );


redirecting output to same file as is used for --merge results in an empty .tfstate file

The following command will wipe out your .tfstate file:
terraforming rds --tfstate --merge ./terraform.tfstate > terraform.tfstate
The end result is an empty terraform.tfstate file.

This behavior is by design of shell redirect, not a bug of Terraforming.
However it may be inconvenient not to overwrite existing tfstate at once, so I'm going to add --overwrite option. Please wait for next release :bow:
REF

Shell Command Language

I just released v0.2.0 with --overwrite option :shipit: Please try this.
If you still have something wrong, please reopen this issue!


Filtering build triggers

Hi,
Thanks for contributing this useful resource to the Concourse ecosystem!
Recently we started experimenting with Concourse for some of our projects. We do lots of open-source work, which makes it necessary for us to somehow control the execution of CI jobs in PRs from untrusted sources. Namely, we would love to have a way to trigger builds for PRs only after they had been reviewed by a maintainer to prevent execution of malicious code on the CI platform.
Is there currently a way to filter build triggers for PRs based on, for example, the presence of a specific label or a comment from a maintainer?
If not - is this something that is going to happen in the future?
Thanks a lot!

Hi, thanks for submitting the issue!

Is there currently a way to filter build triggers for PRs based on, for example, the presence of a specific label or a comment from a maintainer?

Currently there is no such functionality in this resource, but it's definitely worth considering given your use-case! We'll need to investigate how to best achieve this however:

labels: Malicious code can be introduced after the label has been added.
comments: Same as above, and we might need additional privileges in the access_token in order to determine whether the comment is from a maintainer or not.
PR review: Same here, we'd need an approve for each commit to ensure that we don't run tests against malicious code.

A simple solution might be to add a disable_forks flag on the resource, and instead have two different pipelines, one for PRs made by people with write access to the repository, and one for PRs from forks, and then handle PRs from forks in a safer way:

Use task definitions from master branch instead of the PR itself.
No credentials handed to the task environment.
Add timeout: for the task execution.

Would something like this work for your use case? Could you give some more details about what kind of security risk you are worried about when executing untrusted code?

Thanks for the prompt response @itsdalmo.
I think some filtering functionality existed in the github-pullrequest-resource resource. In any case, sure - this would definitely have to be considered carefully.

labels: Malicious code can be introduced after the label has been added.

A possible implementation could be something like the following:

Trigger: a PR is opened or new commits are pushed or a label is added.
The resource looks for a specific label.

If the label doesn't exist, the pipeline doesn't run.
If the label exists it is removed and the pipeline runs.

comments: Same as above, and we might need additional privileges in the access_token in order to determine whether the comment is from a maintainer or not.

I think this can be handled using a static list of maintainers in the resource's configuration, an "owners file" or anything similar. We can use the following logic for example:

Trigger: - Trigger: a PR is opened or new commits are pushed or a comment is added.
The resource looks for a specific comment from one of the maintainers which was added after the last push.

If such a comment doesn't exist, the pipeline doesn't run.
If such a comment exists, the pipeline runs.

Yes, disable_forks can also be useful in addition to the above.
In any case, I did not intend to propose a concrete implementation here as there are obviously lots of other things to think about, some of which might have to do with Concourse itself rather than this resource. There is an open issue about these concerns on the Concourse repo.
I might have more feedback (or more specific suggestions) after I had a chance to run our CI process with the resource. I leave it for you to decide if there is a point in leaving this issue open and/or discuss things further on this matter.

This functionality did exist in the original. It is also the reason I chose to retire the PR resource. Trying to maintain all the different ways someone uses PRs (via labels, comments, forks, brances, etc) became complex to maintain and difficult to minimize in API usage.
My high recommendation is to have the use have a guard task that inspects the PR for their own restrictions. That way it is left to the user to do the correct API calls, spell incantations, etc.

Thanks for the input @jtarchie. So if I understand correctly, your recommendation is to let the pipeline always trigger, and check whatever we want using pipeline code, that is - without relying on the resource to do it for us?

As a related example - it might be helpful to filter out github PRs in the draft status.
@jtarchie do you have any examples of the "guard task that inspects the PR for their own restrictions"?

I don't have examples.
The hub CLI is really powerful, as is the Github API documentation.
I stopped adding filtering options my previous resource because it was too much responsibility (and just hard) to account for everyone's single use case of how they used PRs.

I understand the problematic of implementing all those different filtering options in the resource, but I fail to see how such "guard task" should be set up. As far as I know there isn't a way to conditionally trigger steps in a job plan.

There is no conditional task.
What task are you running against your PR? Is it a single one or bunch of tasks?
If single, modify that one to inspect the PR for your conditions. If it matches run the task as usual. If doesn't just fail gracefully.
If multiple tasks, include a guard task on any invocation of PR. If it doesn't match fail as it is failure. It doesn't meet your requirements.

ok, I see. It makes sense. Thank you for the clarification.

My high recommendation is to have the use have a guard task that inspects the PR for their own restrictions. That way it is left to the user to do the correct API calls, spell incantations, etc.

I tend to agree with this @jtarchie, but until resources v2 and the next generation of tasks come along I think a guard task would just increase complexity for both users and maintainers?

Option A: github-pr-resource fetches labels as part of get, and a separate task filters the labels and throws an error if the label is not present:

Resource still has to have a new release everytime a new filter needs to be added.
All we really save is an if-statement in in.go.

Option B: github-pr-resource does not return any additional information which can be used for filtering, it basically only passes the commit SHA/PR number and the task needs to get the filter information on its own:

The added API calls count toward the rate limit.
The task needs to re-implement things, like the logic for fetch a PR and handling credentials.
In general, tasks are harder to version and distribute.

And in the not-so-distant future I believe the revamps coming for resources and tasks (and spaces) means that github-pr-resource will undergo breaking changes as well. E.g., emitting committed as part of the version will no longer be necessary with spaces - and as part of those breaking changes, or when tasks get improved, we should be able to move the filters out into a separate github-pr-filter-task with minimal effort?

Closing this since releasing #126 and now merging #104 (available on dev tag/soon to be released).


display dimensions  in correct order in repr

Edit: see below for updated request.
Is your feature request related to a problem?
the rest of the scipy ecosystem  requires numpy  arrays for everything.  dim  order is the only organization you have in np.  it causes tons of issues moving back and forth between xarray and np  simply because dimensions are displayed in alphabetical order rather than their actual order.

Describe the solution you'd like
No response
Describe alternatives you've considered
No response
Additional context
No response

NVMD it shows it correctly after the data var

@openSourcerer9000 Thanks for raising this.
The big question is: What is the actual order?
You can imagine any DataArrays in a Dataset (arrays and their dimensions):
A(time, range, sample)
B(time, sample)
C(time, size, range)
D(size, range)
So how to order those?

It's still messing me up that dataset does not have dim order. ds.transpose doesn't seem to actually do anything. I think the improvement would be to have ds.transpose actually change the order of dims for each data var to match the order imposed.

It does actually do that. to_dataframe lets you specify an order using the dim_order kwarg: https://docs.xarray.dev/en/stable/generated/xarray.DataArray.to_dataframe.html

Isn't the dim order already specified? The behavior seems strange to me.

Datasets do not, and will not, enforce consistency of dimension ordering among dataarrays.
So where it does matter, like in to_dataframe, we are forcing you to be explicit and write out what dimension order you want for that function. We can't just pick the dim order of the first variable because not all variables have the same dimensions.

We can't just pick the dim order of the first variable because not all variables have the same dimensions.

... and thus Dataset.to_dataframe uses ds.sizes as the default dimension order, which is not affected by Dataset.transpose.

I think we often use a single var dataset over dataarray to merge variables or to avoid seeing "xarray_dataarray_variable" names pop up after serializing.

You can assign a name to a unnamed DataArray, which will be used by to_dataframe:
arr.rename("variable")


TypeError: '<=' not supported between instances of 'str' and 'int'

Using concurrentLogHandler v. 0.9.1 in python 3.6 (on Centos 7) I get the follow exception:
--- Logging error --- Traceback (most recent call last):   File "/usr/lib64/python3.6/logging/handlers.py", line 72, in emit     self.doRollover()   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/cloghandler.py", line 261, in doRollover     if self.backupCount <= 0: TypeError: '<=' not supported between instances of 'str' and 'int' Call stack:   File "manage.py", line 25, in <module>     execute_from_command_line(sys.argv)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line     utility.execute()   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute     self.fetch_command(subcommand).run_from_argv(self.argv)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv     self.execute(*args, **cmd_options)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute     output = self.handle(*args, **options)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 108, in handle     return getattr(self, shell)(options)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/core/management/commands/shell.py", line 83, in python     code.interact(local=imported_objects)   File "/usr/lib64/python3.6/code.py", line 302, in interact     console.interact(banner, exitmsg)   File "/usr/lib64/python3.6/code.py", line 233, in interact     more = self.push(line)   File "/usr/lib64/python3.6/code.py", line 259, in push     more = self.runsource(source, self.filename)   File "/usr/lib64/python3.6/code.py", line 75, in runsource     self.runcode(code)   File "/usr/lib64/python3.6/code.py", line 91, in runcode     exec(code, self.locals)   File "<console>", line 1, in <module>   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 226, in __repr__     data = list(self[:REPR_OUTPUT_SIZE + 1])   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 250, in __iter__     self._fetch_all()   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 1118, in _fetch_all     self._result_cache = list(self._iterable_class(self))   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/query.py", line 53, in __iter__     results = compiler.execute_sql(chunked_fetch=self.chunked_fetch)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 889, in execute_sql     cursor.execute(sql, params)   File "/home/bmlnx/.virtualenvs/librofirma/lib/python3.6/site-packages/django/db/backends/utils.py", line 90, in execute     extra={'duration': duration, 'sql': sql, 'params': params} Message: '(%.3f) %s; args=%s'
Debugging the project I've found the problem is in doRollover method (cloghandler.py) at the statement:
if self.backupCount <= 0:
I think the solution could be:
if int(self.backupCount) <= 0:

System details
OS: Centos 7
Python: 3.6
Library version: 0.9.1
Django: 1.11

Steps to reproduce the exception
In settings.py configure backupCount parameter as int:
'backupCount': 30,
AS showed in the attached screenshot, even if the backupCount parameter is setted as integer at the BaseRotatingHandler class, on the emit method, the parameter self.backupCount is readed as str.

I'm sorry. The issue was caused by dirty virtualenv. I had installed the ConcurrentLogHandler library before and something was wrong during its uninstall.


Model Manifest

As a Garden Publisher I want to create a model manifest file so I can publish invocation details about my model
Just a  Draft
Assumptions:

The manifest file will be in the format of an MLFlow MLModel file
It will only support the python_function flavor
The manifest file will be created by invoking the publish_model method on a GardenClient instance.
Arguments to the method will be:
a. A python function
b. Signature, following the MLModel format for columnar signature
c. Model Name
d. Model description

#Acceptance Criteria

An example JSON file
{
  "dlhub": {
    "version": "0.9.8",
    "domains": [
      "biology"
    ],
    "visible_to": [
      "public"
    ],
    "name": "iris_svm",
    "files": {
      "model": "model.pkl"
    },
    "dependencies": {
      "python": {
        "scikit-learn": "1.0.2"
      }
    },
    "test": null,
    "type": "servable"
  },
  "datacite": {
    "identifier": {
      "identifier": "10.datacite/placeholder",
      "identifierType": "DOI"
    },
    "creators": [],
    "titles": [
      {
        "title": "Example Scikit-Learn Model",
        "type": null,
        "lang": null
      }
    ],
    "publisher": "DLHub",
    "publicationYear": "",
    "subjects": [],
    "resourceType": {
      "resourceTypeGeneral": "InteractiveResource"
    },
    "contributors": [],
    "descriptions": [],
    "language": null,
    "alternateIdentifiers": [],
    "relatedIdentifiers": [],
    "rightsList": [],
    "fundingReferences": [],
    "version": null
  },
  "servable": {
    "type": "Scikit-learn estimator",
    "shim": "sklearn.ScikitLearnServable",
    "model_type": "SVC",
    "model_summary": "SVC(C=1, kernel='linear', probability=True)",
    "methods": {
      "run": {
        "input": {
          "type": "ndarray",
          "description": "List of records to evaluate with model. Each record is a list of 4 variables.",
          "shape": [
            null,
            4
          ],
          "python_type": null,
          "item_type": {
            "type": "float",
            "description": null,
            "shape": null,
            "python_type": null,
            "item_type": null,
            "element_types": null,
            "properties": null
          },
          "element_types": null,
          "properties": null
        },
        "output": {
          "type": "ndarray",
          "description": "Probabilities for membership in each of 3 classes",
          "shape": [
            null,
            3
          ],
          "python_type": null,
          "item_type": {
            "type": "float",
            "description": null,
            "shape": null,
            "python_type": null,
            "item_type": null,
            "element_types": null,
            "properties": null
          },
          "element_types": null,
          "properties": null
        },
        "parameters": {},
        "method_details": {
          "method_name": "predict_proba"
        }
      }
    },
    "options": {
      "serialization_method": "pickle",
      "classes": [
        "setosa",
        "versicolor",
        "virginica"
      ],
      "is_classifier": true
    }
  }
}

I think differently about our initial needs for a manifest:

Follow an existing schema language for describing input/output data structures (e.g., JSON, MLFlow)
Be able to support functions with multiple inputs and keyword arguments (i.e., any Python function)
Be created before publication either "by hand" or via the assistance of a Python SDK
Passed to a publish_model method that submits manifest and any files marked as necessary to web interface
Support publication-ready metadata (e.g., DataCite) describing the model

A few key differences:

Open to other standards besides MLFlow (not that I'm opposed to using someone else's work)
Model description is made before calling publish to lower the complexity of the publish operation

These requirements are ideas we used when creating the DLHub SDK: https://dlhub-sdk.readthedocs.io/en/latest/servable-publication.html
The input descriptions are based off of the JSON schemas (but extensions to include), we use DataCite to describe citation information, and describe the how to build the container with repo2docker. Descriptions of the inputs are built using "helper classes" in an SDK based on pydantic, which facilitates writing them out to disk as JSON
@ascourtas was working on a better version of the documentation

We should agree on initial schemas for:

Model information (evaluate MLFlow, DLHub, HF schemas)
General information (e.g. authors, titles, etc. via Datacite)
Testing information (e.g., results of reliability testing)
Benchmarks

The goal is to create example records so that we can begin work on the front end ASAP

strawman schema could be good for acceptance criteria for this sprint

Hm if we want to get this done this sprint, perhaps we should meet to iron out the specifics Ben outlines above? So we can all reach consensus
@BenGalewsky @blaiszik @WardLT @kjschmidt913

We decided to split this out into a design issue, to be done in sprint 3, so we can then work on this issue in later sprints


Add browser support table to the readme

Currently, there is no clear "Which browsers are supported?". Would be great to know your intention.
For example, I've asked myself why the fetch method doesn't first check if the native fetch API is available.

It doesn’t because then it would have to be a polyfill for the Fetch API, and it doesn’t quite follow it to the letter (mainly the object that is passed to the promise is different). Also, I’m not sure if the Fetch API is quite ready yet, at least with an XHR object there is a way to abort the request, which is still not possible with the Fetch API.
As a little historical background, $.fetch() evolved from the XHR helper I’ve been using for years. It just so happened that it was very similar to the Fetch API, but it was never intended as a polyfill for it. In any case, when the Fetch API is ready $.fetch() will likely become deprecated and then removed, unless it still offers some kind of syntactical convenience over it. But I won’t keep it around as a mere wrapper of the native API (or a polyfill), as that would be against the spirit of Bliss (which promotes polyfills over wrappers if the native API has decent usability).

That said, there’s no browser support table, because browser support depends a lot on choice of polyfills, if any. If all needed functionality is polyfilled, it should definitely work in at least IE9.

This sounds like a won't fix. Any objections.

Not exactly a wontfix. I wouldn't be opposed at all to an interactive browser support table, where one would check polyfills and it would update automatically! :D
But I’m not going to do it, as it's not a priority. If anyone thinks it's cool though, I will merge it and style it (i.e. whoever does it shouldn't worry about styling) :)

Any takers? I'll leave it open for awhile to see if we get any bites, and if not, will close it out.

So if I understood it correctly everything from IE9 is / should be supported?

With polyfills, yes.

Probably too much work to maintain something like this, but since Bliss promotes polyfills over wrappers, it could be super helpful if a browser support table was included next to each method in the docs, and a polyfill for supporting said method was suggested.

I'm not hearing a consensus on what people would like. I'm going to close this ticket out, but if anyone has a PR in the future addressing this problem, we'll be more than happy to take a look at it.

Well, I thought of adding a primitive browser support table.

@kurtextrem - You're more than welcome to, feel free to make a PR.


ModelValidator: record to class

coverage: 95.754%. remained the same when pulling 400f886d1d2ea12a6c4feca216ba7b8d6a21b804 on feature/ModelValidator-record-to-class into 1874d84399bbef9146d9ab92abb644816da8cffe on main.


System crash due to ExpressionAnimation

Hi,
I'm using an expression that crashes Windows on PCs without dedicated graphic cards. The bug occurs on build 10586, I haven't tested on the latest Windows Preview.
Here is the expression animation:
( (ScrollManipulation.Translation.X > -100) ? 0 : (Lerp(0, -100, Clamp(-ScrollManipulation.Translation.X / MaxScroll, 0,1))) )"
To fix it, I had to use a more verbose version:
( (ScrollManipulation.Translation.X > -100) ? (0): Lerp(0,-100, (    ((-ScrollManipulation.Translation.X / MaxScroll)<0)?0: ((-ScrollManipulation.Translation.X / MaxScroll)>1)?1: (-ScrollManipulation.Translation.X / MaxScroll) )       ) )"
Is the ternary operator compatible with imbricated functions? Is it a known issue?
I know about the issue #19 but I didn't manage to fix it just by adding parenthesis.

Thanks for the find @cyrilcathala. I'm adding @patsiu who has been tracking issues associated with #19.
Hopefully this is a duplicate.

Hi @cyrilcathala,
I believe you may be hitting what was found in Issue #19. However, simply adding more parenthesis does not necessarily solve the issue. Can you try the following for me to confirm this is the case?
In your ternary operator, add in your condition portion a sequence of nested 0's such as [...] + (0 + (0 + (0 + (0 + (0+0))))). (The more complex your "if true" and "if false" portions are, increase the number of nested 0's in the condition). Thus your ternary will look something like A > x + 0 + (0 + (0 + (0 + (0 + (0+0))))) ? B + C: D + E.
If this is the same issue, it is fixed on the latest insider build, but since you mentioned you are on 10586, try this out and let us know what happens.

Closing. If you are still hitting that issues please reactivate. Thanks!


Investigate further error handling and annotation improvements

Version: -feature
CUPS.org User: elfring
I have looked at a few source files for your current software. I have noticed that some checks for return codes are missing.
http://cwe.mitre.org/data/definitions/252.html
Would you like to add more error handling for return values from functions like the following?

ippNewRequest â cupsGetDevices, httpAssembleURI
sigaction â main

Where did you store the files which were attached in the previous bug report since August 2015?
How will corresponding software evolution be continued?

In answer to your first question, since Github does not have a way to import attachments into their issue tracking system yet, anything that was not identified as a simple unified diff were lost in the transition over to Github.
I don't understand your second question - all we have done is move CUPS over to Github, but the same people are working on it and the same development process is in use.  The only change that Github brings is the concept of a "pull request" which is (for some) an easier way for contributors to provide patches to the project, but those are incorporated using the same development process on our end (i.e. same as if you sent us a unified diff).

…, since Github does not have a way to import attachments into their issue tracking system yet,

Were the corresponding interfaces improved a bit for the management of attachments in the meantime?

anything that was not identified as a simple unified diff were lost in the transition over to Github.

I attach the archive (from 2015-08-11) again:
source_code_analysis1.zip
Do you get further ideas from such files which I generated with the help of the asterisk functionality from the Coccinelle software?

After review we have decided not to address this issue.

I would appreciate a bit more constructive feedback.
How long are you going to keep exception handling incomplete in your software?


Overflow on The Big Picture

Thanks for the method of adding a background image for bootstrap 3 pages.  I'm using bootstrap 2.3.2.  I got the image to appear, but, as you can see from the attached screenshot, it extends below the footer when displayed on a screen larger than the content.  I've tried various ideas with overflow, but can't get rid of the excess image below the footer.  Any suggestions?
Thank you.

Big Picture is more for a one screen sort of landing page. I would try taking a look at Full to see if that better suits your needs. A theme like Full will probably do what you're looking for a bit better.


update deps to support airbnb-base 15 and eslint 8

Fixed #251 , #264

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ci:component:github.com/gardener/autoscaler:v0.16.1->v0.17.0]

*Release Notes:
Added support for 12 new AWS instance types and 1 new Azure Instance Types

Do not return errors while fetching details for an unmanaged node.

Avoids panics when VM type isn't found during scale from zero

Fetches the VM from the correct map for MCM provider Azure and hence doesn't panic anymore

/close will open another PR in favour of minor release.


[Bug] Lint position on code is off and mustache braces are errored

Description
Lint position on code is off and mustache braces are errored
Important Details

Version: Cloud
OS: Win10
Browser: Chrome
Environment: Prod

[ ] https://www.loom.com/share/811affcac0354c0a8aeca15c9ade355f


Error moving from site page to library: Error information is 'expectingBaseExtension'.

Category

[x] Bug

Describe the bug
When moving between a site page and library using the left (team) or top (communication) site nav, a Client Side Extension Application Customer fails to load properly.
Steps to reproduce
Create the extension

Create a brand new Application Customizer

https://docs.microsoft.com/en-us/sharepoint/dev/spfx/extensions/get-started/build-a-hello-world-extension
Include client side assets
Do not allow tenant deploy

In onInit, add a console log to verify it's successfully loading.
Create a production .sppkg file.
Upload the .sppkg to the app catalog of a SharePoint Online tenancy (I'm using First Release but I believe this happens in standard as well).

Test the extension

Create a modern Team site.
Add the extension to the site.
Open the developer tools Console
Open the site Home page
Verify the console message appears.
Click Documents in the left nav
Note the error:

Uncaught (in promise) Error: Failed to create application customizer 'ClientSideExtension.ApplicationCustomizer.'. Error information is 'expectingBaseExtension'.

Expected behavior
The customizer reloads properly.
Environment details (development & target environment)
The customizer does not reload properly and additional errors and issues may appear in the page depending on what the extension is expected to to.

Your Developer Environment:

Windows 10

Target Environment:

SharePoint Online

Framework:

N/A

Browser(s):

Chrome v84
Edge v84
Firefox v79

Tooling:

VS Code 1.48.0 | SPFx v1.11.0

Additional details:

The same issue happens with a Communication site that has the Documents library in the site nav.
Reloading the library page or copying the URL and pasting it into the address bar properly loads the extension.
The issue does not occur if you have a Hero web part where a tile points to the Document library.
Moving from a library page to a site page does not trigger the issue.
Moving from a site page to another site page does not trigger the issue.
Moving from a library page to another library page does not trigger the issue.

Additional context

We use the extension to provide Analytics tracking of interactions with SharePoint pages.  This issue causes tracking to be lost after moving from a site page to a library, or vice versa.

I am having the same problem going from site page to list.  Seems to have happened about the time the New Item button became a colored button.

Same problem. Custom command and activates on selecting a folder or a document. Refreshing solves the problem but not all the time. Gives below error.
Uncaught (in promise) Error: Failed to create application customizer 'ClientSideExtension.ApplicationCustomizer.1a380c38-73c4-4afb-9c91-c4eba9ccda58'. Error information is 'expectingBaseExtension'.
at listview-host-assembly_default_4208c255300223c76f3e1ea8ae09d6d1.js:1
at async Promise.all (index 0)
e.prototype._createApplicationCustomizer = function(t) {
var n = this
, r = new s._QosMonitor("ApplicationCustomizer.Create");
return this._extensionManager.createExtension(t.clientSideComponentId.toString(), t.clientSideComponentProperties, function(e) {
return tt.delayExtensionsLoading ? n._applicationCustomizerContextFactory.getApplicationCustomizerContext(t) : n._applicationCustomizerContextFactory.createApplicationCustomizerContext(t, e, !1)
}).then(function(e) {
return r.writeSuccess(n._createQosExtraData(t)),
e
}).catch(function(o) {
v**ar i = new Error("Failed to create application customizer '" + t.tag + "'. Error information is '" + o.message + "'.");**
throw r.writeExpectedFailure("FailedCreateExtension", o, n._createQosExtraData(t)),
s._TraceLogger.logError(e._logSource, i),
i
})
}

There was another problem related to the application customizer navigated event no firing or firing too early that prevent detection of a new page.  That problem may have been fixed with the update that inserted this bug.  Not sure if they are related.  I have a  bit more testing to do, but I am no longer seeing a problem associated with the navigated event as long as I never go to a site page.

Our issue has to do with the list view customizer and it suddenly stopped working. Did an upgrade to the latest spfx framework and updated all outdated packages still unless you refresh the command won't launch with the error.

I am aware of an issue with navigatedEvent firing twice if you are on a Communication site and use the top nav to go to another site.  I should probably file an additional defect for that, now that I've narrowed down the reproduction steps.
But as sabarinadh, this isn't about the navigatedEvent.

SP engineering is aware of this & actively working it... will post more if/when I learn more

Most likely related to this issue: We are seeing that the pageContext object in our appcustomizer is not getting updated when navigating from a page to a list which breaks our solution.
Sometimes the navigatedEvent triggers twice. The second time the pageContext is correct.

Sometimes it never triggers.
Get Outlook for iOShttps://aka.ms/o0ukef

From: Oliver Zeiser<EMAIL_ADDRESS>Sent: Friday, August 28, 2020 9:23:51 AM
To: SharePoint/sp-dev-docs<EMAIL_ADDRESS>Cc: Jeffrey Childers<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [SharePoint/sp-dev-docs] Error moving from site page to library: Error information is 'expectingBaseExtension'. (#6198)
Most likely related to this issue: We are seeing that the pageContext object in our appcustomizer is not getting updated when navigating from a page to a list which breaks our solution.
Sometimes the navigatedEvent triggers twice. The second time the pageContext is correct.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/SharePoint/sp-dev-docs/issues/6198#issuecomment-682569383, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACWWN2I5MQFTJB6GMGT6RFTSC6VWPANCNFSM4QJ6PUBQ.

Any estimate on when this will get fixed? I so wished the spfx platform was more reliable...

Rough approximate timeline would be good so we can set expectations for the business. Asking them to do a workaround may not solve work for the long term.

Any updates on this?

Feeling the pressure of using open source. This should have been broken in so many environments and wondering how people are dealing with it.

This is very critical for us. @VesaJuvonen, @andrewconnell, can you say anything new about progress on this issue? It's pretty annoying that such major bugs appear and they are not fixed quickly - in my eyes it makes SharePoint Framework not reliable enough and too often we have to explain ourselves to customers using "it's Microsoft's fault".

FYI - I'm not Microsoft, so it's not my place to speak for them on the status of the issue...

The fix for this has been checked in and will be rolling out across the service over the next week.

Also - I want to confirm / clarify one thing, as there have been some other bugs logged in our system that seem to be based on a misunderstanding of what should be happening here.
OnInit fires once per extension load.  If you swap from site to site, page to page, or page to list / list to page, and there is a "fast" navigation, OnInit will not fire.
If you need things to happen on every page navigate, you need to hook into the onNavigate event
this.context.application.navigatedEvent.add(this, () => {   //your function; });
.  Elio has a nice blog post about it here - https://www.eliostruyf.com/handling-navigation-in-a-sharepoint-framework-application-customizer/ .  His solution is a bit brute-force, where every navigate event does a full placeholder render, but you can get the idea.

Thanks, @patmill. Should we temporarily put the solution in place or can we wait for a fix (if it is going to be rolled out soon).

@patmill should the issue be fixed now? Because the issue with the pageContext still exists for me. When I navigate from a page to a list, the pageContext is not correct unless I do a full page reload. So to be more exact, when navigating to a list in an application customizer, this.context.pageContext.list is undefined.
Also when navigating back and forth between two libraries, the navigatedEvent you mentioned above does not trigger at all at some point.

@patmill the issue is still present, when can we expect this resolved?

@patmill I need some clarification in regards to when a OnInit for a ListViewCommandSet Extenstion should fire. Previously it would run when navigating to the list where the extension is enabled. It does not do that anymore.
The following is what is happening in our scenario:
A user loads a 'normal' page, the Extension is not loaded and therefore the OnInit is not triggered.
The user navigates to the list where the Extensions is installed. The extension is loaded but the OnInit is not triggered.
We can not add the navigation event listener when the OnInit is never triggered.
The only way the OnInit is triggered is if the user reloads the list page

@OliverZeiser  - The fix is rolling out this week (we found a group of issues in this area last week across a couple of teams that were focused on), so it will depend on when it reaches your particular farm / tenant.
@espen-fossum = "The extension is loaded but the OnInit is not triggered" - are you saying that the extension doesn't execute (and your command set isn't present), or that it is present, but onInit isn't called?  Also, the navigation event listener doesn't exist on a command set, only an application customizer.  Not sure exactly what you are doing.

@patmill The code is loaded but the OnInit is not triggered when navigating from another page. The workaround i found was to use 'data-interception="off"' on the anchor element linking to the list from our page. This circumvents the "fast" navigation and the OnInit it triggered.
I only mentioned the navigation event listener in response to what you said about OnInit not firing when navigating, We are not using or trying to use the event listener in our command set extension. We are only trying to get the command set extensions OnInit to trigger when navigating to the list.

I am experiencing the related issue from #3836 where the navigatedEvent is not firing when navigating between pages -> lists/libraries in an ApplicationCustomizer generated with SPFx 1.11.0

I am experiencing the related issue from #3836 where the navigatedEvent is not firing when navigating between pages -> lists/libraries in an ApplicationCustomizer generated with SPFx 1.11.0

(sorry for not keeping on track of these).  So, the comments added after Sept 24 are not related to the main issue, so I'm going to close this.  We believe the bug linked to 3836 has been fixed and rolled, and onInit is only expected to fire when the extension is first initialized, not on every navigate.  If at all possible, the extension is kept "running", and we don't have to pay the cost of initializing it.


Kit Builds via API

Hi, I see in the php sdk documentation there is the ability to build kits from the api.  However, I don't see any functionality in the library -
https://developer.intacct.com/api/inventory-control/inventory-transactions/#create-build--disassemble-kit-transaction-legacy
Has this been removed or replaced by something else?  Any help would be greatly appreciated.
Thanks.
Evelyn

I realized that this code doesn't look to have been written/implemented yet.   Attached are 4 class files that add the ability to create kit builds.   Please feel free to add if desired.
Kit Build Code.zip
Thanks.

Does this need to be added to the SDK or just to the API documentation?

Needs to be added to the SDK.   The api documentation looks to already exist.
Thanks.
[http://maplehill.com/wp-content/uploads/2019/11/mh_signature_logo-1.png]
Evelyn Straight
VP Information Technology & Business Optimization
c:<PHONE_NUMBER>
Kinderhook, NY
maplehillcreamery.com
[cid:facebook-logo_ba292b92-0a29-47a6-8e9e-57ef65c6f908.png] https://www.facebook.com/MapleHillCreamery  [cid:instagram-logo_5d615c98-e4e0-4e5d-9faf-c8252130faea.png] https://www.instagram.com/maplehillcreamery  [cid:pinterest_683b942b-0eee-42a9-b047-019dcaaab99f.png] https://www.pinterest.com/maplehillcreamery  [cid:twitter_8eaa9602-b8db-453c-b9c1-db6439b4f477.png] https://www.twitter.com/maplehillcreamery
DISCLAIMER: This electronic mail message and any attached files contain information intended for the exclusive use of the intended addressee and may contain information that is proprietary, privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any viewing, copying, disclosure or distribution of this information may be subject to legal restriction or sanction. Please notify sender if you are an unintended recipient and delete the original message without making copies. Thank you.
From: Coleen<EMAIL_ADDRESS>Sent: Tuesday, June 2, 2020 12:14 PM
To: Intacct/intacct-sdk-php<EMAIL_ADDRESS>Cc: Evelyn Straight<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [Intacct/intacct-sdk-php] Kit Builds via API (#157)
Does this need to be added to the SDK or just to the API documentation?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/Intacct/intacct-sdk-php/issues/157#issuecomment-637689031, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AO5KDKJSP22BYJCAKOWLLETRUUXOPANCNFSM4NQFAEWQ.

Could you or your team submit a pull request with your changes?  Thanks!


Cannot access MediaPipe npm from CDN

It seems that MediaPipe npm has been blocked by the chrome browser since yesterday. I cannot load related code & models from MediaPipe CDN. Has anyone faced a similar problem? You can test the following links:
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Hi @TomHsiao1260, Could you please share the error logs to investigate the issue further. Thanks!

Hi, thank for the quick reply! I think it's a temporary issue from cdn.jsdelivr.net and it works well now. So I close this issue.


users: upper-case email causes issues with user profile

The issue was moved from the Zenodo board.
Steps to reproduce:

Go to Zenodo (or an Invenio instance) without being logged-in
Sign up and put any part of the email address in upper-case letters (e.g<EMAIL_ADDRESS>After that go to the user profile account settings page and try to change your username or full name
An error is returned saying<EMAIL_ADDRESS>is already associated with an account (see screenshot)

Unless I'm wrong, email addresses are not case sensitive (i.e. gmail, mailchimp do not accept diff addresses with only capital diffs). I'm not sure this applies.

I think the problem here is that it behaves as if it was case-sensitive. With the nickname we store a case preserving field, and  a lowercase version of the nick name......I think something similar has to happen for the email, or make sure it's always stored lowered cased.


Even I am facing issue can't upload sppkg file of 11mb to sitecollection app catalog

          Iam facing the same issue. How to solve this problem.

m365 spo app add -p $(sppkg file) --overwrite --scope sitecollection --appCatalogUrl $(site url)

Error: Request body larger than maxBodyLength limit

sppkg file is 11mb
m365 cli v4.2.0
node v16.3.0
should i raise as new issue?
Originally posted by @suren-ms in https://github.com/pnp/cli-microsoft365/issues/2120#issuecomment-988539588

Hi @maheshpalle
Few questions:

Is there a reason why you are using an old version of Cli (v4.2.0)? Do you have the same issue in our latest release?
Is this something that worked before, or did you encounter this recently?

Looking at the code, there might be a possibility that this doesn't work for large files. We might have to implement uploading in batches.

Hi @maheshpalle, seems like I cannot reproduce your issue. Just uploaded a file of 15MB to an app catalog and it works just fine. Can you give any more details?


Service error on Ubuntu 14.04

I receive this error every time I run "puppet agent --test" and the open-vm-tools service is running already.
Error: Could not start Service[open-vm-tools]: Execution of '/etc/init.d/open-vm-tools start' returned 1: * Starting open-vm daemon vmtoolsd
Error: /Stage[main]/Openvmtools/Service[open-vm-tools]/ensure: change from stopped to running failed: Could not start Service[open-vm-tools]: Execution of '/etc/init.d/open-vm-tools start' returned 1: * Starting open-vm daemon vmtoolsd

What version of operating system, Open VM Tools, and Puppet are you using?

Unbuntu 14.04 Server
Puppet 3.7.5
Open VM Tools 2:9.4.0-1280544-5ubuntu6.2
On Fri, Apr 10, 2015 at 1:39 AM, Mike Arnold<EMAIL_ADDRESS>wrote:

What version of operating system, Open VM Tools, and Puppet are you using?
—
Reply to this email directly or view it on GitHub
https://github.com/razorsedge/puppet-openvmtools/issues/1#issuecomment-91436701
.

And I should have read the title of the issue to know one of those answers... :-(
Try passing the parameter service_hasstatus => true in the main class.
class { '::openvmtools':
  service_hasstatus => true,
}

I am still receiving
Error: Could not start Service[open-vm-tools]: Execution of
'/etc/init.d/open-vm-tools start' returned 1: * Starting open-vm daemon
vmtoolsd
Error: /Stage[main]/Openvmtools/Service[open-vm-tools]/ensure: change from
stopped to running failed: Could not start Service[open-vm-tools]:
Execution of '/etc/init.d/open-vm-tools start' returned 1: * Starting
open-vm daemon vmtoolsd
although the service is in fact running.
On Fri, Apr 10, 2015 at 10:09 AM, Mike Arnold<EMAIL_ADDRESS>wrote:

And I should have read the title of the issue to know one of those
answers... :-(
Try passing the parameter service_hasstatus => true in the main class.
class { '::openvmtools':
service_hasstatus => true,
}
—
Reply to this email directly or view it on GitHub
https://github.com/razorsedge/puppet-openvmtools/issues/1#issuecomment-91570504
.

I have pushed version 1.0.0 to the Puppet Forge.  Please let me know if this fixes the problem.

Mike,
This seems to have fixed it. Thank you!
On 4/12/15, Mike Arnold<EMAIL_ADDRESS>wrote:

Closed #1 via 21cd8c1cb2ab1f1c3a242b2ded4dcee5823dd697.

Reply to this email directly or view it on GitHub:
https://github.com/razorsedge/puppet-openvmtools/issues/1#event-279035082


Use csv reader instead of split to read csv data.

There might be comma in the csv formatted data itself. A naive split will generate malformed data and cause errors. Using csv.reader solves the issue.
Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @aaltay
PTAL, thx!

retest this please

Run Python PreCommit

Rebased to take in the fix.

retest this please

retest this please

Run Python PreCommit


TabView swipeable

I have 3 tabs and inside of each tab I have a List component.
Is it possible to disable changing active tab when a user swipes the content of one tab. I want to change tabs only when the tab title is pressed.
Because I have onPress event on List item component and the behavior is really bad I can't press the item because the tab starts the transition from one tab to another. Or maybe I did something wrong with the components order?

Hi @mishkeTz ! Thank you for your reply. One of the possible solutions is using TabBar instead.
Example:
import React from 'react';
import {
  StyleSheet,
  View,
  Alert,
  ListRenderItemInfo,
  ViewProps,
} from 'react-native';
import {
  TabBar,
  Tab,
  ListItem,
  List,
  ListItemProps,
  Text,
} from '@kitten/ui';

interface State {
  selectedIndex: number;
}

export class Example extends React.Component<any, State> {

  public state: State = {
    selectedIndex: 0,
  };

  private data: { title: string; description: string }[] = [
    { title: 'Item 1', description: 'Item 1 description' },
    { title: 'Item 2', description: 'Item 2 description' },
    { title: 'Item 3', description: 'Item 3 description' },
    { title: 'Item 4', description: 'Item 4 description' },
    { title: 'Item 5', description: 'Item 5 description' },
    { title: 'Item 6', description: 'Item 6 description' },
    { title: 'Item 7', description: 'Item 7 description' },
    { title: 'Item 8', description: 'Item 8 description' },
    { title: 'Item 9', description: 'Item 9 description' },
    { title: 'Item 10', description: 'Item 10 description' },
  ];

  private onSelect = (selectedIndex: number): void => {
    this.setState({ selectedIndex });
  };

  private onListItemPress = (index: number): void => {
    Alert.alert(`Item ${index} pressed`);
  };

  private renderItem = (info: ListRenderItemInfo<{ title: string; description: string }>)
    : React.ReactElement<ListItemProps> => {

    return (
      <ListItem
        title={info.item.title}
        description={info.item.description}
        onPress={this.onListItemPress}
      />
    );
  };

  private renderListShell = (title: string,
                             data: { title: string; description: string }[]): React.ReactElement<ViewProps> => {

    return (
      <View>
        <Text>{title}</Text>
        <List
          data={data}
          renderItem={this.renderItem}
        />
      </View>
    );
  };

  private renderList = (): React.ReactElement<ViewProps> => {
    const { selectedIndex } = this.state;

    switch (selectedIndex) {
      case 0:
        return this.renderListShell('List 1', this.data);
      case 1:
        return this.renderListShell('List 2', this.data.reverse());
      case 2:
        return this.renderListShell('List 3', this.data.sort(() => .5 - Math.random()));
    }
  };

  public render(): React.ReactNode {
    return (
      <View style={styles.container}>
        <TabBar
          selectedIndex={this.state.selectedIndex}
          onSelect={this.onSelect}>
          <Tab title='Tab 1'/>
          <Tab title='Tab 2'/>
          <Tab title='Tab 3'/>
        </TabBar>
        {this.renderList()}
      </View>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});

Great. That's what I needed.

Great instead of fixing the component, use another one not shown in the docs.. awesome quality.

@gochev

It works in the latest library versions. KittenTricks proves it.
Docs
If you still have problems with implementation - why not just share a reproducible demo instead of opening a discussion with a sort of aggression?

@artyorsh can you please indicate in which of the KittenTricks examples this technique is available?
In my case, I have a TabView with two Tabs inside and in one of these Tabs there is a ScrollView with horizontal prop as true. So I would like to disable the Tab change when the user scrolls and leave this behavior active only when the Tab title is pressed. If you have a better suggestion, it would be most welcome :)

@joaodos3v
latest version (5.1.0) allows disable the swipe using swipeEnable prop.
<TabView
...
swipeEnabled={false}


MolDraw2DQt draws brackets incorrectly

Describe the bug
MolDraw2DQt draws brackets as closed rectangles.
The problem is the call to drawConvexPolygon()
Configuration (please complete the following information):

RDKit version: master
OS: all

Fixed in #5387


 Previously I mistakenly make the number of observations displayed in scientific notation if the number is large.

After the fix, it will be:

Thanks for fixing this Dave!


Some objects are not defined

Hi,
I installed timbre.js through bower and I was trying to reproduce some examples from the website.
I run through some warnings like :
T("ndict.key") is not defined
T("keyboard") is not defined

Using the file available for download on the website of the project doesn't fix the issue. Am I missing something ?

Okay, I just had to import "src/extras/keyboard.js". It could be great to indicate this on the "Pragmatic Synth" part of the website.


Generate multiple attachment blocks, not one with a list

When all attachments are included in one list, Docassemble will attempt to render all of them. This can make troubleshooting an interview a lot harder.

When you say render, do you mean it actually tries to generate all of them, even if some are disabled? Or do you mean that the entire list is printed out with the "source" tab?

It tries to generate them, even if they are disabled (disabling happens at the ALDocument level, not the attachment level).
Most recently, this manifested as the other_parties in the instructions document, which doesn't use a skip undefined modifier, triggering a question for lab student that was pretty hard to track down.


What about Router per View?

Checklist

[X] There are no similar issues or pull requests for this yet.

Is your feature related to a problem? Please describe.
Introduction
At #767, I talked about building a RedisCLI view like in the Flask Admin.
I started building this view, but I realized that routing in the view is a bit different from the Flask Admin.
Flask Admin uses one Blueprint (Router equivalent in Flask) per view but SQLAdmin registers exposed methods directly to the main Starlette application instance (BaseAdmin.admin), not a dedicated Router instance of the view.
So in my case, if I do this:
from sqladmin import BaseView, expose

class RedisCLIView(BaseView):
    name = "Redis CLI"
    redis_instance = None
    identity = "rediscli"

    @expose("/rediscli", methods=["GET", "POST"], identity="index")
    async def index_page(self, request):
        # Do something with redis_instance
        return await self.templates.TemplateResponse(request, "sqladmin/redis/index.html")

admin.add_view(RedisCLIView)

The url_for method won't work as expected.
url_for("admin:rediscli.index") will raise an error because the view is not registered as a Router with a name ("rediscli") and the exposed method is not registered as a Route with a name ("index").
url_for("admin:index") will work because exposed methods are registered as a Route to the main Starlette application instance.
What is the problem?
In general, every view is expected to have an entry point (like a home page) and other pages. This is generally the index and other pages.
What happens if we have multiple views with the same entry point name?
from starlette.applications import Starlette
from sqladmin import Admin, BaseView, expose

class RedisCLIView(BaseView):
    name = "Redis CLI"
    redis_instance = None
    identity = "rediscli"

    @expose("/rediscli", methods=["GET", "POST"], identity="index")
    async def index_page(self, request):
        # Do something with redis_instance
        return await self.templates.TemplateResponse(request, "sqladmin/redis/index.html")

class RedisCLI1(RedisCLIView):
    name = "Redis CLI 1"
    redis_instance = None

class RedisCLI2(RedisCLIView):
    name = "Redis CLI 2"
    redis_instance = None

app = Starlette()
admin = Admin(app)
admin.add_view(RedisCLI1)
admin.add_view(RedisCLI2)

Even though RedisCLI1 and RedisCLI2 are different views, they both have the same entry point (index) with the same URL (/rediscli).
Thinking RedisCLIView comes from SQLAdmin, will cause unexpected behavior because the index method is already registered.
Describe the solution you would like.
Solution
Every view should have its own Router and its exposed methods should be registered to that Router.
Describe alternatives you considered
I'm actively using Starlette Admin, it doesn't have a built-in expose method and it has a similar structure to SQLAdmin. The problem that exists here also exists there.
I tried to adopt Flask Admin to work with Starlette but that's not an easy job 😆.
Additional context
Other Problems
Since the index, list, details, delete, create, edit, export, and ajax_lookup endpoints are registered directly to the main Starlette application instance, we can't override them for each view.
https://github.com/aminalaee/sqladmin/blob/d062cfa845fdbd2f09cbf0a1335ea8cce6e285c9/sqladmin/application.py#L387-L419
The user might need to override the list method in the ModelView but might require different logic per model. So the user must override Admin directly.

What I learned so far
Flask Admin Routing
As I said, Flask Admin creates a dedicated blueprint for each view and they are all registered directly to the application.
Consider two views: UserView and PostView. UserView has a blueprint named user_view and PostView has a blueprint named post_view.
Flask Admin also registers an AdminIndexView by default and its blueprint is named admin.
In Flask Admin, every view has an exposed method named index_view.
So the URL-building process is like this:

/admin/: url_for("admin.index_view")
/admin/user: url_for("user_view.index_view")
/admin/user/new: url_for("user_view.create_view")

Flask Admin registers AdminIndexView before all other views. That's why I failed when I tried to adopt its core to use Starlette. AdminIndexView occupies all URLs starting with /admin/* when I use Mount.
Starlette Routing
Mount builds an application (if not provided), and the URL that is used while mounting an application, router, or group of routes is occupied by this application.
Route naming: we can name our routes with a colon separator.
admin_routes = [
  Route(..., name="admin:index_view"),
  Route(..., name="admin:user_view:index_view"),
  Route(..., name="admin:rediscli1:index_view"),
  Route(..., name="admin:rediscli2:index_view"),
]

Conclusion
Each view gets registered (mounted) to the main application. Not to an application to be mounted to the main application.
Each view has a dedicated blueprint (Router or Mount instance) and each exposed function gets registered to this blueprint.
Questions

Do we need something like AdminIndexView?
Do we need a separate application instance to mount admin to the main application?
We can name expose functions like rediscli:index_view and they'll be directly registered to the SQLAdmin application and will be accessible by doing url_for("admin:rediscli:index_view") but what about the URLs?
How does moving list, details, delete, create, edit, export, and ajax_lookup methods to the views as exposed methods sound like? This is the Flask Admin approach to the problem.

In the end problem remains: View can not have a name prefix... So if the user has two custom views with the same exposed URLs, there will be conflicts...


v-bind not working with computed properties in SSR

Vue version
8edf4b3
Link to minimal reproduction
https://sfc.vuejs.org/#__SSR__eNp9kM1uhDAMhF/FyoVFWsgdAVJfoedcWOJtWZEf2YGqQrx7HaiqVSv1lhl7PnmyqZcY63VB1aiWR5piAsa0xN74ycVACTYYg4tLQgs73Ck4KGS/MN74MXhOMp4DQfezdrmU0PVQENqiNL7VJ1eIIhK6OA8JRQG0dlphnAfmzih5G3XYAK9oj7kWU6xWP8VEcvqcEXgMEa04dcZsOXCc0sBa3SZvL4cqM8/4/Tgk53p1VWe1yg2xfnDwUv6Im+8BG9WcwOxJ26yNek8pcqM138f8ZQ+uA71pedW0+DQ5rJFddaPwwUgCNur6xNBirkgVobdISP8xf63+4WasNNrV/gWkXprz
Steps to reproduce
Open link, make sure its on PROD with SSR ON. Near line 20 in SSR tab we have an _unref call. But it isn't imported first.
What is expected?
For build to succeed. (_unref to be imported from vue prior to its call.)
What is actually happening?
ReferenceError: _unref is not defined
System Info
No response
Any additional comments?
https://github.com/vuejs/vitepress/issues/876, https://github.com/nuxt/framework/issues/5546
@skirtles-code observed that it's not just computed, anything deemed setup-maybe-ref will fall into the same problem:
https://sfc.vuejs.org/#__SSR__eNp9UE1rhTAQ/CtLLio8zV1U6F/oqYdcfLq2PjQJu9FSxP/eTezh0UIPgczszOzHoV68r/YNVa0aHmj2ARjD5jtj59U7CnAA4QQnTORWyESaGWvs4CwH2BjfoIW8gLaLsjwjHLMCwNj4LtHgFkeiiuK8MLbRVyNpISDg6pc+oCCAZpx3GJaeuTVK/kYlGuAVx1TXQgrV6CebQA5fCwIPzuMoTBVjjmhIvWvYy/tsxzwhmS7OdqZBoq9TN3XtWq69rx7srFwj2c1PgY2qr8DIyQ0iNuojBM+11jwN8YYPrhy9a/lVtNkwr1ghr+Wd3CcjSbBRt6cMLeSOVBLaEQnpv8xf0j+5MVY2OtX5DXtJnx4=

@LinusBorg It is in the JS tab, but not in the SSR tab.

I have been experiencing a similar issue on v3.2.37. I am using vite & vite-ssr. The issue seems a bit different for me however.

I have a component that looks like this

<template>
	<RouterView class="no-layout" />
</template>

During dev, works just fine. Once built and running in prod, we get the _unref is not defined error.

If I import `computed` and actually use it like this

<template>

test

	<RouterView class="no-layout" />
</template>

Then once built, the previously _unrefs are transformed into vue.unref, which is correct and makes the app work again.
Now, this is the first time really diving into the vue core, so I might have been looking at the wrong thing, but I did some digging and found a couple things.

bug was introduced after 3.2.26
it only happens for me when I don't import computed and use it.
logging ast before and after this transform call to check what the difference is, I found that the UNREF symbol was missing from the helpers property when I did not import computed
Looking even further I found the UNREF helper symbol was being added when computed was imported during this traverseNode call.

This is as far as I got for my case. I look into the traverseNode code, but couldn't find anything glaring at me that could be causing it. It does loop thru the transformNodes tho, so I am going to assume something is going wrong within those calls.
Looking at the possible transformers being run, the only one that caught my eye was ssrInjectCssVars, but again I am not currently seeing anything glaring at me that could be wrong.

PR for the fix: https://github.com/vuejs/core/pull/6489


Client crash on fade-to-black

Game crashes when a fade-to-black occurs, such as when starting/ending a cutscene and when using canoes to travel. The most reliable way to trigger it is to use a canoe.
Log indicates an out of bounds exception:
2019-11-03 00:02:35 [Client] ERROR net.runelite.client.RuneLite - Game crash: null
java.lang.ArrayIndexOutOfBoundsException: 1880717
	at lx.gh(lx.java:695)
	at bt.kn(bt.java:11432)
	at v.kd(q.java:11333)
	at je.ja(je.java:9508)
	at je.ja(je.java:9533)
	at bi.jb(bi.java:9391)
	at client.fq(client.java:4539)
	at client.au(client.java:1683)
	at bg.ez(bg.java:381)
	at bg.run(bg.java:335)
	at java.lang.Thread.run(Thread.java:748)

OS: Windows 10
RuneLite version: 1.5.38
Launcher version: 1.5.2
Oldschool revision: Rev 185

Did some more testing

GPU Plugin makes no difference
Hardware acceleration makes no difference

Do you have your minimap moved out of it's normal location?

Indeed I do, moving it back to its normal position seems to fix it. I've had it snapped to the bottom-right snapbox

so to repro this I need

Stretched mode enabled
The minimap locked into one of the bottom snap points

having it not in a snap point does not cause the crash

Client size must be ~1900x1050 or higher
There must be a dot drawn somewhere near the bottomish of the minimap
for canoes atleast, I need the bottom line tli, not the box tli

So this is caused by the overlayrenderer always layouting stuff to where it should have been last frame, which happens to be off the frame in this case

Apparently this can happen somehow on login now with some other odd configuration

Turns out I didn't test when the the minimap isn't snapped and is off the canvas...

This was fixed internally.


chore(webpack): Add simput config that marks react as external

Adds extra npm scripts for building vera app and simput-external-vera.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Docs: fix typos in copyright comments

@WangYuan-cn

patched on https://github.com/Cambricon/mlu-ops/pull/234


map.flyTo shifts canvas

Upon upgrading to version 1.8.0, I've noticed new intermittent behavior with the map.flyTo function, where all items on the canvas shift, and the tiles remain stationary. This is fixed after a pan of the map or re-zooming.
Steps to reproduce
Steps to reproduce the behavior:

Set a lat/lng and zoom
run map.flyTo() with a lat/lng that is near the map center (within view) and the same zoom
notice markers on canvas have shifted but tiles underneath have not changed

Expected behavior
I expect the map to pan to the new centerpoint and update the tiles as well
Current behavior
Items on canvas are moving, and the tiles/center point of map is staying the same
Environment

Leaflet version: 1.8.0
Browser (with version): Chrome Version 100.0.4896.88
OS/Platform (with version): macOS Catalina 10.15.5

Minimal example reproducing the issue
In development -- hoping if others encounter they can add a functioning example, it's still intermittent albeit reproducible for me.

Demo
Click multiple times on the Marker-Icon (calls flyTo)

Looks like this is probably related to map.getCenter() returning the same (mutable) object if the map didn't move (map._lastCenter), where mutating it leads to all sorts of issues. However, git blame shows that this behavior was present for at least 7 years. What could have changed? Might need some git bisecting.
@Sillson which version (that doesn't have the issue) have you upgraded from that doesn't exhibit this behavior?

The workaround for now is to do map.getCenter().clone() if you're mutating the object afterwards.

@mourner v1.6.0 did not exhibit this behavior.

I still experience this Issue when using the latest main branch version. @Sillson Did it fix the issue on your side?

@SeboCoder can you try it please with https://leafletjs-cdn.s3.amazonaws.com/content/leaflet/main/leaflet-src.js

Using that file I get this errormessage

Managed to remove the errormessage by removing a 3rd party extention, but original issue is still there


Error rate 0% in report when no error rate is retrieved

Describe the bug
When the error rate cannot be retrieved from a provider, we fallback to 0% error rate and show it as Ok/valid in the output report
To Reproduce
$ ./bin/reliably slo report -v
DEBU[0000] Using config file: /Users/dmartin/.config/reliably/config.yaml
DEBU[0000] Loaded settings: map[auths:map[<IP_ADDRESS>:8000:map[token:***** username:dmartin35] reliably.com:map[token:***** username:dmartin35]]]
DEBU[0000] Loading manifest at reliably.yaml
WARN[0000] an error occured while getting a provider for resource: gcp
DEBU[0000] aws.AwsResource{arn:arn.ARN{Partition:"912823331559", Service:"apigateway", Region:"eu-west-3", AccountID:"", Resource:"/apis/8vdt1fhj3f"}}
DEBU[0000] Retrieve latency metrics From 2021-04-01 09:19:42.845416 +0200 CEST m=-86399.986385246 To 2021-04-02 09:19:42.845416 +0200 CEST m=+0.013614754
WARN[0000] an error occured while getting latency data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No latency value retrieved from cloud watch
DEBU[0000] aws.AwsResource{arn:arn.ARN{Partition:"912823331559", Service:"apigateway", Region:"eu-west-3", AccountID:"", Resource:"/apis/8vdt1fhj3f"}}
DEBU[0000] Retrieve error rate metrics From 2021-04-01 09:19:42.845416 +0200 CEST m=-86399.986385246 To 2021-04-02 09:19:42.845416 +0200 CEST m=+0.013614754
WARN[0000] an error occured while getting error percentage data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No error rate percent value retrieved from cloud watch

-----------
SLO report: (24h0m0s)
-----------
                   Actual  Target  Delta
  ✅ Error Budget  0.00    1.00    1.00%  You are under your error budget by 1.00 percent. You could tighten your budget, or could decrease
                                          the quality of the experience your application provides (e.g by reducing the amount of resources
                                          given to your application).

Expected behavior
Not showing the error rate line in the report when we could not compute/retrieve the value
or show unknown value:  ? , ---, N/A
Additional context
Add any other context about the problem here.

$ ./bin/reliably slo report -f simple
ERRO[0000] an error occured while getting latency data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No latency value retrieved from cloud watch
ERRO[0000] an error occured while getting error percentage data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No error rate percent value retrieved from cloud watch
SLO report: (last 1h0m0s)
✓ Error Rate: 0.00%. You are under your error budget by 1.00 percent. You could tighten your budget, or could decrease the quality of the experience your application provides (e.g by reducing the amount of resources given to your application).
✓ Latency: 0ms. The average latency threshold has not been exceeded.

@mick-roper do you have an idea on this one ? do you feel that's normal behavior ? or we shall handle nil / zero values, to know whether we were able to compute the value ?
Could we have some kind of output ?  would that make sense ?
-----------
SLO report: (last 1h0m0s)
-----------
                 Actual  Target  Delta
  ? Error Rate    ---    1.00    ---

  ? Latency       n/a    500ms   n/a

Btw, to reproduce, you ask for a period of one hour , on which no metrics are available

I think @dmartin35 idea to show --- to indicate no data was found should be ok. Users can potentially use the debug/verbose flag to see the errors, if any.

After looking at this for awhile I think we may need to settle for returning the error whenever a value can't be retrieved.
That is, rather than returning anything at all, if there's an error, we fail the whole process.
Reasoning:
Presently, ServiceLevelIndicators are calculated based on averaging all the values retrieved from the APIs per resources. If one of the values can't be retrieved or has an error, and we still collect and average the others, then the average would not be correct.
By returning the error, we force the user to insure that everything is working instead of giving partial success.
So the output of the above would become:
$ ./bin/reliably slo report -f simple
ERRO[0000] an error occured while getting latency data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No latency value retrieved from cloud watch
ERRO[0000] an error occured while getting error percentage data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No error rate percent value retrieved from cloud watch

Or the below, since we'd return on the 1st error we get
$ ./bin/reliably slo report -f simple
ERRO[0000] an error occured while getting latency data for resource: aws-arn:912823331559:apigateway:eu-west-3::/apis/8vdt1fhj3f => No latency value retrieved from cloud watch

Any thoughts @dmartin35 ?

I'm not totally sure about exiting the cli on first error occurred,
In the case you have multiple SLOs, you'll see nothing because one SLI of another SLO cannot be retrieved, is that not too hard ?
Regarding the error message, @Lawouach would like we avoid using logger for "conversing" with the user.
there is a related issue https://github.com/reliablyhq/cli/issues/154 already logged
In case we have one single value that can not be fetched for a SLI for a SLO, we could make its entire value "not available" (--- for example). That would still allow to see the other SLOs ?
but you're right this is not clear to me either which way we'd go

Seems to me a good idea to have "---" for the entire service if some data is missing, but still allow other SLOs to run. If failing on first is useful for users, a flag for failfast could be added.

Thanks @Xaah @dmartin35 ,
In order to make it so that we are able to print a blank line on errored metrics, I'll need to change how the internal report structure. I'll put something together in the PR for today..


Can I choose to output results and scripts to a different folder when running Model.RunAnalysis?

I want this too! #397

Duplicate of #397


Ledger-Cosmo Generic C++ Code make Error

[ 26%] Built target user_json_parser
make[3]: *** No rule to make target 'build_cosmos'.  Stop.
CMakeFiles/ledger_user_app.dir/build.make:57: recipe for target 'CMakeFiles/ledger_user_app' failed
make[2]: *** [CMakeFiles/ledger_user_app] Error 2
CMakeFiles/Makefile2:144: recipe for target 'CMakeFiles/ledger_user_app.dir/all' failed
make[1]: *** [CMakeFiles/ledger_user_app.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

I will investigate but in the meantime check at CircleCI config.
https://github.com/cosmos/ledger-cosmos/blob/8c389e18c92ba9bd6ad41780a938f07b0234e8fd/.circleci/config.yml#L12
If you run something like cmake -DDISABLE_DOCKER_BUILDS=ON . && make it will compile local code but it will not try to crosscompile the apps. Typically this is more efficient too.

Working on local. Thanks.

I will investigate but in the meantime check at CircleCI config.
https://github.com/cosmos/ledger-cosmos/blob/8c389e18c92ba9bd6ad41780a938f07b0234e8fd/.circleci/config.yml#L12
If you run something like cmake -DDISABLE_DOCKER_BUILDS=ON . && make it will compile local code but it will not try to crosscompile the apps. Typically this is more efficient too.

cmake -DDISABLE_DOCKER_BUILDS=ON . && make  Working on local for Now. Thanks

any reason why this ticket got reopened?


mask_0012.png for chest scene is wrong

The mask is inconsistent with the corresponding image.

Thanks for reporting! We will fix this


Fix broken integration test

Correct imports
Removed un-needed casts
Correct typos

Resolves #177

/test-e2e

/test-e2e

Seems we need a "check" for integration test

It seems not able to run in GitHub CI, maybe we need to run it in an external one.

@lzhecheng @edwardbadboy did you make progress running these tests on Jenkins?
I am actually surprised we cannot run this on Github CI. It is supposed to use a "plain" VM with sudo access. Maybe I'll take a stab today.

Hi Antonin, integration test is ready on our testing jenkins. We will deploy it on production jenkins this week.

@lzhecheng turns out it wasn't hard to run integration tests as a Github workflow: https://github.com/vmware-tanzu/antrea/pull/180. So I don't think we need to run them on Jenkins any more.

@antoninbas cool.


Azure - CryptographicException: Keyset does not exist

I have a Identity Server web app hosted on Azure. It has a .pfx file in it's root directory for signing. The problem is that when newly published it works perfectly fine but after some time it starts throwing CryptographicException: Keyset does not exist.
Based on  CryptographicException KeySet does not exists I would assume that it is a file access issue, but why out of the sudden azure is messing up with file access.

In azure you should be using this: https://azure.microsoft.com/en-us/blog/using-certificates-in-azure-websites-applications/

Thanks @brockallen. What if I will store the certificate as base64 in application config and load it from there ?

Well, apparently this:

after some time it starts throwing CryptographicException: Keyset does not exist.

Thank you. I'll try this approach.


& operator in ACC test

https://github.com/microsoft/lisa/blob/11e56c922ce510d5c66f0b76c3156944cd18a59e/microsoft/testsuites/acc/bvt.py#L46
I noticed a line that I think might be a bug, @shruti25ratnam did you mean to use the bitwise operator here? I suspect this should be 'and'. similar line right below it

@LiliDeng no response from the author, does this look right to you?

Looks like a no-op bug, since bool & bool ends up being the same as bool and bool, but I suspect it's slower since with and the interpreter won't evaluate the right side if the left side is False. The wouldn't be the case with &.

Sounds good, we can leave this as low-priority since it's essentially a style fix.

I wouldn't say style, it's definitely incorrect.

fixed


Remove unused frontend option

Looks like 3 years ago this was still used in some places so it was
added back. I hope it's entirely unused by this point! 680d151963ff5e55f0aa80c8dcb51cd19e4871c8

@swift-ci smoke test and merge

@swift-ci smoke test and merge


Create a Vulnerabilities in Vendored Dependencies Guide

Proposal
It's considered best-practice, when updating a dependency that fixes a vulnerability in a piece of software that vendors dependencies, ie. that can't be directly updated by the end-user, that the project issue their own disclosure of that vulnerability, and reach out to the CNA for the original vulnerability to add their advisory to the list of links.
This is the CVE way of communicating "we were impacted by this CVE, but we also fixed it".
Notes
Vendoring doesn't always require that deps are committed to source code. Case in point: Gradle/Gradle

Proposal:
https://docs.google.com/document/d/16JprHUpGO9f2hwQRjDJmAJrlCsJ38GQ5l3Rwd2qrr4s/edit

discussed in 14march wg call.  group agreed we should file a Pr to update the guide, comment there, and eventually merge the approved language


Correct clean bug that causes exception when partitionPaths are empty

This fixes #200
Corrected logic and added a test to detect the bug.

Updated the PR Prasanna.


Add zhanglingrebecca's file

created a branch, created a file and made a commit, and opened a pull request


Add back reverted changes in a fresh commit

Using a fresh branch and commit to get these changes back in.

Hi @brownd1978,
You have proposed changes to files in these packages:

JobConfig
Scripts

which require these tests: build.
@Mu2e/fnalbuild-users, @Mu2e/write have access to CI actions on main.
:hourglass: The following tests have been triggered for 55f3cab54fe3c1a392e6c85be3bff558cb3b47c3: build  (Build queue is empty)
About FNALbuild. Code review on Mu2e/Offline.

:sunny: The tests passed at 55f3cab54fe3c1a392e6c85be3bff558cb3b47c3.

Test
Result
Details

merge
:white_check_mark:
Merged 55f3cab54fe3c1a392e6c85be3bff558cb3b47c3 at 03464552fa72dc7d804d4ab94b5fe9bbbfbedf64

build (prof)
:white_check_mark:
Log file. Build time: 14 min 12 sec

ceSimReco
:white_check_mark:
Log file.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at 55f3cab54fe3c1a392e6c85be3bff558cb3b47c3 after being merged into the base branch at 03464552fa72dc7d804d4ab94b5fe9bbbfbedf64.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.


Add Cliff suggestions and also more tools blurbs

Purpose/implementation Section
What changes are being implemented in this Pull Request?
Updating more tool blurbs and adding Cliff's suggestions from the google doc.

URLs are the paranthesis problem again.


Devextreme extension Select options

How can I use the select options? I always getting an error.
passing
{
"select": [
"x.Nombre"
]
}
I get
"Message": "Unexpected character encountered while parsing value: x. Path '', line 0, position 0.",

If i try with {
"select": [
"Nombre"
]
}
I get
"Message": "Error parsing NaN value. Path '', line 1, position 1.",

what select options?
is this on the javascript side?

Sorry, it seems to be a problem of Newtonsoft when parsing the request

yes, the selection is always 'developer' controlled.
honestly we're using devex for yearss and have never seen 'select' been send from our controls

I always use 'select' option, overall with dxDatagrid, to bring only necesary fields, and not all fields, to reduce de amount of data with unnecesary fields. Tanks.

ok, if you really wanted something like that you could build the projection out of the select json easily.


Never merge fingerprints with different shas

Put in invariant check

for example, Aspect.toDisplayableFingerprint should produce unique names for  for all unique FP.shas.  Our group-by logic should not be more complicated than just sha.


Is there an SVD definition file for RP2040 Pico-w?

I am updating an existing RP2040 HAL written in Ada to support the Pico-w. Unfortunately, I can't find any definitions in the RP2040 SVD for it. Is it defined in another SVD, or is it forthcoming?

The SVD file applies to the RP2040 chip itself, so since the PicoW uses the same chip it should use the same SVD file. The wireless functionality is supplied by a chip connected by SPI to the RP2040 and is not part of the RP2040 itself.

Just to add to what James said, board-specific differences are covered by the files in https://github.com/raspberrypi/pico-sdk/tree/master/src/boards/include/boards

Oops, I didn't mean the chip itself, but the Pico board. It's hard to get the terminology correct. I was under the false impression that the RP Pico board had its own SVD file. In reality, only the RP2040 has one. I guess SVDs are not intended for describing boards.

I guess SVDs are not intended for describing boards.

Correct. SVD files are for describing "the system contained in Arm Cortex-M processor-based microcontrollers, in particular, the memory mapped registers of peripherals."

there is just one for RP2040


Support multiple versions in API reference

Description
This PR configures the dokkaHtml task from Dokka for supporting multiple versions in the API reference.
The task now archives the API reference of all Kotools Types versions in a new api/references folder.
This request includes the archived API reference of versions 4.2.0 and 4.3.0.
The latest API reference is also copied in a new docs folder for serving it through GitHub Pages.
We will update the settings of GitHub Pages for using this new folder after merging this request.
Finally, this request removes the push of the API reference to the docs branch from the deployment workflow.
This branch will be removed after merging this PR.
Checklist

[ ] Try to include the API reference of version 3.1.0.
[ ] Try to include the API reference of version 2.0.0.
[ ] Try to include the API reference of version 1.3.1.
[ ] Regenerate the latest API reference if needed.
[ ] Update the Unreleased section in changelog.
[ ] Review and merge the request.
[ ] Set the GitHub Pages target to the docs folder.

It could be interesting to isolate our Dokka configuration into a custom Gradle plugin.
Here's an article about improving the Gradle build script that shows how to create a plugin.

The version 3.2.0 doesn't build locally because of all the libraries included in the repository...
We will try to include the API reference of version 3.1.0 instead.

Running the dokkaHtml task on the version 3.1.0 fails with the following error:
Execution failed for task ':dokkaHtml'.
> ClasslikePageNode(NotEmptyCollection) does not belong to the current page graph so it is impossible to compute its path

Because this error repeats on earlier releases, the API reference will only include versions starting from 4.2.0.


Memory leak when building under Linux (v0.3.0 and master branch)

Hi,
I have a C++ project which uses lol-html as a static library.
I'm building it under c-api folder, using the command cargo build --release.
When using version v0.2.0 it works as expected and no warning about any memory leakage, however, when I'm building it under v0.3.0 or master branch, it seems that there is a memory leakage.
According to the test logs, the memory leak is occurring in lol_html_rewriter_build
Worth mentioning: the issue does not reproduce when doing the same under MAC OSX.
I built it with smart pointers and also without it (using the example here)
I'm attaching bazel test command (using google-pprof) which shows the memory leak (smart pointers case):
exec ${PAGER:-/usr/bin/less} "$0" || exit 1
Executing tests from //html-response-rewriter:http_filter_unit_tests
-----------------------------------------------------------------------------
WARNING: Perftools heap leak checker is active -- Performance may suffer
[==========] Running 13 tests from 3 test suites.
[----------] Global test environment set-up.
[----------] 9 tests from PathMatcherTest
[ RUN      ] PathMatcherTest.MatchPathPrefixCaseSensitive
[       OK ] PathMatcherTest.MatchPathPrefixCaseSensitive (0 ms)
[ RUN      ] PathMatcherTest.MatchPathSuffixCaseSensitive
[       OK ] PathMatcherTest.MatchPathSuffixCaseSensitive (0 ms)
[ RUN      ] PathMatcherTest.MatchPathExactCaseSensitive
[       OK ] PathMatcherTest.MatchPathExactCaseSensitive (1 ms)
[ RUN      ] PathMatcherTest.MatchPathRegexCaseSensitive
[       OK ] PathMatcherTest.MatchPathRegexCaseSensitive (4 ms)
[ RUN      ] PathMatcherTest.MatchPathPrefixCaseInsensitive
[       OK ] PathMatcherTest.MatchPathPrefixCaseInsensitive (0 ms)
[ RUN      ] PathMatcherTest.MatchPathSuffixCaseInsensitive
[       OK ] PathMatcherTest.MatchPathSuffixCaseInsensitive (0 ms)
[ RUN      ] PathMatcherTest.MatchPathExactCaseInsensitive
[       OK ] PathMatcherTest.MatchPathExactCaseInsensitive (0 ms)
[ RUN      ] PathMatcherTest.MatchPathRegexCaseInsensitive
[       OK ] PathMatcherTest.MatchPathRegexCaseInsensitive (6 ms)
[ RUN      ] PathMatcherTest.MatchAny
[       OK ] PathMatcherTest.MatchAny (2 ms)
[----------] 9 tests from PathMatcherTest (14 ms total)

[----------] 3 tests from RewriterTest
[ RUN      ] RewriterTest.RewriterAction
[       OK ] RewriterTest.RewriterAction (4 ms)
[ RUN      ] RewriterTest.ElementSelector
[       OK ] RewriterTest.ElementSelector (1 ms)
[ RUN      ] RewriterTest.HtmlContent
[       OK ] RewriterTest.HtmlContent (0 ms)
[----------] 3 tests from RewriterTest (6 ms total)

[----------] 1 test from ContentTypeTest
[ RUN      ] ContentTypeTest.IsContentTypeAllowed
[       OK ] ContentTypeTest.IsContentTypeAllowed (14 ms)
[----------] 1 test from ContentTypeTest (14 ms total)

[----------] Global test environment tear-down
[==========] 13 tests from 3 test suites ran. (34 ms total)
[  PASSED  ] 13 tests.
Have memory regions w/o callers: might report false leaks
Leak check _main_ detected leaks of 4176 bytes in 9 objects
The 1 largest leaks:
Using local file /root/.cache/bazel/_bazel_root/.../http_filter_unit_tests.
Leak of 4176 bytes in 9 objects allocated from:
	@ 82f66f lol_html_rewriter_build

If the preceding stack traces are not enough to find the leaks, try running THIS shell command:

pprof /root/.cache/bazel/_bazel_root/.../http_filter_unit_tests "/tmp/http_filter_unit_tests.38010._main_-end.heap" --inuse_objects --lines --heapcheck  --edgefraction=1e-10 --nodefraction=1e-10 --gv

If you are still puzzled about why the leaks are there, try rerunning this program with HEAP_CHECK_TEST_POINTER_ALIGNMENT=1 and
Exiting with error code (instead of crashing) because of whole-program memory leaks

The files used to reproduce this:
rewriter.h
#pragma once

#include <string>
#include "lib/lol_html.h"
#include "envoy/http/filter.h"

struct LOLHtmlRewriterDeleter {
    void operator()(lol_html_rewriter_t* r) {
        if(r != nullptr) {
            lol_html_rewriter_free(r);
        }
    }
};

using LOLHtmlRewriterUniquePtr = std::unique_ptr<lol_html_rewriter_t, LOLHtmlRewriterDeleter>;

struct LOLHtmlBuilderDeleter {
    void operator()(lol_html_rewriter_builder_t* b) {
        if(b != nullptr) {
            lol_html_rewriter_builder_free(b);
        }
    }
};

using LOLHtmlBuilderUniquePtr = std::unique_ptr<lol_html_rewriter_builder_t, LOLHtmlBuilderDeleter>;

class Rewriter {
    public:
        Rewriter(const std::string& encoding);
        ~Rewriter();

    private:
        static void outputHandler(const char *chunk, size_t chunk_len, void *user_data);
        static lol_html_rewriter_directive_t elementHandler(lol_html_element_t *element, void *user_data);
        lol_html_rewriter_directive_t rewriteElement(lol_html_element_t *element) const;

    private:
        LOLHtmlBuilderUniquePtr builder_{};
        LOLHtmlRewriterUniquePtr rewriter_{};
    private:
        const size_t INITIAL_MEMORY = 16 * 1024;
        const size_t MAX_MEMORY = 64 * 1024;
        // const size_t INITIAL_MEMORY = 3 * 1024;  // Also used, useless.
        // const size_t MAX_MEMORY = 6 * 1024;      // Also used, useless.
};

rewriter.cc
#include <string>
#include <vector>

#include "rewriter.h"

Rewriter::Rewriter(const std::string& encoding) {
  builder_ = LOLHtmlBuilderUniquePtr(lol_html_rewriter_builder_new());

  const lol_html_memory_settings_t memory_settings = {.preallocated_parsing_buffer_size = INITIAL_MEMORY,
                                                      .max_allowed_memory_usage = MAX_MEMORY};

  rewriter_ = LOLHtmlRewriterUniquePtr(
      lol_html_rewriter_build(builder_.get(), encoding.c_str(), encoding.length(), memory_settings, outputHandler, this, true));
  if (rewriter_ == NULL) {
    throw "Bla";
  }
}

Rewriter::~Rewriter(){
}

// static function to receive rewriter output
void Rewriter::outputHandler(const char *chunk, size_t chunk_len, void *user_data){
    if (chunk != NULL) {
        printf("a");
    }
    if (chunk_len != 0) {
      printf("a");
    }
    if (user_data != NULL) {
      printf("a");
    }
}

rewriter_unit_tests.cc
#include "rewriter.h"

#include "gtest/gtest.h"

TEST(RewriterTest, RewriterAction) {
  auto rewriter = std::make_unique<Rewriter>(std::string("utf-8"));
}

I can reproduce this by running LD_LIBRARY_PATH=target/debug/deps valgrind --leak-check=full target/debug/ctests from c-api/tests. Thanks for the report, I'll try to look into it when I get a chance.


xds-k8s: Fix the issue with Java PSM security tests skipped

Fixes the issue with Java PSM security tests accidentally skipped because Java was missing from the list of languages
Invert the logic of is_supported methods, making them normally open
Make languages an enum.Flag to avoid accidental typos when listing the languages
Rename XdsKubernetesTestCase.isSupported to XdsKubernetesTestCase.is_supported to be consistent with XdsUrlMapTestCase.is_supported
Add extra logging

grpc/core/master/linux/psm-security
grpc/core/master/linux/grpc_xds_k8s_lb
grpc/core/master/linux/grpc_xds_url_map

Java PSM security:

grpc/java/master/branch/psm-security

Re-ran Java PSM Sec:

grpc/java/master/branch/psm-security

Looks like grpc/core/master/linux/grpc_xds_k8s_lb failure can be safely ignored - it passed all code relevant for the changes I made.

Re-running jobs after rebasing and resolving conflicts:

grpc/core/master/linux/psm-security
grpc/core/master/linux/grpc_xds_k8s_lb
grpc/core/master/linux/grpc_xds_url_map

That was a wrong link for Java. Here's the correct one, and it's passing: https://source.cloud.google.com/results/invocations/1211136a-47cd-4d9d-8349-01173aa376b2


Swagger enums are not imported as ApiDoc enum definitions

Steps to reproduce:

create an API swagger definition with an enum (String) property;
E.g.

definitions:
...
Country:
    type: object
    properties:
      code:
        type: string
        enum:
            - US
            - CA
....

import it into Apidoc (selecting swagger.json 2.0 Type).

Expected behaviour:
An Apidoc enum has been defined.
Actual behaviour:
No Apidoc enums have been defined.
Example:

https://app.swaggerhub.com/api/fabiocognigni/geo-location-api/1.0.0
http://www.apidoc.me/gilt/geo-location-api/0.0.1

@emersonloureiro

Given that currently:

Swagger allows any type of enum value;
Apidoc allows string enum values only (based on examples and the documentation stating "Names must start with a letter");

We could limit the scope of this enhancement to import string properties enums only (the most used type I believe) and postpone to another iteration a deeper redesign of Apidoc enums definition to allow any type.
Thoughts?

+1
Other types may be doable via union types

In addition to (string) enums for model definition properties, this enhancement should also cover enums for operations' path parameters (both Swagger and Apidoc currently support that).

now live


minor optimization: minor optimization to improve the code quality/readability

Commit Message: minor optimization: minor optimization to improve the code quality/readability
Additional Description:
Split from #27242
Risk Level: low.
Testing: n/a.
Docs Changes: n/a.
Release Notes: n/a.
Platform Specific Features: n/a.

lgtm


Allow reports via DMs

direct messages via twitter & mastodon should be crawled by a separate bot, and repostet by all of the bots.

Twitter DMs are implemented in active_bots/twitterDMs.py :)

active_bots/mastodonbot.py does not crawl MastoDMs yet. The better, we need to handle them different anyway. So we need an own bot for masto DMs.


Use "property" rather than "predicate" in our docs

If you are looking for something fun to do, try combing through a codebase to determine which instances of "predicate" are part of your API and should be renamed to "property", and which refer to RDF/JS data structures using regular RDF terminology...

[x] All acceptance criteria are met.
[x] Relevant documentation, if any, has been written/updated.
[x] The changelog has been updated, if applicable.
[x] New functions/types have been exported in index.ts, if applicable.
[x] Commits in this PR are minimal and have descriptive commit messages.

Whoops, one broken link in the docs - fixed now, hopefully.