It stopped working at around 900 lines and it started to loop "quota exceeded, waiting 1 minute" forever

I tested the model gemini-1.5-flash-002 for my target language. It was fast but the result wasn't very good. So I switched to the Pro model instead with the following configuration.
gst.model_name = "gemini-1.5-pro-002"
gst.batch_size = 50
gst.translate()
If I understand correctly, batch size of 50 will make around 18 requests, which is far less than the 50 requests per day.

But the code start to loop at 900/1586 lines. Any idea why is this? Is there a way for the code to tell me when I am running out of API in a day. Thank you

Starting translation of 1586 lines...
Translated 50/1586
Translated 100/1586
Translated 150/1586
Translated 200/1586
Quota exceeded, waiting 1 minute...
Translated 250/1586
Translated 300/1586
Quota exceeded, waiting 1 minute...
Translated 350/1586
Quota exceeded, waiting 1 minute...
Translated 400/1586
Quota exceeded, waiting 1 minute...
Translated 450/1586
Quota exceeded, waiting 1 minute...
Translated 500/1586
Quota exceeded, waiting 1 minute...
Translated 550/1586
Quota exceeded, waiting 1 minute...
Translated 600/1586
Quota exceeded, waiting 1 minute...
Translated 650/1586
Quota exceeded, waiting 1 minute...
Translated 700/1586
Quota exceeded, waiting 1 minute...
Translated 750/1586
Quota exceeded, waiting 1 minute...
Translated 800/1586
Quota exceeded, waiting 1 minute...
Translated 850/1586
Quota exceeded, waiting 1 minute...
Translated 900/1586
Quota exceeded, waiting 1 minute...
Quota exceeded, waiting 1 minute...
Quota exceeded, waiting 1 minute...
Quota exceeded, waiting 1 minute...
Quota exceeded, waiting 1 minute...

Pro has a free limit of 2 requests per minute. I'm not sure why it suddenly starts looping at the end there though. I haven't really tried Pro on my side. Can you try version 001? Are you using the latest version of gemini-srt-translator?

Tomorrow I'll try patching this. I'll add a 30s cooldown between requests when using the free pro version. This should solve the issue albeit at the cost of speed.


Default branch created by CodeCommit incompatible with CDK script

Expected behavior and actual behavior
ANSWER: As a user, when I create a repo in AWS CodeCommit, I should be able to push its default branch and expect CDK script to work. Instead CDK expects main branch as the default branch whereas codecommit generates master
Steps to reproduce the problem
ANSWER: follow current instructions in Readme leads to a CodeCommit created with master as default branch. However CDK scripts expect the code to be in the main branch.
Specifications like the version of the project, operating system, or hardware
ANSWER: N/A

Add the following instruction to make the default branch become main
aws codecommit update-default-branch --repository-name <MyDemoRepo> --default-branch-name main


Transpiling issue

First of all thanks for the great component, and blog post, very useful and insightful.
I run into an error when running npm build to transpile the component in the dist folder.
Turns out the preset for babel,  babel-preset-react-app was missing in the dev dependencies.
This can be installed as
npm install babel-preset-react-app  --save-dev

So perhaps your create-component-lib script could be updated on line 34 to include that too.

The nice thing about installing react-scripts in the bash script is that this seemed to work for setting up the latest create-react-app v2 which supports css modules, so that's cool.
However thought I'd mentioned I ended up installing the official babel react presets,@babel/preset-react and @babel/core @babel/cli
So thought I'd mentioned it in case you want to add those to the script instead of the unofficial once.
For convenience, updated line in the script would look like this
npm i react react-dom react-scripts  @babel/core @babel/cli @babel/preset-react rimraf --save-dev

Hope this helps

Thanks for the info, I was able to get the build working using the above:
npm i react react-dom react-scripts  @babel/core @babel/cli @babel/preset-react rimraf --save-dev

I'm unable to configure my package.json however so that I don't have to do that above install every time I need to install packages when doing a fresh clone of my repo, is there a way to do this so I just have to use yarn, or npm install?
Thanks,
Ed

Thanks @pietrop and @eddyc . For now, I've updated the script to include babel-preset-react-app and published a new version. I'll make the change to include @babel/core etc. once I get a chance to test it out properly.

I had an issue with babel 7. The issue is that on the dist directory, the js files has absolute imports like the following :
import _objectWithoutProperties from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties";
import _classCallCheck from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/classCallCheck";
import _createClass from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/createClass";
import _possibleConstructorReturn from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn";
import _getPrototypeOf from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/getPrototypeOf";
import _inherits from "/home/kayvan/projects/material-ui-hichestan-datetimepicker/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/inherits";

with the following package.json :
    "@babel/cli": "^7.2.3",
    "@babel/core": "^7.2.2",
    "@babel/preset-react": "^7.0.0",
    "react-scripts": "^2.1.2",

the desired result would be as follow :
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();

function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }

which I could get with the following package.json :
    "babel-cli": "^6.26.0",
    "babel-core": "^6.26.3",
    "babel-preset-react": "^6.24.1",
    "react-scripts": "^1.1.5",

In order to fix the absolute imports issue your .babelrc needs to look like this:
{ "presets": [["react-app", { "absoluteRuntime": false }]] }


add Paddle predictor

What this PR does / why we need it:
This PR adds Paddle support to KFserving. python/paddleserver package is implemented. Paddle predictor support is added in v1beta1 API.
Paddle users want an easy way to serve Paddle models, therefore we have Paddle Serving. We found that some of the Paddle users also use KFsering. They want to integrate paddle into their KFserving workflow. This PR allows them to use KFserving to serve Paddle models with ease.
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

TODO

The majority of work is done, you can follow docs/samples/v1beta1/paddle/README.md for a test run.
Things left to do:

Complete/Update docs
Add tests for predictor_paddle.go
Update image address. Now I am using my personal docker repository.
Add GPU support to paddle server.

@Ruminateer Thanks for contributing this! Would you be interested in joining our community meeting on next Wednesday to discuss about this. We are happy to see more framework added to KFServing but the concern would be the long term support for this as our WG currently lacks the knowledge about paddle.

@Ruminateer Thanks for contributing this! Would you be interested in joining our community meeting on next Wednesday to discuss about this? We are happy to see more framework added to KFServing but the concern would be the long term support for this as our WG currently lacks the knowledge about paddle.

Cool, how can I join the meeting? Also, would you mind Ti Zhou @tizhou86 also joining the meeting? He is a senior architect at the Paddle team (my supervisor), and he can talk to you about the long term support and other stuffs on behalf of the Paddle team.

@Ruminateer Thanks for contributing this! Would you be interested in joining our community meeting on next Wednesday to discuss about this? We are happy to see more framework added to KFServing but the concern would be the long term support for this as our WG currently lacks the knowledge about paddle.

Cool, how can I join the meeting? Also, would you mind Ti Zhou @tizhou86 also joining the meeting? He is a senior architect at the Paddle team (my supervisor), and he can talk to you about the long term support and other stuffs on behalf of the Paddle team.

ye that would be great! check the kubeflow calendar, our WG meeting occurs biweekly on Wednesday so the next one is on 5/26 9am PST.

/ok-to-test

@Ruminateer Thanks for contributing this! Would you be interested in joining our community meeting on next Wednesday to discuss about this? We are happy to see more framework added to KFServing but the concern would be the long term support for this as our WG currently lacks the knowledge about paddle.

Cool, how can I join the meeting? Also, would you mind Ti Zhou @tizhou86 also joining the meeting? He is a senior architect at the Paddle team (my supervisor), and he can talk to you about the long term support and other stuffs on behalf of the Paddle team.

ye that would be great! check the kubeflow calendar, our WG meeting occurs biweekly on Wednesday so the next one is on 5/26 9am PST.

Sounds great! We'd like to join and make a brief introduction of PaddlePaddle.

@Ruminateer Can you help add the an e2e test like this example ?

@Ruminateer Can you help add the an e2e test like this example ?

Yes I will be working on that

Rebased master and generated python client, then somehow e2e tests start to fail with log. Not sure why yet.

/retest

/retest

/retest

@yuzisun I added the e2e test, but it is failing with the error
E           RuntimeError: Exception when calling CustomObjectsApi->create_namespaced_custom_object:                 (403)
E           Reason: Forbidden
E           HTTP response headers: HTTPHeaderDict({'Audit-Id': '65111ac9-e031-40dc-a18f-f82083a382c1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Date': 'Wed, 02 Jun 2021 10:32:39 GMT', 'Content-Length': '463'})
E           HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"inferenceservice.kfserving-webhook-server.v1beta1.validator\" denied the request: Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","reason":"Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","code":403}
/mnt/test-data-volume/kubeflow-kfserving-presubmit-e2e-1615-747e6ac-0080-b97d/src/kubeflow/kfserving/python/kfserving/kfserving/api/kf_serving_client.py:115: RuntimeError

It seems that error occurs at func (*InferenceService) ValidateCreate() error,
which calls func validateExactlyOneImplementation(Component) error,
where an error is returned.
The list in the error message doesn't include Paddle. However, I did add Paddle in func (*PredictorSpec) GetPredictorImplementations() []PredictorImplementation and type PredictorSpec struct. It seems like the test isn't running the exact Go code on my branch. How do I change the configuration of the e2e test to make it works? Or I am I missing something?

@yuzisun I added the e2e test, but it is failing with the error
E           RuntimeError: Exception when calling CustomObjectsApi->create_namespaced_custom_object:                 (403)
E           Reason: Forbidden
E           HTTP response headers: HTTPHeaderDict({'Audit-Id': '65111ac9-e031-40dc-a18f-f82083a382c1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Date': 'Wed, 02 Jun 2021 10:32:39 GMT', 'Content-Length': '463'})
E           HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"inferenceservice.kfserving-webhook-server.v1beta1.validator\" denied the request: Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","reason":"Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","code":403}
/mnt/test-data-volume/kubeflow-kfserving-presubmit-e2e-1615-747e6ac-0080-b97d/src/kubeflow/kfserving/python/kfserving/kfserving/api/kf_serving_client.py:115: RuntimeError

It seems that error occurs at func (*InferenceService) ValidateCreate() error,
which calls func validateExactlyOneImplementation(Component) error,
where an error is returned.
The list in the error message doesn't include Paddle. However, I did add Paddle in func (*PredictorSpec) GetPredictorImplementations() []PredictorImplementation and type PredictorSpec struct. It seems like the test isn't running the exact Go code on my branch. How do I change the configuration of the e2e test to make it works? Or I am I missing something?

@Ruminateer Yes we need to add paddle to the e2e test config overlay.

I added a workflow step in the e2e tests to build the paddle image.
https://github.com/Ruminateer/kfserving/blob/828e7ffc6f7a3cb8a9ec0a6031bc917c1b510356/test/workflows/components/workflows.libsonnet#L408-L413
It seems that Kaniko executor cannot create new image repo on the server. Can you create a repo for the paddleserver? Or can that also be done within this repo? @yuzisun

I added a workflow step in the e2e tests to build the paddle image.
https://github.com/Ruminateer/kfserving/blob/828e7ffc6f7a3cb8a9ec0a6031bc917c1b510356/test/workflows/components/workflows.libsonnet#L408-L413
It seems that Kaniko executor cannot create new image repo on the server. Can you create a repo for the paddleserver? Or can that also be done within this repo? @yuzisun

Ah right, the image needs to be registered. @PatrickXYS are you still able to help add this image?

Hi @PatrickXYS , please let us know if anything is needed from our side, thanks!

Hi @PatrickXYS , please let us know if anything is needed from our side, thanks!

@tizhou86 I think @PatrickXYS is on vacation, @theofpa Any thoughts on this?

@Ruminateer @tizhou86 I do not want to block this, we can comment out the paddleserver image build step for now and use the image in e2e test built manually from this PR.

@Ruminateer Please also help squash and clean up the commits, there are 38 commits in the PR.

@Ruminateer We also need to add a github action like this one for releasing the paddleserver image

@Ruminateer We also need to add a github action like this one for releasing the paddleserver image

Added

@Ruminateer Please also help squash and clean up the commits, there are 38 commits in the PR.

Do you want me to squash all these into a single commit?🤗

@Ruminateer @tizhou86 I do not want to block this, we can comment out the paddleserver image build step for now and use the image in e2e test built manually from this PR.

e2e test is failing because somehow the paddle server image cannot be pulled
rebuilt the image and /retest

/retest

e2e test is failing because somehow the paddle server image cannot be pulled
rebuilt the image

@Ruminateer I think the culprit is here in e2e we replace the image tag with PULL_BASE_SHA , I'd have to double check I believe it is the pull request number.

PULL_BASE_SHA is actually on the prow job pod which is 9995b0ebde1f53710745acc0bb5257aa140beb13
    env:
    - name: CLOUD_PROVIDER
      value: aws
    - name: AWS_DEFAULT_REGION
      value: us-west-2
    - name: AWS_ACCESS_KEY_ID
      valueFrom:
        secretKeyRef:
          key: AWS_ACCESS_KEY_ID
          name: aws-credentials
    - name: AWS_SECRET_ACCESS_KEY
      valueFrom:
        secretKeyRef:
          key: AWS_SECRET_ACCESS_KEY
          name: aws-credentials
    - name: AWS_EKS_CLUSTER
      value: optional-test-infra-argo
    - name: ARGO_ENDPOINT
      value: https://argo.kubeflow-testing.com/
    - name: ARTIFACTS_S3_BUCKET
      value: aws-kubeflow-jenkins
    - name: BUILD_ID
      value: "1405195074983170048"
    - name: BUILD_NUMBER
      value: "1405195074983170048"
    - name: CI
      value: "true"
    - name: JOB_NAME
      value: kubeflow-kfserving-presubmit
    - name: JOB_SPEC
      value: '{"type":"presubmit","job":"kubeflow-kfserving-presubmit","buildid":"1405195074983170048","prowjobid":"ce72861f-cebc-11eb-b21c-8a0e88738077","refs":{"org":"kubeflow","repo":"kfserving","repo_link":"https://github.com/kubeflow/kfserving","base_ref":"master","base_sha":"9995b0ebde1f53710745acc0bb5257aa140beb13","base_link":"https://github.com/kubeflow/kfserving/commit/9995b0ebde1f53710745acc0bb5257aa140beb13","pulls":[{"number":1615,"author":"Ruminateer","sha":"75a341347a04fadc6d15305afb96dfc43a5c1874","link":"https://github.com/kubeflow/kfserving/pull/1615","commit_link":"https://github.com/kubeflow/kfserving/pull/1615/commits/75a341347a04fadc6d15305afb96dfc43a5c1874","author_link":"https://github.com/Ruminateer"}]}}'
    - name: JOB_TYPE
      value: presubmit
    - name: PROW_JOB_ID
      value: ce72861f-cebc-11eb-b21c-8a0e88738077
    - name: PULL_BASE_REF
      value: master
    - name: PULL_BASE_SHA
      value: 9995b0ebde1f53710745acc0bb5257aa140beb13
    - name: PULL_NUMBER
      value: "1615"
    - name: PULL_PULL_SHA
      value: 75a341347a04fadc6d15305afb96dfc43a5c1874
    - name: PULL_REFS
      value: master:9995b0ebde1f53710745acc0bb5257aa140beb13,1615:75a341347a04fadc6d15305afb96dfc43a5c1874
    - name: REPO_NAME
      value: kfserving
    - name: REPO_OWNER
      value: kubeflow
    image: public.ecr.aws/j1r0q0g6/kubeflow-testing:latest

@Ruminateer Please also help squash and clean up the commits, there are 38 commits in the PR.

Do you want me to squash all these into a single commit? I think the PR is anyway squashed and merged by the bot?

when PR is squash merged, it is a single commit but all the comments from previous 38 commits are combined together which makes a really long comment.

@Ruminateer I think the culprit is here in e2e we replace the image tag with PULL_BASE_SHA , I'd have to double check I believe it is the pull request number.

@yuzisun Yeah, I did miss that. I changed to a specific version, but I am having the following error again.

@yuzisun I added the e2e test, but it is failing with the error
E           RuntimeError: Exception when calling CustomObjectsApi->create_namespaced_custom_object:                 (403)
E           Reason: Forbidden
E           HTTP response headers: HTTPHeaderDict({'Audit-Id': '65111ac9-e031-40dc-a18f-f82083a382c1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Date': 'Wed, 02 Jun 2021 10:32:39 GMT', 'Content-Length': '463'})
E           HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"inferenceservice.kfserving-webhook-server.v1beta1.validator\" denied the request: Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","reason":"Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","code":403}
/mnt/test-data-volume/kubeflow-kfserving-presubmit-e2e-1615-747e6ac-0080-b97d/src/kubeflow/kfserving/python/kfserving/kfserving/api/kf_serving_client.py:115: RuntimeError

It seems that error occurs at func (*InferenceService) ValidateCreate() error,
which calls func validateExactlyOneImplementation(Component) error,
where an error is returned.
The list in the error message doesn't include Paddle. However, I did add Paddle in func (*PredictorSpec) GetPredictorImplementations() []PredictorImplementation and type PredictorSpec struct. It seems like the test isn't running the exact Go code on my branch. How do I change the configuration of the e2e test to make it works? Or I am I missing something?

I am confused 😥. When using the latest tag, the error is revision missing and the paddle server image cannot be pulled, which as I understand means the object is accepted by the validation webhook in the first place. I changed the image tag and nothing else, and the object is now rejected by the validation webhook 😥.
Also, as I said in the quoted message, I feel like the test isn't running the exact Go code on my branch. Otherwise, at least the error message would include Paddle in the list. Also, I never encountered this problem on my local cluster, so I think this should be related to e2e test. Haven't found the cause 😥.

@Ruminateer that seems odd, the e2e test checks out your PR and builds the controller image, we print the controller log in the argo workflow step e2e-tests-post-process, you can add some logging there to debug.

/retest

@yuzisun Increased timeout_seconds in e2e test and passed e2e test.
Do you want me to squash the commits now? Also, do I keep the workaround commit?
The following error is gone after the retest without any code change. I doubt it's a bug with the e2e test system, but I wasn't able to find it.

@yuzisun Yeah, I did miss that. I changed to a specific version, but I am having the following error again.

@yuzisun I added the e2e test, but it is failing with the error
E           RuntimeError: Exception when calling CustomObjectsApi->create_namespaced_custom_object:                 (403)
E           Reason: Forbidden
E           HTTP response headers: HTTPHeaderDict({'Audit-Id': '65111ac9-e031-40dc-a18f-f82083a382c1', 'Cache-Control': 'no-cache, private', 'Content-Type': 'application/json', 'Date': 'Wed, 02 Jun 2021 10:32:39 GMT', 'Content-Length': '463'})
E           HTTP response body: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"inferenceservice.kfserving-webhook-server.v1beta1.validator\" denied the request: Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","reason":"Exactly one of [SKLearn, XGBoost, Tensorflow, PyTorch, Triton, ONNX, PMML, LightGBM, PodSpec] must be specified in PredictorSpec","code":403}
/mnt/test-data-volume/kubeflow-kfserving-presubmit-e2e-1615-747e6ac-0080-b97d/src/kubeflow/kfserving/python/kfserving/kfserving/api/kf_serving_client.py:115: RuntimeError

It seems that error occurs at func (*InferenceService) ValidateCreate() error,
which calls func validateExactlyOneImplementation(Component) error,
where an error is returned.
The list in the error message doesn't include Paddle. However, I did add Paddle in func (*PredictorSpec) GetPredictorImplementations() []PredictorImplementation and type PredictorSpec struct. It seems like the test isn't running the exact Go code on my branch. How do I change the configuration of the e2e test to make it works? Or I am I missing something?

I am confused 😥. When using the latest tag, the error is revision missing and the paddle server image cannot be pulled, which as I understand means the object is accepted by the validation webhook in the first place. I changed the image tag and nothing else, and the object is now rejected by the validation webhook 😥.
Also, as I said in the quoted message, I feel like the test isn't running the exact Go code on my branch. Otherwise, at least the error message would include Paddle in the list. Also, I never encountered this problem on my local cluster, so I think this should be related to e2e test. Haven't found the cause 😥.

@yuzisun Increased timeout_seconds in e2e test and passed e2e test.

@Ruminateer Is that a big model which takes long to start? it is also possible that we have limited resource in the e2e test so need to wait for other tests to release the resources, the cpu resource can be tuned down to fractional cpu like 100m.

Do you want me to squash the commits now? Also, do I keep the workaround commit?
Yes we can squash the commits now, l am ok to leave the workaround if you can create an issue reminding us changing it later.

@Ruminateer this model is quite big which can bloat up the repo size, do we really need to commit this ?
python/paddleserver/paddleserver/example_models/resnet50/inference.pdmodel

@Ruminateer this model is quite big which can bloat up the repo size, do we really need to commit this ?
python/paddleserver/paddleserver/example_models/resnet50/inference.pdmodel

No, I can change to smaller models, I will change this today.

used a smaller model

/retest

/retest

@Ruminateer A few last small comments, otherwise we are good to go! Can you also help add a OWNERS file under python/paddleserver?

Can you also help add a OWNERS file under python/paddleserver?

I am not sure how the file works. Do I just copy https://github.com/kubeflow/kfserving/blob/master/python/kfserving/OWNERS?

Can you also help add a OWNERS file under python/paddleserver?

I am not sure how the file works. Do I just copy https://github.com/kubeflow/kfserving/blob/master/python/kfserving/OWNERS?

Like that format but change to your name, at least two persons are suggested.

Like that format but change to your name, at least two persons are suggested.

Added. Seems I need to be a member or a collaborator.

Like that format but change to your name, at least two persons are suggested.

Added. Seems I need to be a member or a collaborator.

yes, @Ruminateer can you send a PR like this one

Awesome work @Ruminateer !
/lgtm
/approve


Example with ES6 imports

I was wondering if there is a way to create a component in ES6 syntax and import it into another components. Would it be possible for you to modify the attached examples in the README file?

What do you mean by 'ES6' syntax? Some options:

Using ES6 features like arrow functions. Yes, definitely - you can use whatever your version of node supports, and it will Just Work.
Using ES6 modules for import/export. No, not without a transpiler back to CommonJS, since (afaik) Node doesn't have any support for these yet.

Ah, you've actually specified in it the title - imports/exports.
No: server components doesn't have built-in support for that, so you'll need external support, and Node doesn't do that yet. I think the latest details on Node's plan for this are at https://github.com/nodejs/node-eps/blob/master/002-es6-modules.md, and the tracking issue is https://github.com/nodejs/help/issues/53. Alternatively, you can use Babel for this in the meantime.
If I were you though, I wouldn't worry about it for now - you don't gain much vs CommonJS, and support doesn't really exist for them anywhere yet.


Upload tags

Is it possible to upload the video with tags along with the title and description

yes, could you please explain? I need to implement this feature too. Thanks in advance.


Getting Started with Boruta Algorithm in Machine Learning

Article checklist
Attention
Our Peer Reviewer and Content Moderator teams do NOT provide any revisions services. All revisions and edits should be completed on your own forked repo (as to not take up room in the queue) in order for our team to review them all in a timely manner.
ANY ARTICLE SUBMITTED WITH GLARING ERRORS WILL BE IMMEDIATELY CLOSED.

As a rule of thumb - please be sure to only submit articles (pull requests) that are fully polished and ready to be published. Be sure to go through our resources documents for extra and 3rd party (vetted) resources to help improve overall technical writing.

Pre-submission checks

Please ensure that you have only one open topic suggestion (issue) + in-review article (linked pull request) at a time. This will ensure that we complete the review process in a timely manner from inception to publishing

If you have not already, please go over our Resources Page for more tips and tricks on how to improve your overall technical writing so reviews are swifter, increase the chance of a payout and provide more value to our readers.

For first-time contributors and for more details on our submission guidelines, see our Contributing Guidelines.

Formatting and structure checks

[x] Have you used the correct folder and file structure? - see Contribution Guidelines

[x] Is your article properly formatted in Markdown? - see Github Markdown guide

[x] Have you used our preferred heading structure? - H3 (###) and up

[x] Does your article follow any of the suggested structure formats? - see example formats

[x] Is your article over 750 words? - Tool: Wordcounter.net

[x] Is the article you are submitting an in-depth and unique article? Does it go beyond what is in the official docs and what is covered in other blog sites. See these articles as examples.

[x] Does your article provide enough value and detail about your topic? - Articles should be clear, accurate, and fully explained.

[x] Can your article be understood by beginners? - Assume the audience is smart but has no prior exposure to the common terminology in your article.

[x] Have you included a hero image that is 600x400 pixels, under 300KB in size, and have the copyright to use it? - Tools: Pixlr Image Editor for resizing and Unsplash for Creative Commons images

Grammar & plagiarism checks

[x] Have you spellchecked and grammar checked your article? - Tools: Write&Improve - ProWritingAid - Grammarly
[x] Please place your article through a 3rd party plagiarism checker. We suggest using Quetext, this tool is free and has a daily limit. We typically accept articles with 10% or less.
[x] Have you checked your article for readability? - Tool: Hemmingway
[x] Have you added sources for quotes and images that aren't yours?

Technical checks

[x] Are your code snippets properly formatted for syntax highlighting - see Syntax guide
[x] Have you checked your code runs correctly and you've highlighted all necessary dependencies for installation?
[x] Are the software programs and packages you're highlighting in your article up to date, using current versions and not deprecated?

Topic suggestion this closes

Remove the backticks and add the issue number below to link and close your Topic Suggestion (issue) when your article has been published (PR has been merged). See this video for more details.

This closes #5946

Finally, delete the article checklist notes in blockquotes and submit your PR. We look forward to reviewing your article.

Plagiarism check complete. Remember to spell-check and grammar check your article before submission, @nelsonnrl as I noticed some typos.

@Jethro-magaji
can we get a status update on this PR - its been sitting for 12 days now.
If any more edits are needed we will be closing this PR.

Closing due to the fact the peer reviewer made changes after author.

Closing due to the fact the peer reviewer made changes after author.

Closing due to the fact the peer reviewer made changes after author.

I made some minor changes to the PR.

@Jethro-magaji
I did all the changes you requested and now I see the PR is closed. What should I do about this?

Hello @hectorkambow, I went through the changes the peer reviewer did after the revision and actually they are minor, just like reducing the number of words in a line and general alignments, which has nothing to do with the change of the content, they are so inferior and I don't think they are worth this PR to be closed. Kindly, would you tell me what to do next?

👀
Noted.
If any other edits are needed during a final review we will be closing again (for a final time).

@Jethro-magaji What labels does this PR need?

@Jethro-magaji What labels does this PR need?

Ready for final review

Noted: just going through the queue in order - we will get to this one asap.!

jumping on this one

@nelsonnrl
@Jethro-magaji
made some edits - some of the files were not in the proper folder>
Please be sure to review any edits made to improve future articles 🚀


inconsistent behavior from getSubTypesOf for Scala classes

I'm trying to use the reflections library from within Scala.
When I ask for the subclasses of List[Any] I don't find any.  However, when I asked on a scala help group, Help with org.reflections api, someone else tried my code and correctly found the expected subclasses.
Here is the scala code I'm using
object sanityCheck {
  val refl = new org.reflections.Reflections("")

  def main(argv:Array[String]):Unit = {
    describeSubclasses(classOf[java.lang.Number])
    makeNumber()
    describeSubclasses(classOf[List[Any]])

  }
  def describeSubclasses(cl:Class[_]):Unit = {
    import java.lang.reflect.Modifier
    // getSubTypesOf does not realize that a type is a subtype of itself
    val subs:List[Class[_]] = cl :: refl.getSubTypesOf(cl).toArray.toList.collect {
      case c: Class[_] => c
    }
    println("---------")
    for{ sub <- subs
         } println( s"$sub is " + Modifier.toString(sub.getModifiers))

  }
  def makeNumber():Unit = {
    class MyNumber extends Number {
      def doubleValue():Double = 0.0
      def longValue():Long = 0
      def intValue():Int = 0
      def floatValue():Float = 0.0F
    }
    new MyNumber
  }
}

And here is the printed output I see
---------
class java.lang.Number is public abstract
class genus.sanityCheck$MyNumber$1 is public
---------
class scala.collection.immutable.List is public abstract

Another user ran my code and sees the following, correct, output.
---------
class java.lang.Number is public abstract
class genus.sanityCheck$MyNumber$1 is public
---------
class scala.collection.immutable.List is public abstract
class scala.collection.immutable.$colon$colon is public final
class scala.collection.immutable.Nil$ is public final

I am using version 0.9.12 of the reflections library.

I've done some additional experimentation.   Here are several pieces of information I hope the developers find useful useful.

Calling the constructor with "" as argument gives inconsistent behavior. org.reflections.Reflections("").    It seems to be accepted as a valid argument.

Using reflections version 0.9.12 I very often get the following error, reverting to 0.9.11 avoids the error.

Scanner SubTypesScanner was not configured
org.reflections.ReflectionsException: Scanner SubTypesScanner was not configured
	at org.reflections.Store.get(Store.java:39)
	at org.reflections.Store.get(Store.java:61)
	at org.reflections.Store.get(Store.java:46)
	at org.reflections.Store.getAll(Store.java:93)
	at org.reflections.Reflections.getSubTypesOf(Reflections.java:404)

Sometimes, given two classes, c1 and c2, I can verify that c2 is a superclass of c1, however, getSubTypesOf says that c2 has no subtypes.  The test was made as follows, which verifies that List[Any] has at least two subclasses, the empty list, and the non-empty list.  The two assertions shown here pass or fail depending on which java version I use.

test("reflect.getSubTypesOf"){
    val reflect = new org.reflections.Reflections()
    assert(reflect.getSubTypesOf(classOf[List[Any]]).toArray.contains(List(1,2,3).getClass))
    assert(reflect.getSubTypesOf(classOf[List[Any]]).toArray.contains(List.empty.getClass))
  }

Depending on which java executable I use, I get very different behavior from the getSubTypesOf method.
-- java version 1.8.0_242 seems to behave correctly

/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home/bin/java -version
/Library/Java/JavaVirtualMachines/openjdk8/Contents/Home/bin/java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.242-b08, mixed mode)

-- java version 11.02 fails
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/bin/java -version
/Library/Java/JavaVirtualMachines/openjdk-11.0.2.jdk/Contents/Home/bin/java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

-- particularly the java built in to my installation of IntelliJ fails
"/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java" -version
"/Applications/IntelliJ IDEA CE.app/Contents/jbr/Contents/Home/bin/java" -version
openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment JBR-<IP_ADDRESS>-1341.41-dcevm (build 11.0.10+9-b1341.41)
Dynamic Code Evolution 64-Bit Server VM JBR-<IP_ADDRESS>-1341.41-dcevm (build 11.0.10+9-b1341.41, mixed mode)

thanks @jimka2001
instantiating with "" is discouraged and might result in different urls resolved from the classpath. using ConfigurationBuilder explicitly is preferred.
scanner was not configured exception - this is known issue on 0.9.12, a simple workaround is to check if the store contains scanned values for the scanner before query. next version fixes this.
also matrix testing are planned to be added, if you want to contribute that'd be great

Sorry I don't know anything about matrix testing.   is that something I can do from Scala?

@ronmamo, can you comment a bit more about what I need to do as a Scala programmer.  I tried what you recommended (at least as best I can understand what you recommended).
import org.reflections.util.ConfigurationBuilder

val reflect = new org.reflections.Reflections(ConfigurationBuilder)

But this gives a compilation error.
/Users/jnewton/Repos/regular-type-expression/cl-robdd-scala/src/main/scala/genus/SAtomic.scala:317:49
class org.reflections.util.ConfigurationBuilder is not a value
  val reflect = new org.reflections.Reflections(ConfigurationBuilder)

这是来自QQ邮箱的自动回复邮件。

您好，我已经收到您的邮件

@ronmamo  I am getting the same error and we are using reflections version '0.9.11'. What is the next good version which fixes this issue?
Caused by: org.reflections.ReflectionsException: Scanner SubTypesScanner was not configured
at org.reflections.Store.get(Store.java:39)
at org.reflections.Store.getAllIncluding(Store.java:75)


gzip exit error

  File "<stdin>", line 1854, in main
  File "<stdin>", line 792, in grab_log_data
  File "<stdin>", line 957, in get_data_from_logs
AttributeError: GzipFile instance has no attribute '__exit__'

Need to investigate this further, but it seems with statement doesn't work with gzip in python 2.6.

https://github.com/tahz7/traffic_analyser/commit/92dab3b9c67f0c71bde82e2b9e9502bc84570d3c


Permit and dynamically created contracts

https://explorer.phalcon.xyz/tx/eth/0xbe936387c03605abea7c4994b83befe57f38cbd00cae2d378611a4de403e7b62
Here a contract is created on the fly, which the user given permission to though an off-chain signature.
From a protection perspective, the contract needs to be in FF threat intel prior to this tx.
This can only be done by proactively generating contract addresses based on the EOA and nonce into the future.

One way to address is to create contract labels into the future from within the scam detector. How many needs to be evaluated looking on-chain.
For instance: 0x00003ffa7857408ab714c28b1451914330240000 produced 144 contracts in the last day:
SELECT DISTINCT to_address FROM ethereum_mainnet.traces
JOIN (SELECT hash FROM ethereum_mainnet.transactions WHERE from_address = '0x00003ffa7857408ab714c28b1451914330240000' and data_creation_date > DATE('2023-12-01')) as tx
ON tx.hash = ethereum_mainnet.traces.transaction_hash
WHERE data_creation_date > DATE('2023-12-01')
and trace_type = 'create'

Scammer deployed contract function in scam detector could be expanded to:

look at trace information to see whether contract is created
if it is, calculate the contract information out for at least 5 txs

Fixed in https://github.com/forta-network/starter-kits/pull/433.

Deployed today. Closing issue.

I wanted to confirm this is effectively working.

Yesterday there was this $4M phishing scam.
I believe the permitted contract was this one but the SD was not able to catch.

@Vxatz please take a look when you have moment at this. Not a priority, just want to confirm @Ivan1905 finding.
thank you for handling it

Apologies for the delay, this has now been fixed 👍


PsiphonInc.Psiphon version<PHONE_NUMBER>6135450

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

It updated again. I will upload last version now.

Now, it is ready.


Add BlockQuoteKind to BlockQuote TagEnd

Fixes #889

Thanks! I'm only curious about the purpose of the code lines where I have put a comment.


Improve the installation script

What this PR does / why we need it:
Improve the installation script:

Don't remove the downloaded Terraform configs, addons, and helper scripts (./hack directory)
Format the script and resolve the shellcheck warnings

Does this PR introduce a user-facing change?:
NONE

/assign @kron4eg

/retest


Configuring Language Settings for STT Models in the Amica Project

I have added my locally deployed faster-large-v3 STTcurl, and it can transcribe Chinese. However, when I call the API to integrate it into the Amica project, it directly transcribes the input Chinese into English. I would like to know where I can disable this setting that transcribes into English.

This sounds very interesting. May I know your current LLM setup? We should investigate. I'm curious what is the best TTS solution for Chinese?

The best Chinese TTS: ChatTTS. https://github.com/lenML/ChatTTS-Forge API supports OpenAI API-compatible formats. The LLM used is the locally trained Qwen1.5-14b. Regarding the prompt part, I haven't changed anything.
Alright, let's get back to the original topic. I use the locally deployed whisper-v3, and after integrating it with Amica, the transcription always comes out in English. I have tested it and found that only the single-language version, whisper-v2-zh, can transcribe in Chinese. So I am now quite sure that the transcription language settings in Amica for the STT part automatically translate to English.

I'll try to identify, and think of some automatic way of detecting this and fixing it.

我会尝试识别并想出一些自动的方法来检测和修复它。


Webpack/Browserify Compatibility?

I would love to use this in my project, but the "main" field is referenced incorrectly and the library assumes a browser environment. Is this planned?

Can you elaborate a bit on what you mean with "the main field"?
Regarding the library: yes, it targets a browser environment. PRs are welcome to fix that!


VStream-QA dataset average video duration

Thank you for your great work! I was reading the paper and noticed that the average video duration in the VStream-QA dataset is mentioned as 40 minutes. However, after downloading the dataset, I observed that the video durations in the Ego part are mostly a few hundred seconds long, which seems inconsistent with the average duration mentioned in the paper.
I was wondering if I might have misunderstood some details, or if there could be another reason for this difference. Thanks for your clarification on this matter.

Thank you for your attention.
The online version of VStream-QA is Realtime-VStream-QA, with question reference video clip annotated. For convenience, we proposed another offline test version VStream-QA, which contains only the question reference clip.
The offline version is shorter, containing hundreds of frames. The online version is longer, containing thousands of frames. Note that the duration value of (R)VS-MovieNet is calculated by number of frames. The number of duration value in the json file could be less than the real duration of MovieNet videos, as the keyframe is sample at fps less than 1.0 .


v1.0

#14
#15

Closed via: https://github.com/JosephTLyons/persevero/commit/05731d6a1106a2238f7eaa821f25fd46f0733383


Add description fields from OpenAPI schema to the generated proto (as comments).

See the fields named "description" in the OpenAPI schema.
These should be included as comments alongside the corresponding generated field descriptions.

This was done in this commit.


gleam: 0.18.0 -> 0.18.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/gleam-lang/gleam/releases.
meta.description for gleam is: "A statically typed language for the Erlang VM"
meta.homepage for gleam is: "https://gleam.run/"
meta.changelog for gleam is: ""
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2/bin/gleam passed the binary check.
1 of 1 passed binary check by having a zero exit code.
1 of 1 passed binary check by having the new version present in output.
found 0.18.2 with grep in /nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2
found 0.18.2 in filename of file in /nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
gleam

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gleam https://github.com/r-ryantm/nixpkgs/archive/11bdadd3490671a7c329c3f9119b16d475954dce.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2
ls -la /nix/store/613nqz283yifjqry42wff9cwz1gm1fcr-gleam-0.18.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

gleam

Maintainer pings
cc @ankhers @Br1ght0ne @DianaOlympos @gleber @happysalada @yurrriq for testing.

Result of nixpkgs-review pr 152701 run on x86_64-darwin 1

1 package built:

gleam

since the 2 missing releases are mostly bug fixes, no use waiting here I think.


How to access graphql request header in controller in such a way that it gets successfully propagated to async graphql threads

Quoting: https://github.com/spring-projects/spring-graphql/issues/347#issuecomment-1289213923
Can you please share an example for this?
My use case is as follows:
Request header is supplied to WebGraphQlInterceptor and chained as below:
    String dataPartitionId = request.getHeaders().getFirst("data-partition-id");
    final String tenantId = dataPartitionId !=null ? dataPartitionId : "tenant1";
    request.configureExecutionInput((executionInput, builder) ->
            builder.graphQLContext(Collections.singletonMap("dataPartitionId", tenantId)).build());
    return chain.next(request);

Now I need to use this variable "dataPartitionId" inside my controller method. What is the best suitable way to do so?

You can use the @ContextValue annotation for that. In kotlin:
@Controller
class MyController {
    @SchemaMapping
    fun someField(@ContextValue dataPartitionId: String) {
       TODO("...")
    }
}

Thanks, I am trying to make this service Tenant Aware, for that use case, my question is, if I set ThreadLocal variable in the interceptor as follows, will it create any issue?
TenantContext.clear();
String dataPartitionId = request.getHeaders().getFirst("data-partition-id");
final String tenantId = dataPartitionId !=null ? dataPartitionId : "tenant1";
request.configureExecutionInput((executionInput, builder) ->
builder.graphQLContext(Collections.singletonMap("dataPartitionId", tenantId)).build());
TenantContext.setCurrentTenantContext(tenantId);
return chain.next(request);
    Below is my TenantContext class:

    public class TenantContext {

private static final InheritableThreadLocal currentTenantContext =
new InheritableThreadLocal<>();
private TenantContext() {}
public static void setCurrentTenantContext(String dataPartitionId) {
log.info("Setting tenant context with dataPartitionId: {}", dataPartitionId);
TenantInfo tenantInfo = new TenantInfo(dataPartitionId);
currentTenantContext.set(tenantInfo);
}
public static TenantInfo getCurrentTenantContext() {
return currentTenantContext.get();
}
public static String getCurrentDataPartitionId() {
return currentTenantContext.get() != null
? currentTenantContext.get().getDataPartitionId()
: null;
}
public static void clear() {
log.info("Clearing tenant context, current context: {}", currentTenantContext.get());
currentTenantContext.remove();
}
}
Will it be ok if I access the dataPartitionId from anywhere in my service via  method   TenantContext.getCurrentDataPartitionId() or it will create any dirty read issue given that MVC threads can be out of sync with graphql?

Hi, any input on the suggested approach for above problem? Also, a sample project would help me to better understand how to use ThreadLocalAccessor for retrieving the ThreadLocal values. Thanks in advance!

Hi @bclozel , any help would be highly appreciated

@koenpunt , please help here

@piyushrivastav you're asking a completely different question after your first.. That said, I don't think you should be using threadlocal storage if you're working with a reactive application. AFAIK the reason spring-graphql does use it is because graphql-java relies on it.

Indeed, the original question wasn't about a ThreadLocal. If you simply need to access an HTTP header from an @SchemaMapping method then https://github.com/spring-projects/spring-graphql/issues/715#issuecomment-1580737601 is correct.
If you must use a ThreadLocal, it's best to set it early, e.g. Servlet Filter and also implement io.micrometer.context.ThreadLocalAccessor. Notices that's a contract from the Micrometer context-propagation library, which replaced our own contract that we had in 1.0.

Hi @rstoyanchev , as requested earlier as well, can you please share a sample GITHUB project illustrating the solution? The reason I am requesting a sample is because I do not see on public github anyone has faced a similar challenge as mine.
I am setting ThreadLocal in my preHandle method from HandlerInterceptor interface as below:
  @Override
  public boolean preHandle(
      HttpServletRequest request, HttpServletResponse response, Object handler) {
    final String dataPartitionId = request.getHeader("data-partition-id");
    TenantContext.setCurrentTenantContext(dataPartitionId != null ? dataPartitionId : "tenant1");
    return true;
  }

  Now my major concern is, if I use this TenantContext anywhere apart from my DataFetcher (Controller method), is there a slightest of chance that MVC thread and GraphQL java may execute on different threads and might there be a dirty read? as the TenantContext is being set for each request.

@koenpunt , @rstoyanchev , please let me know if you think I should open a new issue with same content?

@koenpunt @rstoyanchev @rmorgan , can someone please help here?

@piyushrivastav Please stop pinging people directly. We cannot justify to spend time to create a sample dedicated to you use case. We have other priorities for the whole community.
Rossen already gave you the answer: use the context propagation library if you want to use a thread local. Have you tried using it for this case? Maybe share a sample application with what you have tried with context-propagation can help us give you more guidance.

@bclozel , Well, I am also a part of the same community :)
I would suggest to add a crisp example (with github sample) along with release doc for every new feature. That would help the community even more. I will share the tried and not working approach as per your response on StackOverflow "https://stackoverflow.com/a/69786664" shortly.

We don't have the bandwidth to create and maintain samples for every use case and feature. We expect the same for every community member.
Sharing a sample on a solved StackOverflow question won't help. Please share the sample here or create a new StackOverflow question.

Hi @bclozel , As mentioned in my previous comment:

@bclozel , Well, I am also a part of the same community :)
I would suggest to add a crisp example (with github sample) along with release doc for every new feature. That would help the community even more. I will share the tried and not working approach as per your response on StackOverflow "https://stackoverflow.com/a/69786664" shortly.

Please find the demo repo of things that I tried and didn't work here: https://github.com/piyushrivastav/springboot-graphql-demo
Also find the request collection export here:
Postman_Request.txt

I've just sent a PR to your sample project. Following Rossen's instructions and simplifying the setup was enough to get it working. See https://github.com/piyushrivastav/springboot-graphql-demo/pull/1

Hi @bclozel , but in here:https://github.com/spring-projects/spring-graphql/blob/f4a7c80cac8fb89f810dbd18e1734658c0d38f8d/samples/webmvc-http/src/main/java/io/spring/sample/graphql/greeting/GreetingController.java
You used RequestContextHolder. Why haven't you used the same in my case?
Also, previously as well,
String dataPartitionId = TenantContext.getCurrentDataPartitionId();
was giving header value perfectly but are we sure that this value is never going to be from a different thread? If yes, then how?

Those samples are outdated, this is why we have removed them from the repository.
In our reference documentation we also used RequestContextHolder, but that's just in case you want all request attributes to be available. Given your use case, the Servlet filter and the focused thread local accessor is fine.
With context-propagation, thread locals with accessors are copied into the GraphQLContext that is passed around during the execution of the GraphQL request. This context object is then reinstated as ThreadLocals or in the reactor context right before calling data fetchers (in this case, your controller). In short, we are handling this for you.

Thanks a lot for this explanation. I hope this will be helpful for the
whole community. Very highly appreciated! 😊
On Fri, 9 Jun, 2023, 6:44 pm Brian Clozel, @.***> wrote:

Those samples are outdated, this is why we have removed them from the
repository.
In our reference documentation
https://docs.spring.io/spring-graphql/docs/current-SNAPSHOT/reference/html/#execution.context.webmvc
we also used RequestContextHolder, but that's just in case you want all
request attributes to be available. Given your use case, the Servlet filter
and the focused thread local accessor is fine.
With context-propagation, thread locals with accessors are copied into the
GraphQLContext that is passed around during the execution of the GraphQL
request. This context object is then reinstated as ThreadLocals or in the
reactor context right before calling data fetchers (in this case, your
controller). In short, we are handling this for you.
—
Reply to this email directly, view it on GitHub
https://github.com/spring-projects/spring-graphql/issues/715#issuecomment-1584559012,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUJDAF4OOFFDYHVYDRJHQSLXKMOSZANCNFSM6AAAAAAY5XQO74
.
You are receiving this because you were mentioned.Message ID:
@.***>


Reimplement Tiled converter as a toolkit module

The goal would be to reimplement the functionnality offered by this tool : https://github.com/ObEngine/TiledIntegration as a toolkit module (coded in Lua).
The JSON library could either be C++ (https://github.com/nlohmann/json) or Lua (https://github.com/rxi/json.lua) for easier integration.

Duplicate of #98


can not import SOM

I am using Python 3.5.1 with PyCharm IDE on Windows. I am getting below error:
can you please help me?
C:\Python35\python.exe C:/Users/azzet/PycharmProjects/PythonSom.py
Traceback (most recent call last):
File "C:/Users/azzet/PycharmProjects/PythonSom.py", line 4, in
import sompy
File "C:\Python35\lib\site-packages\sompy_init_.py", line 2, in
from sompy import SOM
ImportError: cannot import name 'SOM'
Process finished with exit code 1

I have exactly the same issue

Me too

Me too

For those who cannot import sompy, like me, I just create my file in the dir "visualization".  I run the example successfully. But every time when I use it I need to copy those files to my dir again, a bad thing. Anyway , I can use sompy now. thanks to author!

Sorry, not tested with Py3. with Py2.7 it should work.

Is there any solution for this issue right now?

@compmonks did you have a solution for this? If I remember correctly you used it in py3?
Thanks

Sompy would not work when loaded as a package for  py 3+ for dependencies and syntax reasons.
@azize @sevamoo , I should have pushed a version for this. Let me know if it works.

I had the same problem and the SOMPY version forked by @compmonks worked for me:
pip3 install git+https://github.com/compmonks/SOMPY.git

I only had to remove ipdb import from sompy.py and mapview.py because due to other dependencies I had installed the ipdb import was opening a prompt in my setup.
Thank you @compmonks for the fork!

Have the same issue, but problem appers in my case also in python 2.7. Is there already a solution?

I have exactly the same issue

Same issue. It’s because of ipdb module.Afrer I commented them out in sompy.py and mapview.py, it worked.  It’s just debugger

Hi, I have the same issue. What exactly did you comment out? what is 'ipdb'?

how could i save the model , and predict the cluster  of new data , like kmeans in sklearn "model.predict(new_data)"?????????

Did anyone found the solution for this open issue?

I HAVE THE SAME ISSU

for me I installed SOMPY using the setup source, this fixed my bug last year. That longtime I've used it.

git clone https://github.com/sevamoo/SOMPY.git
cd SOMPY
python setup.py install
This fixed my issue

I get
Traceback (most recent call last):
File "D:\Projects\AI\SOM\data\sompy_clustering.py", line 3, in
import sompy as sompy
File "C:\Python\lib\site-packages\sompy_init_.py", line 2, in
from sompy import SOM
ImportError: cannot import name 'SOM' from partially initialized module 'sompy' (most likely due to a circular import) (C:\Python\lib\site-packages\sompy_init_.py)
Getting the package from GIT does NOT fix the issue. I have Python 3.10.5

I get
Traceback (most recent call last):
File "c:\Users\New\Desktop\clone\som\random_distributions.py", line 2, in
from som import simom
ImportError: cannot import name 'simom' from 'som' (C:\Program Files\Python312\Lib\s
ite-packages\som_init_.py)
PS C:\Users\New\Desktop\clone>


Icons in sprite selection dropdown

An idea I had to make things a bit easier to use:

What if drop-downs which allowed you to select sprites (like in the go to block) had little thumbnails of the sprite next to them to make it easier to find the sprite you're looking for?

From https://github.com/LLK/scratch-blocks/issues/526#issuecomment-232774138

Definitely sounds like worth experimenting with to me. Might be a little tricky to get the costume graphics into the drop-down menu, technically speaking.

Agreed. That could require a retina or 2k display...


Dataset problem

Excuse me, is there a label file for the test set. I only downloaded the test set image file from ribfrac challenge, but there is no test set label file. Can I provide relevant files, thank you!!

Please refer to RibSeg Dataset, the seg label files are named after RibFracN-rib-seg.nii.gz, the centerline files are named after RibFracN-rib-cl.nii.gz, for CT scans, refer to RibFrac Dataset.
The seg label could be obtained directly from those files.


Error correction.

Thanks you! I am actually surprised that somebody is using this project. Out of interest - what do you use it for?

Hi,
I used it 4 years ago when I did a web server for a company called Feuerlabs who had developed a service for management of IoT devices. However they didn’t succeed in attracting customers so they closed the company down some years ago.
To tell you the truth I was looking at cleaning up among my repos and was about to delete my fork but then I thought it was a pity to throw away these bug fixes so when I saw that it still was possible to merge them I decided to do a pull request first :-)
Malotte

On 3 Oct 2018, at 22:01, RomanShestakov<EMAIL_ADDRESS>wrote:
Thanks you! I am actually surprised that somebody is using this project. Out of interest - what do you use it for?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/RomanShestakov/nitrogen_elements/pull/1#issuecomment-426780128, or mute the thread https://github.com/notifications/unsubscribe-auth/AA8zdsBi-r57qtPR-jp1boZYii-l34Xfks5uhRedgaJpZM4XEtGY.


carthage build framework LaunchServicesError

The operation couldn’t be completed.
LaunchServicesError error 0.

Could you try now @SKIT1 ?


LOAM Mapping Task 2 - Integrate imageProjection from LIO-SAM

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I've agreed with the maintainers that I can plan this task.

Description
This task is the subtask of Point cloud feature extraction for LOAM based localization.

https://github.com/autowarefoundation/autoware.universe/issues/6741

In order to achieve LOAM mapping, firstly we need to project each point cloud into a planar surface. This can be an rangeMat.
Purpose

Getting projected simultaneous rangeMat to use.

Possible approaches

Use a matrix to create a projected point cloud rangeMat. The resolution of the matrix can change from point cloud to point cloud.

Definition of done

[ ] Visualize the rangeMat in RViz as a ROS2 topic.
[ ] See the rangeMat in ros2 topic echo ...

Hi guys.
I export a scheme of the imageProjection.cpp of the LIO-SAM. We will work this structure for this issue.

Hi everyone,
I visualized the rangeMat created for feature extraction as an Image topic. Here is the video of it:

https://youtu.be/0DJZfIX1ikA

You can see the visualization in the below image too.


Question: Do you have support for enum?

For me enums as the type i.e string in most case in swagger while the enum field being ignored.

Yes, we use enum.

For instance the following schema
"UploadResponse":
			{
                "type": "object",
                "properties": {
                    "user": {
                        "$ref": "#/components/schemas/User"
                    },
                    "id": {
                        "type": "number"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "RESOURCES",
                            "MESSAGES",
                            "COVER_IMAGE"
                        ]
                    },
                    "file": {
                        "type": "string"
                    },
                    "originalName": {
                        "type": "string"
                    },
                    "mimetype": {
                        "type": "string"
                    },
                    "size": {
                        "type": "number"
                    }
                },
                "required": [
                    "id",
                    "type",
                    "file",
                    "originalName",
                    "mimetype",
                    "size"
                ]
            }

produces the following schema.
import 'package:json_annotation/json_annotation.dart';

import 'user.dart';

part 'upload_response.g.dart';

@JsonSerializable()
class UploadResponse {
  const UploadResponse({
    required this.id,
    required this.type,
    required this.file,
    required this.originalName,
    required this.mimetype,
    required this.size,
    this.user,
  });

  factory UploadResponse.fromJson(Map<String, dynamic> json) => _$UploadResponseFromJson(json);

  final User? user;
  final num id;
  final String type;
  final String file;
  final String originalName;
  final String mimetype;
  final num size;

  Map<String, dynamic> toJson() => _$UploadResponseToJson(this);
}

My pubspec
version: 0.0.1

environment:
  sdk: ">=2.19.3 <3.0.0"

dependencies:
  dio: ^5.0.1
  json_annotation: ^4.8.0
  retrofit: ^4.0.1

dev_dependencies:
  flutter_test:
    sdk: flutter
  flutter_lints: ^2.0.0
  build_runner: ^2.3.3
  json_serializable: ^6.6.1
  retrofit_generator: ^5.0.0
  swagger_parser: ^0.8.0

swagger_parser:
  schema_path: lib/glu.json # Required. Sets the OpenApi schema path directory for api definition
  output_directory: lib # Required. Sets output directory for generated files (api clients and models)
  language: dart # Optional. Sets the programming language. Current available languages are: dart, kotlin. Default: dart
  squish_clients: true # Optional. Set 'true' to put all clients in one folder. Default: false
  client_postfix: Repo # Optional. Set postfix for client folder and Class. Works if there is only a single class or `squish_clients` is true. Default: ApiClient
  freezed: false

Please check latest version of package(0.9.1).

It is in components of schema?

It is in components of schema?

Yes

Please check latest version of package(0.9.1).

Just tried same result.

Thanks, I will fix this in next version

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                               ┃
┃   Welcome to swagger_parser   ┃
┃                               ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Generate...
Unhandled exception:
type '_Map<String, dynamic>' is not a subtype of type 'Map<String, Map<String, dynamic>>' in type cast
#0      OpenApiParser.parseRestClients. (package:swagger_parser/src/parser/parser.dart:323:18)
#1      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:625:13)
#2      OpenApiParser.parseRestClients (package:swagger_parser/src/parser/parser.dart:322:10)
#3      Generator._parseOpenApiDefinitionFile (package:swagger_parser/src/generator/generator.dart:116:27)
#4      Generator.generateFiles (package:swagger_parser/src/generator/generator.dart:101:5)
#5      main (file:///Users/jascodes/.pub-cache/git/swagger_parser-3a40c5ab61d0415ed4d68e3785fb6bd4d8b10b08/swagger_parser/bin/generate.dart:11:21)
#6      _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:295:33)
#7      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:192:26)

Was test the update got the above error

Yes, it is still beta. Thanks for finding this bug

@jascodes Try lates commit

I don't know why my backend guy keep creating enums for boolean 🤪
But in anycase I think you need to handle and prepend with $ or something for dart reserve keywords.

This error has already been fixed before, now I'll see if it got lost.

Fixed

Tried 4e255cf9317c232f905e73d4c36b63c3b2f8b4b3 but but weirdly same issue.

Strange

@jascodes
What is being generated now?

Ok. now it's definitely fixed.

Can confirm it does. Thanks for time and effort. 🫡


Rename to pekko-sbt-build?

We will have to do this at some point because eventually the plugin will sit in Apache org and Apache org doesn't allow repo's that don't start with the project name (which in our case is pekko).
We can find an opportune time to do this, @pjfanning wdyt?

I see no hurry on this. When we do bring this in as a Pekko repo, the package names will change too. So all the builds that use this plugin will need some changes and the package name is the biggest of those changes for that uptake.

Cool, agreed that this isn't urgent its just a reminder that we need to do it at some point.


Add ProviderRegistry

This is meant to address DT-1622 but I don't know if it does what the ticket intends.  @moltude can you take a look and give me feedback?  I may have wandered off into la-la land on this one.

@AudreyAltman Gut check here. Did you mean DT-1618?   DT-1622 was my sidecar metadata ticket.

Realizing this is out of scope for this ticket but I do have some concerns about how errors are now getting logged in MappingEntry.map().
PA only has ~187 mapping errors but the log file is now over 4,000 lines long if we are including stack traces. While this format my be helpful to us we should be thinking about a more concise and human readable summary that we can pass to either Gretchen or the provider.
Also, the accumulator counts are double what they should be. PA reported
Harvested 464464 records
Mapped 464090 records
Failed to map 374 records.

https://i.imgur.com/xrDZuNK.gif


Skip large files

Checklist

[x] I left no linting errors in my changes.
[x] I tested my changes.
[x] I updated the documentation according to my changes.
[x] I added my change to the Changelog.

Description
Closes #238
Add a try-catch-block around getting a file and uploading a file (toBlob) to ensure that files that are too big are just ignored. The Action will produce a warning message (example :arrow_down:) when this happens so that users can find out about it relatively easy. What do you think about this @crstauf?

Though the original report was only w.r.t. downloading files, optimizing the SVG might(!) increase the file size and I suspect there is a similar size-limit for uploading files. Hence, I added the check to both events.

For completeness, I mentioned that one "[...] can configure the comment to show the number of SVGs that were skipped". After some more testing I realised that the SVGs that are too big will actually not be counted at all. All the more reason to implement #241.


Adding LCD sample and SPI support

This PR includes support for SPI connections on devices running Unix based OS and a GPIO sample to display text on a LCD screen.

Thanks @edgardozoppi for making the changes requested.


Firefox crash when moving cursor between monitors of different scales

Hyprland Version
Hyprland, built from branch main at commit cd96ceecc551c25631783499bd92c6662c5d3616 dirty (build: remove nv patches (3957)). Tag: v0.32.3-75-gcd96ceec  flags: (if any) debug
Bug or Regression?
Bug
Description
I have two monitors, one is 4k of scale 2 on the left and the other is 1080p of scale 1 on the right:
monitor=DP-1, preferred, 0x0, 2
monitor=DP-2, preferred, 1920x0, 1

Firefox and other Firefox-based applications (such as Thunderbird) crash when the window is on the left screen, and I move the cursor around its right edge (which is also the boundary between monitors), see the video for details:
https://github.com/hyprwm/Hyprland/assets/5774651/7db691f8-c0f4-4348-8636-4564dfaf47f0
Specifically, the crash happens only if the two monitors are of different scales. For instance, the following two settings are fine:
monitor=DP-1, preferred, 0x0, 2
monitor=DP-2, preferred, 1920x0, 2

monitor=DP-1, preferred, 0x0, 1
monitor=DP-2, preferred, 3840x0, 1

but this also leads to a crash:
monitor=DP-1, preferred, 0x0, 1
monitor=DP-2, preferred, 3840x0, 2

How to reproduce

Enable native wayland of firefox via env = MOZ_ENABLE_WAYLAND,1
Setup two monitors of different scales
Launch Firefox, make sure one edge of its window overlaps with the boundary between monitors
Move the cursor around the edge, observe FF crash

Crash reports, logs, images, videos
No response

can you launch ff with WAYLAND_DEBUG=1 and attach the output of it when the crash happens?

can you launch ff with WAYLAND_DEBUG=1 and attach the output of it when the crash happens?

here's stderr w/ that env https://fars.ee/2h6R
pay attention to outputs around Exiting due to channel error.

check the above commit

thanks for the update, issue fixed now.


Update to latest plotly

Fixes #122
No worries if you actually don't want to update to latest plotly.
Did a spot check and things look right to me. Here's a few screenshots.

@birdsarah Thanks, looks great - merging it.
Also, we're thinking of migrating away from plotly in the future and go for a javascript plotting library. What there be something you'd recommend?


clang-format attempts to reformat skrouterd.json - non-C files should not be reformatted

workaround: remove the pre-commit hook from your local repo if you've installed it:
$ pre-commit uninstall
Run 'git clang-format' by hand and 'git restore [path]/skrouterd.json' prior to committing the change.

workaround: remove the pre-commit hook from your local repo if you've installed it:
$ pre-commit uninstall
Run 'git clang-format' by hand and 'git restore [path]/skrouterd.json' prior to committing the change.

The above instructions worked for me. Thanks.

workaround: remove the pre-commit hook from your local repo if you've installed it:

why remove the hook? simply commit with git commit --no-verify which skips running the hook for that commit.
The rest (git restore) is IMO good advice, that can be used together with --no-verify


Website is down

The URL: https://rust-lang-nursery.github.io/rustc-guide/
Produces:

Maybe someone changed something in the settings of the repo? I would check, but I don't have access.

Hmm... that might have been me. I fat-fingered the delete-branch button earlier and restored the branch, but maybe github didn't catch on? (It's a good thing the master branch is protected!)

I just pushed a dummy commit to the gh-pages branch in hopes of spurring github to rerender...

@nikomatsakis Could you confirm that the GH pages is still enabled?

You may have to reconfigure it in the settings if the branch was deleted.

Oh, :disappointed:
I don't have permissions to fiddle with settings...

@nikomatsakis confirmed that the right branch is enabled, but it appears to be stuck building the site. I'm going to contact support.

Thanks for investigating @sunjay

I contacted Github support and the site is back up! Here's their reply:

Hi Sunjay,
We require that an admin of the repo create the initial Pages build. It looks like all the pushes on this repo to the gh-pages branch have happened from users that are not an admin or owner.
I went ahead and triggered a build for you manually, but going forward have the owner of the repo create a commit in new repos and the site will build automatically.
Now that the site has been built once, future pushes will automatically trigger a rebuild regardless of which user pushes the changes.
Hope this helps! Let us know if you need anything else.

So hopefully that clears up what happened.

Thanks @sunjay !


How to make a Launcher

Hi Zhuowei or whoever is reading is this, im trying to make my own version of block launcher and imported the repository to build a file under workflow BlockLauncher, but it always gives out an error, is there any fix to this and if not, how exactly did you make blocklauncher? what libraries and stuff did you use? any expertise / tips or tricks i should know about? Thanks !

If u made a app possible pls post a link here


Updating the example code to be more intuitive and to generate a post…

… that helps Anon.
We need to update our Quickstart guide a bit before merging this.

ran successfully w/ output
 ~/anon/examples/run-typescript   daniel-updated-example-code  yarn run dev
yarn run v1.22.22
$ npx tsx index.ts
Starting script execution...
Environment variables loaded.
Configuration set:
APP_USER_ID: Set
API_KEY: Set
ANON_ENV: sandbox
APP: linkedin
Creating Anon client...
Anon client created.
Starting main function...
Requesting linkedin session for app user id "41da5feb-4a06-401f-ad2b-475d3a189859"...
Setting up Anon browser with context...
Anon browser setup complete.
Getting first page from browser context...
Page acquired.
Executing runtime script...
Starting linkedInCreatePost function...
Step 1: Navigating to LinkedIn homepage...
Successfully navigated to LinkedIn homepage.
Screenshot taken: 1-linkedin-homepage
Step 2: Waiting for page to load...
Waiting for network to become idle...
Network did not reach idle state within timeout, continuing...
Screenshot taken: 2-after-page-load
Step 3: Locating 'Start a post' button...
'Start a post' button located and visible.
Screenshot taken: 3-before-clicking-start-post
Step 4: Clicking 'Start a post' button...
'Start a post' button clicked successfully.
Screenshot taken: 4-after-clicking-start-post
Step 5: Waiting for post creation modal...
Post creation modal is visible.
Screenshot taken: 5-post-creation-modal
Step 6: Locating and interacting with text editor...
Post content written successfully.
Screenshot taken: 6-after-writing-post
Step 7: Locating and clicking 'Post' button...
'Post' button clicked successfully.
Screenshot taken: 7-after-clicking-post
Step 8: Waiting for post confirmation...
Post confirmation received.
Screenshot taken: 8-after-posting
LinkedIn post creation process completed.
Runtime script execution completed.
Script execution finished successfully.
Script execution completed.
✨  Done in 96.46s.

TimeoutError
 ~/anon/examples/run-typescript   daniel-updated-example-code ±  yarn run dev
yarn run v1.22.22
$ npx tsx index.ts
Starting script execution...
Environment variables loaded.
Configuration set:
APP_USER_ID: Set
API_KEY: Set
ANON_ENV: sandbox
APP: linkedin
Creating Anon client...
Anon client created.
Starting main function...
Requesting linkedin session for app user id "41da5feb-4a06-401f-ad2b-475d3a189859"...
Setting up Anon browser with context...
Error in main function: browserType.connectOverCDP: Timeout 30000ms exceeded.
Call log:
  - <ws connecting> wss://connect.browserbase.com/

    at Proxy.connectOverCDP (/Users/hyun/anon/examples/run-typescript/node_modules/playwright-extra/src/extra.ts:211:68)
    at async initializeAnonBrowser (/Users/hyun/anon/examples/run-typescript/node_modules/@anon/browser/dist/index.js:35:25)
    at async setupAnonBrowserWithContext (/Users/hyun/anon/examples/run-typescript/node_modules/@anon/browser/dist/index.js:56:21)
    at main (/Users/hyun/anon/examples/run-typescript/index.ts:61:25) {
  name: 'TimeoutError'
}
Script execution completed.
✨  Done in 33.77s.

testing
 ~/anon/examples/run-typescript   daniel-updated-example-code ±  yarn run dev
yarn run v1.22.22
$ npx tsx index.ts
Starting script execution...
Environment variables loaded.
Configuration set:
APP_USER_ID: Set
API_KEY: Set
ANON_ENV: sandbox
APP: linkedin
Creating Anon client...
Anon client created.
Starting main function...
Requesting linkedin session for app user id "41da5feb-4a06-401f-ad2b-475d3a189859"...
Setting up Anon browser with context...
Anon browser setup complete.
Getting first page from browser context...
Page acquired.
Executing runtime script...
Starting linkedInCreatePost function...
Step 1: Navigating to LinkedIn homepage...
Successfully navigated to LinkedIn homepage.
Screenshot taken: 1-linkedin-homepage
Step 2: Waiting for page to load...
Waiting for page to load...
Page loaded.
Screenshot taken: 2-after-page-load
Step 3: Locating 'Start a post' button...
'Start a post' button located and visible.
Screenshot taken: 3-before-clicking-start-post
Step 4: Clicking 'Start a post' button...
'Start a post' button clicked successfully.
Screenshot taken: 4-after-clicking-start-post
Step 5: Waiting for post creation modal...
Post creation modal is visible.
Screenshot taken: 5-post-creation-modal
Step 6: Locating and interacting with text editor...
Post content written successfully.
Screenshot taken: 6-after-writing-post
Step 7: Locating and clicking 'Post' button...
'Post' button clicked successfully.
Screenshot taken: 7-after-clicking-post
Step 8: Waiting for post confirmation...
Post confirmation received.
Screenshot taken: 8-after-posting
LinkedIn post creation process completed.
Runtime script execution completed.
Script execution finished successfully.
Script execution completed.
✨  Done in 30.15s.


Critical Questions: Client Certificate Handling

Hello,
I need more details on what Azure App Service does when it receives a request that includes a Client Certificate. The docs here state:
"App Service does not do anything with this client certificate other than forwarding it to your app."
I'm certain this is not complete information as App Service likely ensures the client requestor is in possession of the private key associated with the certificate in the request.
Does App Service perform any OCSP lookups on the cert to ensure it is valid? What about check the NotValidBefore/After dates on the cert?
Is this all up to the application code to check?
Thank you
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: eb440603-950a-c224-f6c9-222ca502d5a5
Version Independent ID: 0b5c4944-0327-91fc-2b0b-c19a1b873b64
Content: Configure TLS mutual authentication - Azure App Service
Content Source: articles/app-service/app-service-web-configure-tls-mutual-auth.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

Thanks for the feedback! We are currently investigating and will update you shortly.

@ericthomas1, apologies for the delayed response. I'm trying to get clarification, but I do believe there isn't any logic that is done against client certificates. The reasoning behind this is to allow customers to do any sort of validation they choose without being confined to a preset of rules.

How is this client cert being used with App Service - is the site getting uploaded as PFX or is this a certificate from AKV imported to webapp? If the cert is uploaded & used with AppService then we do some basic validation for expiration.
If the certificate on AKV - then AKV team might do more detailed checks & while being imported to webapp as well we will still similar validation checks. Hope this helps.

@RyanHill-MSFT:  Thanks for the response.

I need to know if Microsoft does any type of validation on the cert
Does it check whether the cert is self-signed?
Does it check whether the cert is expired (not-valid-before/after dates)?
Does it check whether the cert is revoked (using the OCSP URL listed on cert)?
OR is it all up to the application code to perform these actions?

@panchagnula:
RE: "How is this client cert being used with App Service...":

Its being used to authenticate clients to the web service
I set Client certificate mode to Require

The App Service plan is hosting the Azure Function

Hi @ericthomas1, it's up to your application code to perform all validation requirements. App Service doesn't perform any sort of validation.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

Pointing folks to other potentials here...

For those that want some level of ClientCert control at the endpoint hosting their API (rather than placing "it all" on the app code)
https://docs.microsoft.com/en-us/learn/modules/control-authentication-with-apim/4-secure-access-client-certs


"Smart copy" copy more than needed

How to reproduce :
Selecting a partial line and right clicking "Copy" and then pasting it show that the selection isn't respected :
 )

What is expected :
Only the selected area is copied
How to fix :

Quick : an option to disable "smart copy"
Long term : manual selection should be prioritize over smart copying

This is the same for copy by both Ctrl+Shift+c and context menu copy.


[uss_qualifier] netrid: nominal_behavior also covers max area requirement for SPs

The nominal_behavior scenario already checks off NET0430 (which requires a Display Provider to not return data if the requested diagonal is too big).
The PR adds coverage for NET0250 in the same check, as:

I am not aware of any straightforward mechanism that would let us differentiate between a display provider and service provider
I'm assuming that if the entity under test is a display provider, checking off requirements for a service provider is not a problem (as long as they succeed)

Part of the effort for #754

I'm not convinced the approach is ideal: those are different requirements for different participants, different requirements, with data coming from similar but different interfaces. However it does look like the implementation may require a refactoring as there is some mixing of DP and SP flows. I'd say that's a good topic for today's meeting?

You're right that this is not ideal: I got confused and mixed SP and DP check logic.
nominal_behavior has separate test steps for Service Provider polling and Observer polling.
Taking this to draft while I move the check to the proper place.


Fixed issue #11 with bootstrap button being too far to the right.

The problem is that the button's parent container had a fixed width. So the button would inherit that width, and be stuck way over on the right.

Closing this now, because it is no longer relevant.


Add Storybook to Project

Add Storybook to Project
Why
Want to show a demo of storybook working with our application. This will demonstrate one method to abstract component development and be able to work some frontend tickets in isolation of the larger application.
How
Add storybook. Add override to package.json to override vite version. Update quasar config to add tables. Add ScheduleList test component. Add link to new schedule list page for testing. Update routes to accomodate new schedule list page. Add storybook examples. Add example store for new schedule-list component.

Apologies - this one flew under my radar because I got in the habit of focusing my teammates' pulls... As far as the mobile team goes, we may be too late in the semester to actually incorporate Storybook. But I am certainly not opposed to having it in and available for future classes to use, obviously provided the conflicts are taken care of (sorry again!). Having said that, I think I should probably leave the final say up to @jak103 whether or not to go ahead and merge this one.


feat(#51): support changed tokens, integrate userinfo, and use groups claim

mostly solves #51

closing this in favor of the combined, rebased PR https://github.com/eurofurence/reg-payment-service/pull/54


Weird results on MipNeRF360 dataset for merf with your given parameters

I run the following code:
python main.py data/bonsai/ --workspace trial_merf_360_bonsai    --enable_cam_center --eval_cnt 1 --save_cnt 1 --downscale 4 #--fast_baking
And I finally get a weird result like this:

Do you know why this happened and how to fix it?

I had same result at bonsai subdataset, but got better result at bicycle subdataset.
Was wondering about re-doing training would occur that weired result.
cuz when i train same dataset again, it gets much faster. I'll let you know if i get something


Heap keeps continuously growing with tenant loading and Unloading due to Unnamed pool threads.

Description:

The heap memory keeps continuously growing with tenant loading and Unloading due to
Steps to reproduce:

Under the deployment.toml file of APIM 3.2.0 set less tenant idle timeout to replicate the issue.
[tenant_mgt]
tenant_idle_timeout='2'
Start the server.
Create a few tenants.
Publish and Subscribe APIs for each tenant.
Capture a heap dump.
Wait till the tenants are unloaded.
Invoke the APIs to load the tenants again.
Repeat steps 6 and 7 several times.
Capture a heap dump again.
You will observe that the heap keeps growing with the threads in the format of "pool-xxxx-thread-x

Affected Product Version:

APIM 3.2.0

Close the issue with public fix https://github.com/wso2/carbon-apimgt/commit/68f4864f9c031a04c21fef1c6663e18c02c77461


Add provider at laravel 8

Hi!
I am updating my Laravel project to version 8 and the model factory has changed a bit.
I tried with the code bellow with no success.
public function definition()
    {
        $this->faker->addProvider(new \FakerRestaurant\Provider\en_US\Restaurant($this->faker));
        return [
            'name' => $this->faker->fruitName(),
            'quantity' => $this->faker->randomFloat(null, 0, 100),
            'price' => $this->faker->randomFloat(null, 0, 100),
        ];
    }

Hello, send your error message for i can help you.

It looks like it's working here now. Thank you! I will close this issue.


cookiecutter should make it more obvious when it doesn't create a subdirectory

I clicked through creating a project from the web app template and put it in a top-level directory rather than creating a subdirectory.
We really shouldn't let this happen. Either we need to provide a subdirectory by default when not explicitly adding to an existing project, or make it much clearer where the files are going to go.

@huguesv Let's get this one sorted asap. Pick something that will make people succeed by default and we can argue the details after the upcoming release.

The files always go in the folder you've specified in "Create To".  I'm not sure what the problem is?

That folder is my Documents by default, and should be "Documents\Visual Studio x\Projects" with #1611, but neither of these is a good root for the project. The problem is it's too easy to miss the fact that I need to change the field.
One other option would be to make it empty by default and force the user to fill it in.

I think leaving it empty may be good option for now. The watermark will help make it more obvious, and the fact it's not pre-filled will avoid misleading them.

Either that or adding the name of the template at the end, followed by a "-1", "-2", etc. if it already exists.

Let's go blank for now. We discussed the idea of tagging some properties as "likely project names", so we should use that.

It's blank now, so I've removed the release-blocking label, but keeping this open so we can improve for next release.

I think we can close this now?

Yep


nan type

Since float('nan') != float('nan') we need a custom FloatNan type.

inf/-inf too?

definitely still interest, no drawback I know of to math.isnan.
I guess we have FloatNan, FloatInfPos, FloatInfNeg?

I would consider a more general FloatInf as well (that's the use case it brought me here in the first place).
Just to make sure on naming convention, they should all have a Is prefix, correct?

Sorry, yes Is prefix.
FloatInf is fine by me.

This is done, yes?


Improve the documentation of GLTFDocument's append methods

The append methods add data to a passed-in GLTFState, they don't return a new one.

Thanks!


Check for VLAN or VXLAN in NetworkDaoImpl.listByPhysicalNetworkPvlan

Description

This PR fixes #5071; where it was reported an issue when creating a network with VXLAN.
Exception raised:
2021-06-03 11:09:55,724 ERROR [c.c.a.ApiServer] (qtp1665620686-39719:ctx-bf7efb52 ctx-c73431d6 ctx-c4105005) (logid:2252fead) unhandled exception executing api command: [Ljava.lang.String;@6b3403ea
com.cloud.utils.exception.CloudRuntimeException: VLAN requested but URI is not in the expected format: vxlan://525
        at com.cloud.network.dao.NetworkDaoImpl.listByPhysicalNetworkPvlan(NetworkDaoImpl.java:784)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[X] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
N/A
How Has This Been Tested?

1. Before fix:
Tested deploying a Zone with VXLAN and it failed: the same exception reported on issue #5071:
2021-06-03 21:24:49,358 ERROR [c.c.a.ApiServer] (qtp2109798150-18:ctx-03f9860b ctx-6124ca66) (logid:2f1fa8b3) unhandled exception executing api command: [Ljava.lang.String;@56cdd438
com.cloud.utils.exception.CloudRuntimeException: VLAN requested but URI is not in the expected format: vxlan://0
       at com.cloud.network.dao.NetworkDaoImpl.listByPhysicalNetworkPvlan(NetworkDaoImpl.java:784)
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
       at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)

2. With the proposed fix at this PR:
I was able to deploy a network with VXLAN.

@blueorangutan package

@GabrielBrascher a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: centos7 :heavy_check_mark: centos8 :heavy_check_mark: debian. SL-JID 159

@blueorangutan test

@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian Build Failed (tid-852)

@blueorangutan test

@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@rhtyd @GabrielBrascher
I confirm that the issue #5071 can be reproduced and fixed by this pr.

Trillian test result (tid-854)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36426 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr5074-t854-kvm-centos7.zip
Intermittent failure detected: /marvin/tests/smoke/test_routers_network_ops.py
Intermittent failure detected: /marvin/tests/smoke/test_vpc_redundant.py
Smoke tests completed. 85 look OK, 2 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true
Failure
313.92
test_routers_network_ops.py

test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false
Failure
324.30
test_routers_network_ops.py

test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL
Failure
505.78
test_vpc_redundant.py

test_03_create_redundant_VPC_1tier_2VMs_2IPs_2PF_ACL_reboot_routers
Failure
521.62
test_vpc_redundant.py


allow activesupport 4.2.2 since 4.2.1 had XSS and DoS vulnerabilities

i had to update this to update argo to pass the bundle-audit check for deployment.  hopefully these minor dependency relaxations are acceptable.  unit tests passed for me on my laptop.

@cbeer obviated the need for this with pull request #10.


Use nativeEvent.layout in onLayout, instead of buggy measureInWindow

On Android with Expo (and its default translucent statusbar) the touchesTop
detection is incorrect. This is because measureInWindow has a bug that makes
its behaviour inconsistent with other platforms:
https://github.com/facebook/react-native/issues/19497.
This PR replaces the usage of measureInWindow with the use of
nativeEvent.layout (which is the workaround provided in the issue linked
above). This makes touchesTop detection work for android correctly so
forceInset={{ top: 'always' }} doesn't have to be provided anymore.

Sorry for not responding to this earlier. The repro case is simply:

use an android device with Expo (create-react-native-app)
put anything at the top of the screen (for instance a  element)
see that it goes below the status bar.


Question: is it possible to change position of "more info" button?

I need to move button that opens site in bottom right corner. Is it possible?

There is no such ability according to comments on forum.