SigV4 sign arbitrary requests

Botocore Sigv4 signs all AWS API Requests. It should expose the ability to sign arbitrary https requests.
API Gateway has an AWS_IAM auth mechanism and this results in needed to sigv4 sign https requests to domains not included in the usual Python SDK. As more databases (like Neptune) offer AWS IAM auth to manage database permissions, this problem will appear more frequently. The current "recommended" approach is to use a random third-party library named "aws-requests-auth" but that library isn't maintained by AWS and I'd really like to avoid asking new devs to Google "AWS SIgv4 Python", which returns about a dozen different repos. Should AWS be encouraging people to use 3P libraries for something as important as signing requests?
I propose that botocore expose some functionality to attach SigV4 Auth to any request. I think this can be accomplished by adding a def __call__(self, request) method to the SigV4Auth class and I'd even be willing to implement and test this feature if the botocore team agrees that this feature is needed.
I hacked together a way to perform the signing with the existing functionality, but it's pretty sloppy and requires building two requests in parallel then stripping the auth bits out of one so that we can send the other.
https://gist.github.com/rhboyd/1e01190a6b27ca4ba817bf272d5a5f9a

In my ideal world, this is available on the Session object, so I could do something like session = botocore.Session(); response = requests.get(url, auth=session.signer()) or something similar. And then also made available on the boto3 Session object, so I don't have to muck about getting the botocore session out of it.

@rhboyd -Thank you for your post. I would mark this as a feature request.

I was surprised to find this wasn't already a feature! This would be hugely beneficial for AWS_IAM secured API Gateway endpoints.

I'd also be happy to do implementation work on this, as long so the botocore team is ok with the new __call__ on SigV4Auth.

It could be a new wrapper class with a __call__ method

I've discovered a cleaner way to do this lately
import boto3
from botocore.auth import SigV4Auth
from botocore.awsrequest import AWSRequest
import requests

session = boto3.Session()
credentials = session.get_credentials()
creds = credentials.get_frozen_credentials()

def signed_request(method, url, data=None, params=None, headers=None):
    request = AWSRequest(method=method, url=url, data=data, params=params, headers=headers)
    # "service_name" is generally "execute-api" for signing API Gateway requests
    SigV4Auth(creds, "service_name", REGION).add_auth(request)
    return requests.request(method=method, url=url, headers=dict(request.headers), data=data)

def main():
    url = f"my.url.example.com/path"
    data = {"environmentId": self._environment_id}
    headers = {'Content-Type': 'application/x-amz-json-1.1'}
    response = signed_request(method='POST', url=url, data=data, headers=headers)

if __name__ == "__main__":
    main()

I've discovered a cleaner way to do this lately
[...]

Isn't this basically the same thing as your original Gist (I'm assuming @rhboyd and @richardhboyd are the same person... apologies if not), but without calling AWSRequest.prepare()? Looking at the source it seems like it isn't doing much anyway.

yeah, the request.headers part can also be re-used for websockets that need IAM Auth (Neptune Gremlin connections) and the credentials work in a more environment agnostic way as well.

@rhboyd can we also pass security token as well? I need to pass assume role credentials along with signed header?

can you clarify the question a little bit? you can sign requests using the security token  as well but you shouldn't have to pass the actual credentials in the header. the credentials should never be sent with a request (only a signature made from the credentials should be sent)

@richardhboyd thanks for coming back, so when I tried your botocore with AWSRequest and Sig4Vuth approach I was getting that 'code': 'ACCESS_DENIED', 'message': 'User: arn:aws:sts::myrole is not authorized to perform: execute-api:Invoke on resource: soyrcerole /GET/sites with an explicit deny'}
I tried second approach where I manually signed the signature using aws documentation(https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html) its saying security token is invalid 'message': 'The security token included in the request is invalid, so I thought to pass security token and provided signed again, I was getting INVALID_REQUEST The request signature we calculated does not match the signature you provided.
Checkyour AWSSecretAccessKey and signingmethod.Consult the service documentation for details.TheCanonical String for this request should have been. and just for FYI, its working on POSTMAN when I'm passing assume role credns.

the first message meant that the request was signed properly but you didn't have permission to invoke the API. what does the API's resource policy look like?

I confronted same to use but they have added my lambda exn role in there config, and api resource policy expects credentials need to be added to a header in the request somehow. But the kind of header the request needs is to do with sigv4 signing

Okay, so there's a few different resources here we need to be clear about.
-API Gateway API
-API Gateway execution Role (let's call this RoleA)
-Lambda Function Execution Role (RoleB)
-Role the signs requests that are sent to the API (RoleC)
The API Gateway resource policy needs to allow RoleC to "execute-api" for any path in the API that is needed.
RoleA needs permission to invoke the Lambda Function and needs to have a trust policy that lets the API Gateway service assume that role.
On Nov 17, 2021, at 8:14 AM, RahulPATK @.***> wrote:

I confronted same to use but they have added my lambda exn role in there config, and api resource policy expects credentials need to be added to a header in the request somehow. But the kind of header the request needs is to do with sigv4 signing
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/boto/botocore/issues/1784#issuecomment-971568134, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AN4IKXY6PNMYNKNH3S5NDT3UMOTAJANCNFSM4ID37Q5A.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-API Gateway API
-API Gateway execution Role (let's call this RoleA) -- Configured
-Lambda Function Execution Role (RoleB) -- Configured
-Role the signs requests that are sent to the API (RoleC)
The API Gateway resource policy needs to allow RoleC to "execute-api" for any path in the API that is needed  -- need to check
RoleA needs permission to invoke the Lambda Function and needs to have a trust policy that lets the API Gateway service assume that role -- Configured

@richardhboyd its done, issue was with headers,
so, first, I manually signed, using aws documentation, https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html,
second, please make sure to add security token when using assume role
third, please make sure canonical String will in appropriate order
bingo.


Update conversion, validating, and mutating webhook configurations based on certificate manager updates

Please describe the Improvement and/or Feature Request

Update conversion, validating, and mutating webhook configurations based on certificate manager updates
To do:

[ ] Subscribe to updates to the conversion, validating, and mutating webhook certificates on the cert rotation chan in the certificate Manager.  On updates, update the respective webhook configuration

Scope (please mark with X where applicable)

New Functionality          [x]
Certificate Management     [x]

Part of #4839

/assign

Just added a few notes from looking into this issue:
Webhooks that need updates:
Mutating Webhook
CRD conversion webhook
Validating webhook
Rotation subscriptions: https://github.com/openservicemesh/osm/blob/7abf10d787d37cbc79c207888e70248c3a9eef66/pkg/certificate/manager.go#L341
Cert management details: https://release-v1-2.docs.openservicemesh.io/docs/guides/certificates/
rotation steps: https://release-v1-2.docs.openservicemesh.io/docs/guides/certificates/#root-certificate-rotation

after looking into I believe this might already be partially implemented via:
https://github.com/openservicemesh/osm/blob/8030047c6dd9d237522b63e28fe175ec9a08fb74/pkg/validator/server.go#L52-L54
and
https://github.com/openservicemesh/osm/blob/8030047c6dd9d237522b63e28fe175ec9a08fb74/pkg/injector/webhook.go#L352-L361
It looks like the other two web hooks do similar things:
https://github.com/openservicemesh/osm/blob/fa17242a34b39d87b6555774795563aede46efaa/pkg/crdconversion/crdconversion.go#L74
https://github.com/openservicemesh/osm/blob/fa17242a34b39d87b6555774795563aede46efaa/pkg/crdconversion/crdconversion.go#L95-L98
These appear to have come in on https://github.com/openservicemesh/osm/pull/4833.
@steeling thoughts on if there is work to be done for this issue in case I am missing something?

actually, it looks like the webhooks don't currently subscribe to events via https://github.com/openservicemesh/osm/blob/7abf10d787d37cbc79c207888e70248c3a9eef66/pkg/certificate/manager.go#L341


Input from ARCamara to Holistic Scene

Feature Description
@homuler
I have been using this plugin from last 6 months and I found it very useful. It works great so far. Now I have specific requirement where I need to use both holistic and ARFoundation. I am planning to use face tracking using ARKit and rest of the body using holistic. To do so I created a sample scene with basic stuff and created script to listen for frame
`public void Start()
{
arCameraManager.frameReceived += OnARCameraFrameReceived;
}
private void OnARCameraFrameReceived(ARCameraFrameEventArgs eventArgs)
{
arTextureToUpdate = GetCurrentColorTexture();
OutputImage.texture = arTextureToUpdate;
ApplyNewTexture(arTextureToUpdate);
}
unsafe Texture2D GetCurrentColorTexture()
{
if (!arCameraManager.TryAcquireLatestCpuImage(out XRCpuImage image))
return null;
XRCpuImage.ConversionParams conversionParams = new XRCpuImage.ConversionParams
{
inputRect = new RectInt(0, 0, image.width, image.height),
outputDimensions = new Vector2Int(image.width, image.height),
outputFormat = TextureFormat.RGBA32,
transformation = XRCpuImage.Transformation.MirrorX
};
int size = image.GetConvertedDataSize(conversionParams);
NativeArray<byte> buffer = new NativeArray<byte>(size, Allocator.Temp);

image.Convert(conversionParams, new IntPtr(buffer.GetUnsafePtr()), buffer.Length);
image.Dispose();

if (arTexture == null)
{
  arTexture = new Texture2D(conversionParams.outputDimensions.x, conversionParams.outputDimensions.y, conversionParams.outputFormat, false);
}

arTexture.LoadRawTextureData(buffer);
arTexture.Apply();
buffer.Dispose();
return arTexture;

}`
Here I can see frame is being received and applied to sample raw image in UI. Now I thought of two approach
1 - Applying generated raw image directly in StaticImageSource and select Image in Bootstrap.
While implementing this I found changing image in Texture[] _availableSources does not actually apply because i think it initialise once only. To understand this better I looked more and found that new texture should be applied to _outputTexture also which was not applying when I change texture(either directly from inspector or from code). This is because InitializeOutputTexture was called once only. When I tried to make this call on OnARCameraFrameReceived I could see it was working,however RawImage in Screen.cs was not updating so I took reference of Screen.cs and applied new texture there. It was then working. I checked with couple of images and tried to change using code and found it working in editor. Then I created build for android and checked. After running around 5 seconds the app was crashing. I suspect it's because of memory consuption.  I was wondeing to know whether this is safe approach to use Image generated from ARCamara as input for mediapipe.
2 - In your comment above you mentioned if I have Texture2D at hand I can use it like this
// ReadFromImageSource(imageSource, textureFrame);
// Texture2D texture2d;
textureFrame.ReadTextureFromOnCPU(texture2d);
Here I am little confused about type of Image source. What should be selected here as input? WebCamara or Image? If i select image then point 1 above will apply and selecting WebCamara will conflict with ARCamara
Current Behaviour/State
No response
Additional Context
No response

Could you please describe the problem more simply? For example, while you have mentioned something that is working, it's unclear how they relate to the overall issue. Consequently, I don't understand what you really want to know.
Now I will answer the questions based on what I have understood.
TL; DR
You should not use ImageSource classes.
You should build an ImageFramePacket by yourself and send it to the CalculatorGraph (cf. https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-1096698719 )
Details
First, please note that source files under Assets are for the sample app.
You may use them but they are not intended to be used out of this project.
So you don't need to use ImageSource classes (e.g. StaticImageSource) to run the CalculatorGraph in your project.
To run the CalculatorGraph, you need to generate an input data (= ImageFramePacket) (cf. https://github.com/homuler/MediaPipeUnityPlugin/wiki/Getting-Started#send-imageframe ).
Once you've done that, there's no need to use ImageSource classes since the input data is already available.
Please read https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-1096698719 to see how to do that.

Here I am little confused about type of Image source. What should be selected here as input? WebCamara or Image?

In the sample app, ImageSource class is a source of input images. For example, StaticImageSource can be used as the Texture generator of a static image and WebCamSource is a wrapper class of WebCamTexture.
However, there's no ImageSource class which returns the ARCamera image, which means there's no proper ImageSource that can be used in your case.

So what I am looking for is to take input from ARCamera instead of WebCam.
So far what i have done is I generated Texture2D from Frame from ARCamera  as follows
`private void OnARCameraFrameReceived(ARCameraFrameEventArgs eventArgs)
{
arTextureToUpdate = GetCurrentColorTexture();
OutputImage.texture = arTextureToUpdate;
}
unsafe Texture2D GetCurrentColorTexture()
{
if (!arCameraManager.TryAcquireLatestCpuImage(out XRCpuImage image))
return null;
XRCpuImage.ConversionParams conversionParams = new XRCpuImage.ConversionParams
{
  inputRect = new RectInt(0, 0, image.width, image.height),
  outputDimensions = new Vector2Int(image.width, image.height),
  outputFormat = TextureFormat.RGBA32,
  transformation = XRCpuImage.Transformation.MirrorX
};

int size = image.GetConvertedDataSize(conversionParams);
NativeArray<byte> buffer = new NativeArray<byte>(size, Allocator.Temp);

image.Convert(conversionParams, new IntPtr(buffer.GetUnsafePtr()), buffer.Length);
image.Dispose();

if (arTexture == null)
{
  arTexture = new Texture2D(conversionParams.outputDimensions.x, conversionParams.outputDimensions.y, conversionParams.outputFormat, false);
}

arTexture.LoadRawTextureData(buffer);
arTexture.Apply();
buffer.Dispose();
return arTexture;

}`
Now if I pass this texture 2d to HolisticTrackingGraph will this work?
Like what you said here https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-962349426
The only difference here is  ReadFromImageSource(imageSource, textureFrame);  is now in ImageSourceSolution
Where T is HolisticTrackingGraph in my case
Hope this makes you clear
Please help Thanks

Now if I pass this texture 2d to HolisticTrackingGraph will this work?

The answer is the followings:

To run the CalculatorGraph, you need to generate an input data (= ImageFramePacket) (cf. https://github.com/homuler/MediaPipeUnityPlugin/wiki/Getting-Started#send-imageframe ).
Once you've done that, there's no need to use ImageSource classes since the input data is already available.
Please read https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-1096698719 to see how to do that.

Like what you said here https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-962349426

I said that "please read https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-1096698719", not https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-962349426.
Please read the implementation of the OnCameraFrameReceived method.

Thanks for the replay again
I think there is some mismatch in callback method
ARCameraManagerTest.cs(45,64): error CS0407: 'IntPtr ARCameraManagerTest.OutputCallback(IntPtr, int, IntPtr)' has the wrong return type
It gives me this error. I think it mismatch the correct paramenter

See https://github.com/homuler/MediaPipeUnityPlugin/issues/343#issuecomment-1773003981.

Thanks for the reply. It fixed the compile time error and I could see both ARCore face and I could see values in in Debug.Log(detection);
This works with face_detection_gpu.txt. However I am mainly looking for holistic solution. I tried to change text file from face_detection_gpu.txt to holistic_gpu.txt but it's not working. It gives error when i create apk. Below is error log.
MediaPipeException: NOT_FOUND: ; Unable to attach observer to output stream "face_detections" because it doesn't exist.
Mediapipe.Status.AssertOk () (at <00000000000000000000000000000000>:0)
ARCameraManagerTest+d__7.MoveNext () (at <00000000000000000000000000000000>:0)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <00000000000000000000000000000000>:0)
MediaPipeException: FAILED_PRECONDITION: ; CalculatorGraph::AddPacketToInputStream() is called before StartRun()
Mediapipe.Status.AssertOk () (at <00000000000000000000000000000000>:0)
ARCameraManagerTest.OnCameraFrameReceived (UnityEngine.XR.ARFoundation.ARCameraFrameEventArgs eventArgs) (at <00000000000000000000000000000000>:0)
UnityEngine.XR.ARFoundation.ARCameraManager.InvokeFrameReceivedEvent (UnityEngine.XR.ARSubsystems.XRCameraFrame frame) (at <00000000000000000000000000000000>:0)
UnityEngine.XR.ARFoundation.ARCameraManager.Update () (at <00000000000000000000000000000000>:0)

MediaPipeException: NOT_FOUND: ; Unable to attach observer to output stream "face_detections" because it doesn't exist.

Isn't this error message explaining the cause sufficiently?
See also HolisticTrackingGraph.
https://github.com/homuler/MediaPipeUnityPlugin/blob/2d2863ea740a6a5ad01854ea88ab5f48be2a36b6/Assets/MediaPipeUnity/Samples/Scenes/Holistic/HolisticTrackingGraph.cs#L220-L227
If you've not finished the tutorial, I strongly recommend you finish it first.

I tried tutorial but I could not make it work. I followed same steps. I am getting this error
ArgumentException: WebCamTexture.GetPixels32: the size of data to be written to would result in writing outside the target buffer bounds. (Texture '')
Mediapipe.Unity.Tutorial.FaceMesh+d__12.MoveNext () (at Assets/MediaPipeUnity/Tutorial/Official Solution/FaceMesh.cs:67)
Since holistic scene is working fine without ARCamara, to be honest I never needed to make any change. I used that scene as base and applied my calculation. Now the challenge is I am planning to use ARFoundation with this scene and struggeling to make it work.
I will definitely look into the HolisticTrackingGraph but first I am yet to understand why sample is not working


failed to work with Qt5.14.2 on Windows 10

Hi,
I tried to combine the lib with QT 5.14.2 for a GUI application on Windows 10, but failed
". Could you please have a look? Thanks a lot!

Do you have any code that I can use to reproduce the issue, please?

Hi sjinks, thanks for your reply.
My env is windows 10 with VS2019 and Qt5.14.2. I cloned the repo and tried to compile in "x64 native tools command prompt for vs 2019" as the docs mentioned: qmake -> nmake.
The following are my outputs:
nmake complained that 'timeval'  in "eventdispatcher_libev_p.h" is unrecognized. So I added "winsock2.h" and "windows.h" to the header. and tried nmake again, this time, it said "FILETIME" is undeclared, so I add "windows.h" for it.  Then, nmake said "don't know how to make libeventdispatcher_libev.a" and I renamed it to "eventdispatcher_libev.lib". Compile them again and all good so far. and I even have debug and release versions for them.
I just created a very simple QT GUI application. and added "QApplication::setEventDispatcher(new EventDispatcherLibEvQPA);" as the first line of the main function. the compilation was ok but failed to run as EventDispatcherLibEvPrivate::EventDispatcherLibEvPrivate->ev_async_start->evpipe_init->ev_syserr failed. So I added "WAStartup" as I used to when using libev on windows. But this time again, it failed in minkernel\crtsucrt\src\appcrt\lowio\osfinfo.cpp:260, Expression fh >=0 && (unsigned)fh < (unsigned)_nhandle.
I must be missing something important I don't know. Please kindly check this. Thanks a lot. Appreciate your work very much!


Babel-7-jest deprication

Description
Just wanted to point out that babel-7-jest is currently depricated as you can see right here. It would be a step forward to replace this module
References in the code:
https://github.com/redux-saga/redux-saga/blob/76361728b4149c4f6944cda69d3e97ec49bc5118/packages/core/package.json#L69
https://github.com/redux-saga/redux-saga/blob/2db9b0f8e5c5bda9eb900d92eb91a317c8c45a67/package.json#L55
https://github.com/redux-saga/redux-saga/blob/50efcd293414d6c73db93d09faebaadb47b06387/packages/core/babel-transformer.jest.js#L2

Thanks for pointing this out but we are aware about this issue - we are using that module temporarily because we want to support both babel@6 and babel@7 in our babel plugin. Using that module made it slightly easier for the time being from what I remember.


Problems trying to to create Version Controlling with Git in Azure Repos

The message that shows is "your project is being created" and the process never ends and the project is not created.

AB#3579

The message that shows is "your project is being created" and the process never ends and the project is not created.

The message that shows is "your project is being created" and the process never ends and the project is not created.

Hi @zuyiro
Looks like two issues are added under the same title

Project provision - this might be hung due to session expiry. You could try it again and see if this still exist.
Version control - Is the issue is related to importing source code into azure repos in the newly created project?

Hi @zuyiro
Looks like two issues are added under the same title

Project provision - this might be hung due to session expiry. You could try it again and see if this still exist.
Version control - Is the issue is related to importing source code into azure repos in the newly created project?


Procedure not compatible with azure CLI 2.37

Hello,
The RBAC procedure is not compatible with azure CLI 2.37 since the az ad commands have changed to Microsoft Graph API.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 55b2707d-7f51-554d-06dd-2cf71b906237
Version Independent ID: ab8a566c-adba-5c99-8a16-713f9c979774
Content: Azure RBAC for Azure Arc-enabled Kubernetes clusters - Azure Arc
Content Source: articles/azure-arc/kubernetes/azure-rbac.md
Service: azure-arc
Sub-service: azure-arc-kubernetes
GitHub Login: @shashankbarsin
Microsoft Alias: shasb

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

@BzSpi  - Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can review and update accordingly.

Hello @BzSpi- first of all, I want to apologize for the extremely long time to respond. We updated this article to include steps for 2.37 and later based on feedback from customers, including yours.
I'll close this issue now, but please let us know if you still have questions or concerns. Again, I'm sorry for the long delay in responding, and thank you for taking the time to share your feedback with us.
#please-close


Use jupytext paired notebooks

I'd like to propose using jupytext paired notebooks. This allows to have diffable py:percent encoded .py scripts under version control, which can be kept in sync with the .ipynb notebooks (bi-directional). (Actually I would have liked to use only py:percent files, these can be opened in Jupyter Lab as well as directly in VSCode as runnable cells, but unfortunately Google Colab does not open them, and storing cell outputs is not possible in that format.)
It looks like the notebooks under lessons do not store any cell outputs, while the solutions ones do. Is that correct? I've assumed so, so I deleted the lesson notebooks only. They can be re-created by using jupytext --sync.
If we do this and merge it before #10, that PR can be updated with jupytext and reviewed more easily.
Pair all notebooks globally:
# pyproject.toml
[tool.jupytext]
formats = "ipynb,py:percent"

Create py:percent .py files:
jupytext --sync lessons/*.ipynb
jupytext --sync solutions/*.ipynb
rm -f lessons/*.ipynb

Compare with jupytext-converted release branch:
git diff feature/jupytext..release/2023-11-jupytext -- '*.py'

# Re-create the .ipynb files:
jupytext --sync lessons/*.py

The solutions *.ipynb files  have been reformatted by this operation but are functionally unchanged. I think the pretty format is preferable anyway.

A next PR based on existing files would need to do the conversion as I describe here, but it takes no more than a few minutes. For the current PR I've already tested it locally to verify that it results in usable diffs; I could also push that commit to #10 (or a separate branch?).
I think using jupytext means trusting that the .ipynb and py:percent .py formats conversions are equivalent. I have only used it a few times, but in my experience it is correct, so I don't think there's any need for verifying other than maybe opening a few notebooks. There may be some non-relevant differences in metadata properties. (On the other hand, not using jupytext currently means needing to review without any readable diff at all because the notebooks are minified, we'd have to open the old and new versions of all changed files side by side and compare entire files visually for what are actually minor changes of a few lines).

Here's a diff between this branch and release/2023-11 with the jupytext conversion added.

Thanks for that diff, it's very convincing. I think jupytext would help not only for reviewing but also for authoring.

It looks like the notebooks under lessons do not store any cell outputs, while the solutions ones do. Is that correct? I've assumed so, so I deleted the lesson notebooks only. They can be re-created by using jupytext --sync.

We generally keep the output out of the lessons because we want to demonstrate them in class. We do save the run output in the solutions modules (sometimes), but only to save the course participants some effort. I wouldn't actually mind to just keep only the py:percent files in git and accept that the participants have to run the cells themselves. In fact, I think I prefer that.
If Google Colab cannot open the jupytext files, this does rise the question how to combine this change with #12. Maybe we could set up a GitHub Actions pipeline that commits .ipynb files to a separate branch, every time we push to main?
@JeltevanBoheemen What do you think?

The diff @ar-jan linked in a previous comment is 100% convincing enough to start using jupyter.
The small increase in overhead is not a big deal, it occurs once-twice every iteration of the course.
I would propose workin in the paired notebook format for now, for two reasons:

As mentioned, Colab only runs .ipynb. The annoyance he developers feel over using Colab is overshadowed by the simplicity of sharing the notebooks with the participants. Until we find a better/different way to host/share the notebooks, we are thus bound to .ipynb
The .ipynb format is very common these days, especially outside the "developer-sphere". I run into students all the time that have never engaged with Python without notebooks. The jupyter format is convenient for us, and also for those that would like to contribute to the course. But: for beginners wanting to self-pace the materials, or participants looking back, I think we should stick to the common format.

Question: why remove the lessons/*.ipynb in this PR?
Could you not create a PR purely on the changes to .py:percent files, and then sync just before merging?
I would like to keep the .ipynb files accesible in the repo.

We would use the .ipynb either way, the question is if we always check in both the .py and .ipynb to Git in the main/develop branches, or treat the .ipynb more like build artifacts and check them into branches like release/2024-10 which are used by the students. The .ipynb can be recreated from the .py via the sync operation.
I like the idea to use .py as leading. Looks clean and makes future PRs (with only .py files to compare) simpler, and the .ipynb would still be made available via the release branches. But either way would be OK with me.
I would have deleted the .ipynb files in both directories, except it seemed like the notebook outputs being stored for solutions was deliberate. But @jgonggrijp thinks it's OK to have students have to run the cells (and that makes sense to me as well, since that should always work).

Right, thanks for the explanation.
I argue (using the arguments from earlier comment) that we keep the .ipynb files available on main, so they are immediatly visible when someone visits the repository.

Alright, I've re-added lessons/*.ipynb.


improve source receiver map plotting

Related to #82
Previous source receiver map was very simple and not well adapted to global scales. It also did not center plots on the hypocenter of the event causing issues when the event was not located within the domain.
Changelog:

Catalog is plotted first, which centers figure around event hypocenter (except for global figures)
Logic check now selects between 'local' (<5000km), 'ortho' (<10000km) and 'global' projections based on the maximum source-receiver distance
Allow subsetting stations in the inventory based on trace idssubset = [tr.get_id() for tr in st][:100]
plot_source_receiver_map(inv=inv, event=event, subset=subset)

Two examples to show different plotting scales:

This is the map that is generated from pysep for the global Sumatra data:

Somehow I am not seeing the global view at the top of this issue.

This looks suspiciously like the old version of this function, can I ask what commit your version of PySEP is using?
The output of the following should suffice
git log --oneline -n 1

This is from inside OSL:
(base) jovyan@jupyter-carltape:~/GEOS626_seis/datawf/sumatra_BHZ_disp$ git log --oneline -n 1
b2229c7 (HEAD -> main, origin/main, origin/HEAD) lib_seis.py - updated function get_JB_Ptime
So when I do condat activate seismo, then pip list, I see both
pysep                         0.3.0
pysep-adjtomo                 0.3.1
I'll drop by to try to resolve this discrepancy. Thanks.


Set Task as errored if the Task doesn't define collection or process

Before this commit, we raised a NotImplementedError exception, which doesn't inherit from StandardError so is not caught by our rescue_from.
Even if we try to change our rescue_from to rescue from NotImplementedError, ActiveJob::Execution#perform_now doesn't rescue Exception like ActionController::Rescue#process does, so it doesn't catch the exception.
https://github.com/rails/rails/blob/v6.1.1/activejob/lib/active_job/execution.rb#L50
https://github.com/rails/rails/blob/v6.1.1/actionpack/lib/action_controller/metal/rescue.rb#L23

If we know that NotImplementedError can happen in our syste, why we don't rescue it in the Job#process?

I tried wrapping the the calls to collection and process instead: 9d8db9d1c73d19c3927c46bad574e338d2c5a683
That could work too, though the problem I see is that if someone uses NotImplementedError in their own code, and it gets called via Task#collection or Task#process, we would catch those too. So I also handled that in 584cbb2bb10be9a9adcbd7728f3abd04f99a8a90, the whole alternative implementation is in https://github.com/Shopify/maintenance_tasks/compare/missing-collection-wrap.
I think ultimately NotImplementedError is not well suited in this case, quoting the docs, it seems a bit like a stretch:

Raised when a feature is not implemented on the current platform. For example, methods depending on the fsync or fork system calls may raise this exception if the underlying operating system or Ruby runtime does not support them.

It is very useful for things like retry_on because we raise at file loading time, so it does sound like a ScriptError with an adequate name in this case.
I agree RuntimeError is not a great fit. I thought about ArgumentError, in the sense that the run argument of TaskJob does no implement what it needs to, but then I realized when you pass an object that does not implement what it needs to you get a NoMethodError:
puts(BasicObject.new)
# NoMethodError (undefined method `to_s' for #<BasicObject:0x00007f99e530ad00>)

Hash[BasicObject.new, true]
# NoMethodError (undefined method `hash' for #<BasicObject:0x00007f99e54e0f30>)

So I changed it to NoMethodError. That's what would happen in the first place if we didn't define it, which we only need as a placeholder for the documentation.

If we know that NotImplementedError can happen in our syste, why we don't rescue it in the Job#process?

I tried wrapping the the calls to collection and process instead: 9d8db9d1c73d19c3927c46bad574e338d2c5a683
That could work too, though the problem I see is that if someone uses NotImplementedError in their own code, and it gets called via Task#collection or Task#process, we would catch those too. So I also handled that in 584cbb2bb10be9a9adcbd7728f3abd04f99a8a90, the whole alternative implementation is in https://github.com/Shopify/maintenance_tasks/compare/missing-collection-wrap.
I think ultimately NotImplementedError is not well suited in this case, quoting the docs, it seems a bit like a stretch:

Raised when a feature is not implemented on the current platform. For example, methods depending on the fsync or fork system calls may raise this exception if the underlying operating system or Ruby runtime does not support them.

It is very useful for things like retry_on because we raise at file loading time, so it does sound like a ScriptError with an adequate name in this case.
I agree RuntimeError is not a great fit. I thought about ArgumentError, in the sense that the run argument of TaskJob does no implement what it needs to, but then I realized when you pass an object that does not implement what it needs to you get a NoMethodError:
puts(BasicObject.new)
# NoMethodError (undefined method `to_s' for #<BasicObject:0x00007f99e530ad00>)

Hash[BasicObject.new, true]
# NoMethodError (undefined method `hash' for #<BasicObject:0x00007f99e54e0f30>)

So I changed it to NoMethodError. That's what would happen in the first place if we didn't define it, which we only need as a placeholder for the documentation.


Add DialogSet.SetTelemetryClient(), and modify ComponentDialog

Incorporate Feedback from @Stevenic:
This enables ComponentDialog to set the TelemetryClient and updates all the underlying dialog's TelemetryClient

Add DialogSet.SetTelemetryClient(telemetryClient) which will set the telemetryClient on all contained dialogs.
Modify setter on ComponentDialog.TelemetryClient to set contained dialogs.

Pull Request Test Coverage Report for Build 44751

0 of 0   changed or added relevant lines in 0 files are covered.
17 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.1%) to 55.672%

Files with Coverage Reduction
New Missed Lines
%

/libraries/Microsoft.Bot.Builder.Dialogs/ComponentDialog.cs
17
70.11%

Totals

Change from base Build 44745:
0.1%

Covered Lines:
5472

Relevant Lines:
9829

💛  - Coveralls


Task that invokes CMake installed from pip on WSL doesn't work

Version: 1.33.1 (user setup)
Commit: 51b0b28134d51361cf996d2f0a1c698247aeabd8
Date: 2019-04-11T08:27:14.102Z
Electron: 3.1.6
Chrome: 66.0.3359.181
Node.js: 10.2.0
V8: 6.6.346.32
OS: Windows_NT x64 10.0.17763

On WSL, I installed cmake via pip3 install cmake (supposedly this is the best way to get the latest version of CMake on linux). Then I defined the following tasks.json:
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "CMake: Version",
            "type": "shell",
            "command": "cmake",
            "args": [
                "--version"
            ],
            "problemMatcher": []
        }
    ]
}

And got:
> Executing task: cmake --version <

The terminal process terminated with exit code: 1

Terminal will be reused by tasks, press any key to close it.

Default shell is WSL Bash. When using Command Prompt it's all working (using Windows's CMake).

@galah92 I installed cmake in wsl using sudo apt install cmake then ran your task. It worked as expected and printed the version of cmake. When I installed with pip3, it didn't work. Seems like that install path doesn't add cmake to the path.

@galah92 I installed cmake in wsl using sudo apt install cmake then ran your task. It worked as expected and printed the version of cmake. When I installed with pip3, it didn't work. Seems like that install path doesn't add cmake to the path.

But it does:
gal@GalA-T480:~$ which cmake
/home/gal/.local/bin/cmake
gal@GalA-T480:~$ echo $PATH
/home/gal/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files/WindowsApps/CanonicalGroupLimited.UbuntuonWindows_1804.2018.817.0_x64__79rhkp1fndgsc:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/iCLS:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/iCLS:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files (x86)/IncrediBuild:/mnt/c/Program Files (x86)/Microchip/xc32/v2.15/bin:/mnt/c/Program Files/Intel/WiFi/bin:/mnt/c/Program Files/Common Files/Intel/WirelessCommon:/mnt/c/Users/gal/AppData/Local/Programs/Python/Python37/Scripts:/mnt/c/Users/gal/AppData/Local/Programs/Python/Python37:/mnt/c/Users/gal/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/gal/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Program Files/CMake/bin:/snap/bin
gal@GalA-T480:~$

Even after adding the full /home/gal/.local/bin/cmake path (manually) it doesn't work.


Feat/generic error handling

name: Pull request
about: Contribute your changes to the project
title: '[pull-request]'
labels: ''
assignees: ''
Description
Consume bpmn errors and forward them to camunda.
Reference
Issues https://app.zenhub.com/workspaces/digiwf-621f70bf50ea1100120b7e93/issues/it-at-m/digiwf-project/149
Checklist

[ ] Acceptance criteria are met
[ ] Pipeline has been run successfully
[ ] JUnit tests have been run successfully
[ ] Changelog is adjusted
[ ] Documentations are completed
[ ] Frontend is tested
[ ] Created sub-branches are deleted
[ ] Boards are updated ( Digitalisierung , Support , Zenhub )
[ ] feature process is created or extended
[ ] git-ops is customized
[ ] Openshift environments are prepared (Secrets, etc.)

Good job! 👍


Redirect /docs/ to /docs-{latest}/

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

How are users affected by this change:
Is this breaking change:
How to migrate (if breaking change):

I will remove the branch protection rule for docs after being approved.

@khanhtc1202 Fixed 👍


Bump LLVM version to https://github.com/llvm/llvm-project/commit/668865789620f390fbad4d7093ed8ca6eb932c31

Thanks!


Print web link

Fixes #645
Checklist

[ ] Documented
[ ] Unit tested
[ ] release_notes.md updated

PollMatrices
  0m  0s matrix-1h3w820q84crs NexusLowRes-28 VALIDATING
  0m  0s matrix-1h3w820q84crs NexusLowRes-28 VALIDATING
https://console.firebase.google.com/project/flank-open-source/testlab/histories/bh.bf178d418be9d33e/matrices/6081298694548031160
  0m  5s matrix-1h3w820q84crs NexusLowRes-28 PENDING

Codecov Report

Merging #683 into master will decrease coverage by 0.15%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master     #683      +/-   ##
============================================
- Coverage     77.30%   77.15%   -0.16%
  Complexity      624      624
============================================
  Files           109      109
  Lines          2529     2534       +5
  Branches        360      361       +1
============================================
  Hits           1955     1955
- Misses          345      350       +5
  Partials        229      229


forked-daapd support

would be nice to have support for forked-daapd (at least status and some play/pause functionality)
if implemented it should also work for iTunes since it's based on the same protocol
see here:
https://github.com/ejurgensen/forked-daapd

@maddox would this have any overlap with your personal itunes media player platform?

No, my itunes-api media player component is specific for using with an installed version of https://github.com/maddox/itunes-api.
So yes, it controls iTunes, but it's really a client for itunes-api. (I'm thinking of giving it a proper project name, which would then change the component name and be less confusing in that it does not in fact talk directly to or control an instance of iTunes).
If i'm correct, forked-daapd is actually a project that makes itself appear as if it's an instance of iTunes on the network so that anything that can talk to iTunes, will talk to it. IE, an api compatible version. So no, there really is no actual overlap.
@snizzleorg can you confirm that I have the right idea behind forked-daapd?

@maddox yes thats right. forked-daapd is behaving like iTunes on the network. it can be controlled via apples remote app or dozens of android dacp remotes. It can stream to airplay speakers and stream spotify. I would say in function its more like songs. but the protocol is iTunes.

:thumbsup:

I found a few python implementation of daap:
https://github.com/j-muller/pydaap
https://github.com/tominsam/PythonDaap
not sure if either is working or actively developed

Closing this issue as feature requests should be posted in the forum.


Cleaning up unused parameters in logger setup

Fixes #1482

@mleanos check if this is simple enough for a clean up

LGTM.

Coverage increased (+0.04%) to 73.284% when pulling aae2707cabe7a722db350ac78afd04db4cb6c0e2 on lirantal:fix/logger-cleanup-unused-parameters into 015a430fecfc8a508c183a872516fa065b310f1f on meanjs:master.

Coverage increased (+0.04%) to 73.284% when pulling aae2707cabe7a722db350ac78afd04db4cb6c0e2 on lirantal:fix/logger-cleanup-unused-parameters into 015a430fecfc8a508c183a872516fa065b310f1f on meanjs:master.

Coverage increased (+0.04%) to 73.284% when pulling aae2707cabe7a722db350ac78afd04db4cb6c0e2 on lirantal:fix/logger-cleanup-unused-parameters into 015a430fecfc8a508c183a872516fa065b310f1f on meanjs:master.

Coverage increased (+0.04%) to 73.284% when pulling aae2707cabe7a722db350ac78afd04db4cb6c0e2 on lirantal:fix/logger-cleanup-unused-parameters into 015a430fecfc8a508c183a872516fa065b310f1f on meanjs:master.


Pytorch Metal Problem: Introduction to Keras for engineers

I copy/pasted the tutorial shown here: https://keras.io/getting_started/intro_to_keras_for_engineers/ and tried to run it on my Mac with the Pytorch Metal backend:
os.environ["KERAS_BACKEND"] = "torch"
os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"

I get the error:
File ~/miniconda3/envs/pytorch_keras3_py311/lib/python3.11/site-packages/keras/src/backend/torch/numpy.py:1347, in where(condition, x1, x2)
   1344     x2 = convert_to_tensor(x2)
-> 1347     return torch.where(condition, x1, x2)
   1348 else:
   1349     return torch.where(condition)

RuntimeError: expected scalar type long long but found int

Manual casting the second tensor to int64 works (but is of course only a band-aid for an underlying issue):
def where(condition, x1, x2):
    condition = convert_to_tensor(condition, dtype=bool)
    if x1 is not None and x2 is not None:
        x1 = convert_to_tensor(x1)
        x2 = convert_to_tensor(x2)
        x2 = x2.to(dtype=torch.int64)
        return torch.where(condition, x1, x2)
    else:
        return torch.where(condition)

CPU example works great, Keras and PyTorch versions are 3.0.4 and 2.1.0, respectively.
I also found I had to set the PYTORCH_ENABLE_MPS_FALLBACK environment variable, maybe that should be documented within the first pages of the documentation as well?
I have not had the time to look at the underlying reason for the problem but could give it a try unless you already know what the problem is.

Hi @pultar ,
It seems the issue is specific with Pytorch Metal. The tutorial works fine on colab environment without any modifications. Attached gist for reference.

The issue is indeed specific to the PyTorch metal. I think it was solved in this pull request https://github.com/pytorch/pytorch/pull/121476


Standardize wording of envvar/mc admin config links

This change standardizes the text for the "foo corresponds with bar" links between the list of envvars and mc admin config settings. (Thanks to @djwfyi for the suggestion.)
It also includes some opportunistic rejoining of hard wrapped lines.

This doesn't add a link from any relevant mc foo pages to their matching envvars. It could, with additional effort. (Or for now add it to the mc idp ldap ones, since that's a pretty direct correlation.)


do we need to "toggle results" on proposal votes?

can we just display the results automatically? do we need this button? if so, what's the thinking there?

The toggle exists because the team decided viewing the vote results before you vote may influence your ultimate decision. The conclusion was that we needed this button.


Add padrino support

Even, though, Padrino is a superset of Sinatra, the gem is not working in it.
This example made it work: https://gist.github.com/phildionne/5785087

I know this is and old issue but I've succedeed using will_paginate-bootstrap with Padrino.
I've added the following to my boot.rb (using DataMapper ORM):
Padrino.before_load do
require 'will_paginate/data_mapper'
require "bootstrap_pagination/sinatra"
end
Also I've added  the following to my app.rb:
register WillPaginate::Sinatra
I'm a Ruby/Padrino newbie so maybe it's not the best way to do this, but thanks to those lines I can use the will_paginate-bootstrap to paginate my results. I've tried to register the Sinatra
Great gem indeed! Thx

Thank you @n40lab for pointing out the critical line above.  I didn't have
require 'bootstrap_pagination/sinatra'
in my boot.rb under Padrino.before_load, and I was getting a App::BootstrapPagination::Sinatra undefined error.  Adding this line fixed it, and the pagination works beautifully.  Would have been a 5 minute task if not for this issue!  As you said - great gem indeed.


fix: don't exclude blade files so bladestan will work

Closes #2018
Thanks!

This is not so easy.

Why not? The actual paths that are analyzed should be specified by the end user, e.g.,:
parameters:
  level: 2
  paths:
    - app

It is there for a reason.

It is there for a reason.

What's the reason?
If the reason is known, it should be specified and handled in a way that allow to change by the client.

@szepeviktor can you be more specific? I'd love to use Bladestan in conjunction with Larastan, but this is not possible because all Blades are excluded by default in the Larastan config.
Or is there another way to achieve this goal that you know of? Or did you get any further in the meantime @johntheteam ?

I do not know why.

@nunomaduro and/or @canvural can you shed a ligth on this?

There is nothing to explain here 🤔
I'll have time tomorrow to work on Larastan. So probably tomorrow it'll be released 👍

Bladestan maintainer here. It looks like the title for this PR is based on a miss understanding of statements in the refereed issue.
Bladestan works just fine with this excludePaths, it doesn't analyze the *.blade.php file directly, rather it compiles the templates in context of the view calls and analyzes the resulting PHP code. johntheteam did not read the documentation and made wrong assumptions about how Bladestan should be used / works: https://github.com/TomasVotruba/bladestan/issues/104
I think what szepeviktor is stating in his comment is that he analyzes *.blade.php with plane PHPStan, and isn't making any statement or confirmation of this causing issues for Bladestan.
So please change the title of the PR so it doesn't confuse more people like MKodde, Larastan dosn't cause any issues for Bladestan :)
Excluding *.blade.php is only an issue for someone that wants to analyze uncompleted Blade files, as if they where PHP, but that really isn't a good idea.

Yeah that is totally reasonable :+1:

Hi,
I totally agree that it shouldn't be in our config. It should be user's choice. But, on the other hand if we now remove it if users have their views or resources directory in the scanned paths for whatever reason it'll output lots of errors. Sure we can write it in release notes and in upgrade guide. But maybe we can wait until 3.0 to make the change. What do you think?

if users have their views or resources directory in the scanned paths for whatever reason it'll output lots of errors.

That's a big if given that it's really non-standard, however, this isn't really critical so I'm fine with waiting for 3.x

People do crazy things 🤷🏽 So gonna close this one but will add it to 3.x. Thank you!


Shuffle tasks display a little bit

As a quick fix to become "less-NLP-centric" before we revamp the /models (and /datasets) pages to show a modality selector front and center (cc @gary149)
Screenshots
before click on view more:

full view:

I would prioritize tasks that will lead to many models. E.g. image classification > object detection, ASR > audio classification, etc.

Yes, fully agree with the intention of not ordering by popularity. I think it's important though that the filters we show do lead to a sensible number of models.

Maybe you can edit and try a "better" ordering @osanseviero ?

I just tried a change...maybe we should change some colors, but I think this set of tasks leads to a good number of models and shows some diversity in tasks we support

that works for me!


feat(all-components): add shadowparts

Related Ticket(s)
Closes #11673
Description
This PR updates all component-internal markup to include part attributes in the shadow roots allowing global stylesheets to override internal styles.
Changelog
Changed

Add CSS Shadowparts

Closing in preference of https://github.com/carbon-design-system/carbon-for-ibm-dotcom/pull/11812


[Embedded] Enforce encryption key for custom jwt

Problem solved
const embedded = useEmbeddedWallet();

embedded.connect({
  jwt: "<token>",
  encryptionKey: "<my-key>",
  strategy: "jwt",
});

Changes made

[ ] Public API changes: list the public API changes made if any
[ ] Internal API changes: explain the internal logic changes

How to test

[ ] Automated tests: link to unit test file
[ ] Manual tests: step by step instructions on how to test

/release-pr

@b-bot when you say it doesn't connect, I think you're expecting it to work with the same jwt but if you were using it without jwt before you used our custom encryption key. Can you try extracting the following encryptionKey from your jwt and passing that as encryptionKey ?
export function extractSubFromJwt(jwt: string): string {
  const parts = jwt.split(".");
  if (parts.length !== 3) {
    throw new Error("Invalid JWT format.");
  }

  const encodedPayload = parts[1];
  if (!encodedPayload) {
    throw new Error("Invalid JWT format.");
  }
  const decodedPayload = Buffer.from(encodedPayload, "base64").toString("utf8");
  return decodedPayload.sub;
}

// The call this function to pass it as encryptionKey
...
encryptionKey: extractSubFromJwt(jwt)
...


Wrong use of date format.

https://github.com/orensrauch/solveqa-expense-tracker/blob/a899b95be0b5debc691ff7415ef908314aacf218/server/controllers/auth.controller.js#L27
https://stackoverflow.com/questions/13154552/javascript-set-cookie-with-expire-time

Thank you for raising this issue, I had implemented this solution


komikku: 1.63.0 -> 1.64.0

Changelog: https://codeberg.org/valos/Komikku/releases/tag/v1.64.0
Diff: https://codeberg.org/valos/Komikku/compare/v1.63.0...v1.64.0

Tested.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 359153

aarch64-darwin

:fast_forward: 1 package marked as broken and skipped:

komikku


hardening looksLikeResultRef - params and when expressions

Changes
looksLikeResultRef checks for a prefix task and if a string contains .result. Any expression satisfying these two conditions are considered as a result reference, for example, all of the following expressions are considered as a result reference:

tasks.a-task.results.bResult (valid reference)
tasks.a-task.resultTypo.bResult (invalid reference)
task.result (invalid reference)
tasks.a-task.b-task.c-task.results.result.result (invalid reference)
etc.

But, this way of checking for a result reference is weak. looksLikeResultRef returns true for some invalid expressions but not others, for example:

tasks.a-task.typoresults.bResult (invalid reference)
task.typoresult (invalid reference)
etc

A pipeline with such expressions tasks.a-task.resultsTypo.bResult results in validation failure with a vague error "invalid value: expected all of the expressions [tasks.a-task.resultTypo.bResult] to be result expressions but only [] were: tasks[0].params[a-param].value" v/s a pipeline with an another invalid expression tasks.a-task.typoresults.bResult does not recognize this expression as an invalid result reference but considers it as a string constant. This PR drops the vague validation error for such expressions.
Also, the validation function validateParamResults is also relying on the same weak looksLikeResultRef which is redundant with validateGraph.
The validation function validateGraph which is called prior to validateParamResults is using NewResultRef to discover the dependencies and make sure a valid DAG can be constructed. The way we have implemented reporting validation errors with errs.Also(, the pipeline validation calls  the same function NewResultRef with the same set of expressions. This redundancy impacts the amount of time spent in validation. This PR deletes these redundant checks.
/kind cleanup

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs included if any changes are user facing
[x] Has Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including
functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[x] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings)
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
Hardening looksLikeResultRef to only report a valid result references, "tasks.<taskName>.results.<resultName>" and "tasks.<taskName>.results.<objectResultName>.<individualAttribute>". Any other invalid look-a-like-result-references are treated as constants.

/test check-pr-has-kind-label

/approve

/lgtm

/test check-pr-has-kind-label

thank you @abayer and @vdemeester for the reviews 👍
Unit test failing with a known flake - https://github.com/tektoncd/pipeline/issues/4643
/test tekton-pipeline-unit-tests

/test tekton-pipeline-unit-tests


Adds deprecation to model for settings DSL

Issue number:
Closes # n/a
Description of changes:

Adds deprecated metadoc
Adds template changes to display a "Deprecated" label on any setting with deprecated = true

Terms of contribution:
By submitting this pull request, I confirm that my contribution is made under
the terms of the licenses outlined in the LICENSE-SUMMARY file.

Example with this currently looks like:
NOTE: this is only an example, nothing in settings.ecs.* is deprecated

(settings list)

(settings detail)


Add psutil dependency to ProcessResourcesCollector documentation

The ProcessResourcesCollector documentation doesn't include the dependency on psutil.  Would you consider updating the docs?
Thanks.
Joel Jirak

This repo has moved to https://github.com/python-diamond/Diamond
Please open a new pull request there if this issue is not resolved with the current code there.
Thanks!


[Feature] Debounce SearchbarSuggestions

Description
Re-iterating https://github.com/rupali-codes/LinksHub/pull/1398#issuecomment-1665328831
Before #1398, there was this debouncing logic meant for SidebarSuggestions.
https://github.com/rupali-codes/LinksHub/blob/3ed22dfcb82eb8361075ef6265048462f328bb01/hooks/useSearch.ts#L4-L20
But it was actually only delaying the search results instead of debouncing the SidebarSuggestions. In the video below, you can see that the suggestions are updated on every key stroke. When the timeout threshold is increased to say 3 seconds, the search results appear 3 seconds after submitting the form. As part of the refactoring done in #1398, I removed debouncing as it wasn't functional anyway.
I'd like to re-implement debouncing feature for the SidebarSuggestions.
Screenshots
https://github.com/rupali-codes/LinksHub/assets/73361366/d47399b3-23e9-4ea5-a6e0-8b1e3620cf87
Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (optional)

@abhijithmuthyala
Elaborate the problem and the solution you propose, so that I can have a better idea about it.

@abhijithmuthyala can you please elaborate?

I've updated the description, please check @Anmol-Baranwal @rupali-codes

I've updated the description, please check @Anmol-Baranwal @rupali-codes.

@abhijithmuthyala
Don't you think delaying search results by 500ms is like a fraction which is not even noticeable.
I think I get the point, but still the current version seems fast enough.
@rupali-codes
Please assign him the issue, if you approve. This might be useful for future variations, but I'm not sure.

Don't you think delaying search results by 500ms is like a fraction which is not even noticeable.

@Anmol-Baranwal The main reason I wanted to add this is because I thought it is my responsibility to add back a feature (albeit non-functional) that I  removed in a PR.
This sure isn't a performance bottleneck for now. I personally prefer implementing the optimizations wherever there is an opportunity. I'll leave the decision of "why not optimize and prevent too many renders when we can", vs "stop pre-mature optimizations" to you guys 😅.

Sure, @rupali-codes will let you know.
In my opinion, it's not needed.

Sure, closing the issue.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4674

Questions ?
Please refer to the Backport tool documentation


Formalizing Goals for OpenMined POC

My plan of attack is to start from the Goals of OpenMined as a whole for this POC, then the Features the individual projects need to have to accomplish these goals. After that, we'll start creating Epics, then Stories/Tasks for accordingly.

We have a detailed plan for the first MVP and rough ideas for the following two. I think @iamtrask wanted to port it to github

Cool! Is it on a google docs somewhere?

Yes but it's more of a minutes kinda style atm. But I think it will be finished by today (next 12 hours).

I'll be working on porting the doc tomorrow as @iamtrask is busy with focusing on pySyft onboarding atm, time for sleep now 💤


Uses the same variable name over and over.

It looks like the compiler is outputting the same variable name over and over again:
    return function () {
        var $$a = document.createElement('div');
        // ...
        var $$a = document.createElement('select');
        $$a.appendChild($$a);
        return $$a;
    }();

I looked at the code for allocator, it seems to be doing what it should be. Perhaps there is an issue somewhere else in the middle?

This seems to be the culprit:
https://github.com/treycordova/nativejsx/blob/master/source/walkers.js#L109
Commenting it out, the code works fine

Really, there was an incorrect assumption that a single allocator can be used across all closures and reset per closure. In reality, each closure requires a unique allocator, otherwise the variable naming will be wiped for subsequent allocations in the closure preceding it.
Or we allow a global allocator that resets when the entire file is finished. I think that sounds more ideal and easier to follow from a debugging standpoint (variable shadowing is awfully confusing).
Nice catch, @benderTheCrime. I'll get out a fix immediately.

awesome, @treycordova, thanks :+1:

I've released https://github.com/treycordova/nativejsx/releases/tag/3.0.2 with the fix in place. From my observations, it seems to be working. I'll continue to poke around just to be sure.

Seems like all is well. Going to close this!


Failed to complete game:<PHONE_NUMBER>860|85.777|222.917|-0.270|171.795|529.714|2|60|120 Send this to me so i can fix it !

fixed


Add redis to OpenShift template to enable OOB OAuth (in tech preview)

Currently it's extra manual steps to add redis so that OAuth2.0 works.
We have discussed making OAuth available Out-of-the-box in CR/GA - but only in "Tech Preview" i.e. it is not fully mature and needs testing by us and QE.
So, I wanted to force the debate on what to do with the dependency on redis and if we want to include it in the template (here or in AMP - AMP could be a separate issue in that repo) so it's easy to use....we should decide this very soon after ER4 and then close it and not make changes later before ER5.

Ping @vramosp @MarkCheshire @mikz

One thing I struggle with is how to package this and set the right support expectations. For OpenResty we say if it is in the templates/images we support it. However we don't want to extend that same support statement to Redis (unless it is covered by Software Collections) because we don't want to get sucked into all the configuration questions of Redis in HA which is not trivial.
This is pending @vramosp investigation to SCL. But if Redis is not covered, would there be a way to differentiate it in the template. Otherwise we may need to call out exceptions in docs.

What we actually use Redis for is pretty trivial, I would vote for removing as many dependencies as possible.
We could probably rewrite the code to not use it and just do the same thing in the lua cache.

To support multiple nodes we would have to use cryptography like JWT to share the state between different nodes. There is issue already https://github.com/3scale/apicast/issues/174
Using something like:
https://github.com/bungle/lua-resty-session
or https://github.com/openresty/encrypted-session-nginx-module

@mpguerra we do not want to introduce any blockers to publishing the tutorial. This can be handled as an enhancement to remove the Redis dependency but we are already 2 months late with the tutorial. Following that is high priority to have all OAuth flows supported OOTB with APIcast. If removing Redis accelerates that they it could be covered, but if it impacts the timing significants, then better to keep the Redis dependency. We also have to consider the longer term architecture for OAuth and it may be good have that discussion before removing the Redis dependency.

@MarkCheshire Not sure what investigation you mean... but my understanding is that the version of Redis that we're using is included in SCL.

After discussions with different people involved, agreed that for the next release we will solve this need in built-in apicasts only, see https://github.com/3scale/openshift-templates/issues/161
In the future we'll try to remove the Redis dependency, so closing this in favor of that.


Copy member always thinks I am trying to replace existing member

Copy member always thinks I am trying to replace existing member.

Context
Version

Code for IBM i version
2.6.0

Visual Studio Code version
1.83.0

Operating System
win32_x64

Active extensions
Auto Hide (fork) (vscode-autohide-fork): 1.0.8
Code Spell Checker (code-spell-checker): 3.0.1
Code for IBM i Walkthroughs (vscode-ibmi-walkthroughs): 0.4.0
Data Preview (vscode-data-preview): 2.3.0
Db2 for IBM i (vscode-db2i): 0.6.0
Emmet (emmet): 1.0.0
Error Lens (errorlens): 3.15.0
Excel Viewer (gc-excelviewer): 4.2.58
Extension Authoring (extension-editing): 1.0.0
Git (git): 1.0.0
Git Base (git-base): 1.0.0
GitHub (github): 0.0.1
GitHub Authentication (github-authentication): 0.0.2
IBM i Notebooks (vscode-ibmi-notebooks): 0.0.6
JSON Language Features (json-language-features): 1.0.0
Merge Conflict (merge-conflict): 1.0.0
NPM support for VS Code (npm): 1.0.1
Node Debug Auto-attach (debug-auto-launch): 1.0.0
Overtype (overtype): 0.5.0
Partial Diff (partial-diff): 1.4.3
RPGLE (vscode-rpgle): 0.24.0
Rainbow CSV (rainbow-csv): 3.9.0
Text Marker (Highlighter) (text-marker): 1.11.0
TypeScript and JavaScript Language Features (typescript-language-features): 1.0.0
Version Lens (vscode-versionlens): 1.9.2
WSL: Recommender (remote-wsl-recommender): 0.0.19
undefined (indent-rainbow): 8.3.1

Remote system

Setting
Value

IBM i OS
V7R5M0

Tech Refresh
2

CCSID
37

SQL
Enabled

Source dates
Enabled

Enabled features

/QOpenSys/pkgs/bin
/usr/bin
/QSYS.lib/ILEDITOR.lib
/QSYS.LIB
/QIBM/ProdData/IBMiDebugService/bin

bash
attr
GENCMDXML.PGM
QZDFMDB2.PGM
startDebugService.sh

git
iconv
GETNEWLIBL.PGM

grep
setccsid

ls

md5sum

sort

stat

tar

tn5250

Shell env
BUILDLIB=PGMT
CURLIB=PGMT
HOME=/home/PGMT
HOST=400devl.go.winco.local
LIBLS=QTEMP QGPL HAWKEYE WFISRC AFPTOOL SPLTOOL TAATOOL WFIOBJ WFIHST WFINEP WFIDTA DTSDCDTA DTSCNTRL DTSUSER DEVSRC DEVOBJ DEVDTA WSBSRC WSBOBJ WSBDTA DEVQUAL WSBUSR WIASPUSR D1CVTPROD D1CVTQUAL D1CVTINTG D1WFIPROD D1WFIQUAL D1WFIINTG D1DTSPROD D1DTSPRODC D1DTSPRD92 D1DTSQUAL D1DTSQUA92 D1DTSINTG D1DTSINT92 D1SYSPROD D1SYSQUAL D1SYSINTG PGMT
LMI_REL_IDLIB=D1WFIPROD
LMI_REL_IDLIBS=D1WFIPROD,WFICVT
LOGIN=pgmt
LOGNAME=pgmt
MAIL=/var/spool/mail/pgmt
OLDPWD=/home/PGMT
PATH=/QOpenSys/pkgs/bin:/QOpenSys/usr/bin:/usr/ccs/bin:/QOpenSys/usr/bin/X11:/usr/sbin:.:/usr/bin
PCR=PCR2101900
PCRNUM=2101900
PROFILENAME=D1
PWD=/home/PGMT
REL=D1WFI
SHELL=/QOpenSys/pkgs/bin/bash
SHLVL=1
SSH_CLIENT=<IP_ADDRESS> 56744 22
SSH_CONNECTION=<IP_ADDRESS> 56744 <IP_ADDRESS> 22
TZ=<MST>7<MDT>,M3.2.0,M11.1.0
USER=pgmt
USERNAME=PGMT
_=/QOpenSys/pkgs/bin/env

Variants
{
  "american": "#@$",
  "local": "#@$"
}

Errors
[
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF9802:  Not authorized to object QRPGSRC in D1WFIQUAL.",
    "cwd": "/home/PGMT"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF9815:  Member CVT21019R7 file QRPGSRC in library PGMT not found.",
    "cwd": "/home/PGMT"
  },
  {
    "command": "/QOpenSys/usr/bin/qsh",
    "code": 1,
    "stderr": "CPF9815:  Member CVT21019R7 file QRPGSRC in library PGMT not found.",
    "cwd": "/home/PGMT"
  }
]

Fixed in #1728 that I just opened.

Just loaded 2.6.1 and now it works as expected for me!!!
Thanks.


Fix an exception on using tf.keras.utils.Sequence with tf.distribute.MirroredStrategy under multi-GPU environment

There is an exception issue on using data provider which is subclass of tf.keras.utils.Sequence with tf.distribute.MirroredStrategy in multi-GPU environment.
There can be get() function calls from other GPUs' training context after an epoch ending have been occured in a GPU's context.
The existing implementation of OrderedEnqueuer class(in tensorflow/python/keras/utils/data_utils.py) access directly inner data of Python's queue object, thus there can be data race issues.
In OrderedEnqueuer.get() function,
self.queue.task_done()
cause 'task_done() called too many times' exception, when it called after another context's OrderedEnqueuer.stop call during waiting for
inputs = self.queue.get(block=True).get().
To prevent this exception, we can check OrderedEnqueuer.is_running() before call self.queue.task_done().
Also, after fix the exception issue, infinity waiting can occured in
self.queue.get(block=True)
after some GPUs' context wait for it after another thread's end of data.
It can be walk arounded by introducing timeout for the queue waiting.

@googlebot I signed it!

@googlebot I fixed it.

@googlebot I consent.

Could u add a test case for that to showcase the failure in the multi-gpu's case?

This is a test code for the issue what I mentioned:
tf_test_multi_gpu.py.txt
(Changed extention to .txt due to limitation of attachable file types for GitHub's comment.)
I wrote the code as compatible with existing unit tests, but I didn't commit it as an unit test of TF code because the function consumes a lot of resources which can cause spurious test fail due to OOM.
The problem is occured under both heavy data loading and heavy training situation, so I added fake slow data loader Sequence object and used big model to fit.
My test environment was 16-cores Ubuntu 18.04 machine has 2 NVIDIA TITAN RTX GPUs connected with NVLink.
It's behavior is vary for values of sequence_length and queue_size:

The setting that I attached(seq.len=7, queue.len=10) usually caused the exception that I mentioned.
Stack trace was :
2020-05-29 11:34:35.128820: W tensorflow/core/framework/op_kernel.cc:1741] Invalid argument: ValueError: task_done() called too many times
Traceback (most recent call last):

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/ops/script_ops.py", line 243, in __call__
    ret = func(*args)

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/autograph/impl/api.py", line 309, in wrapper
    return func(*args, **kwargs)

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/data/ops/dataset_ops.py", line 785, in generator_py_func
    values = next(generator_state.get_iterator(iterator_id))

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/keras/engine/data_adapter.py", line 801, in wrapped_generator
    for data in generator_fn():

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/keras/utils/data_utils.py", line 880, in get
    six.reraise(*sys.exc_info())

  File "/home/dev/.local/lib/python3.7/site-packages/six.py", line 703, in reraise
    raise value

  File "/home/dev/.local/lib/python3.7/site-packages/tensorflow/python/keras/utils/data_utils.py", line 875, in get
    self.queue.task_done()

  File "/usr/lib/python3.7/queue.py", line 74, in task_done
    raise ValueError('task_done() called too many times')

ValueError: task_done() called too many times

The setting (seq.len=7, queue.len=4) occasionally caused the infinity waiting I fixed.

When I found the issue with our real code, the length(# of minibatches) of my data sequence was about 58, but I cannot find exact problematic setting for simple test code with same sequence length right now.
I check those problems are not occuring after fix the code as I commited.
I also checked the test code in my desktop which has only one NVIDIA GeForce RTX 2080 Ti GPU, those issues had never seen in the single GPU environment.

Being merged, does this mean this will this be included in TF 2.3.0?


Make repository reusable by other sponsorables, simplify browser usage

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.kzu_bot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


(unknown error: DevToolsActivePort file doesn't exist)

Describe the bug
Ubuntu 22.04.  Installed pip, chromium from snap, "pip install 'mintapi>=2.0'".
What version of MintAPI are you using?
2.10
What command[s] did you run / steps to reproduce?
mintapi --keyring --headless
Stacktrace/error received:
/usr/lib/python3/dist-packages/requests/init.py:89: RequestsDependencyWarning: urllib3 (1.26.13) or chardet (3.0.4) doesn't match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Mint e-mail<EMAIL_ADDRESS>Mint password:
Traceback (most recent call last):
File "/home/ggr/.local/bin/mintapi", line 8, in
sys.exit(main())
File "/home/ggr/.local/lib/python3.8/site-packages/mintapi/cli.py", line 465, in main
mint = Mint(
File "/home/ggr/.local/lib/python3.8/site-packages/mintapi/api.py", line 122, in init
self.login_and_get_token(
File "/home/ggr/.local/lib/python3.8/site-packages/mintapi/api.py", line 190, in login_and_get_token
self.driver = driver or _create_web_driver_at_mint_com(
File "/home/ggr/.local/lib/python3.8/site-packages/mintapi/signIn.py", line 313, in _create_web_driver_at_mint_com
driver = Chrome(
File "/home/ggr/.local/lib/python3.8/site-packages/seleniumrequests/request.py", line 146, in init
super(RequestsSessionMixin, self).init(*args, **kwargs)
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in init
super().init(
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/chromium/webdriver.py", line 106, in init
super().init(
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 288, in init
self.start_session(capabilities, browser_profile)
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 381, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 444, in execute
self.error_handler.check_response(response)
File "/home/ggr/.local/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 249, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: crashed.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /snap/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Stacktrace:
#0 0x55665e3dd463
#1 0x55665e1a18d8
#2 0x55665e1c9b6a
#3 0x55665e1c4c05
#4 0x55665e208802
#5 0x55665e2082af
#6 0x55665e200443
#7 0x55665e1d13c5
#8 0x55665e1d2531
#9 0x55665e42fdce
#10 0x55665e433192
#11 0x55665e41493e
#12 0x55665e434103
#13 0x55665e407d85
#14 0x55665e4550a8
#15 0x55665e455239
#16 0x55665e470492
#17 0x7f7cc2144609 start_thread
What did you expect to happen?
To at least get past the MFA stuff
What actually happened?
see stacktrace
Additional context
Add any other context about the problem here.

sigh getting the same shit again, this is getting tiring...

It's a problem with selenium-requests that needs some "workaround", check this commit

I wonder if we should pin a specific Chromedriver version to a specific Mint release and force downloading of that one so we know it is compatible with the version of selenium-requests that is being used? Is there a better solution?

Kind of feels like selenium-requests should address this issue though, pinning a driver might just add other problems on different OSes.

I'm back to using the docker version.  I trust @mrooney gets versions of all the pieces that get along together before pushing a new docker image...

I don't personally use the docker version of this, so it would be great if someone is able to point to an existing PR (or create one) that pins the version or resolves this in a satisfactory manner, that I can review and merge + release. That would be a huge help, thanks!

Thanks! I just released mintapi 2.12 which bumps the selenium-requests version to 2.0.3, which claims to future-proof their fix. That should address the issue, but let me know if not :)


ENG-1452-remove base64 encoding for artifact results when calling preview response

Describe your changes and why you are making these changes
remove the unnecessary steps of converting bytes array to base64 string in the preview response route
After the code change, in the preview response route, the backend will package the artifact_results as a byte array and send in a multipart-data-form format as a response and being correctly received by the sdk as a post response.
Related issue number (if any)
Checklist before requesting a review

[ ] I have created a descriptive PR title. The PR title should complete the sentence "This PR...".
[ ] I have performed a self-review of my code.
[ ] I have included a small demo of the changes. For the UI, this would be a screenshot or a Loom video.
[ ] If this is a new feature, I have added unit tests and integration tests.
[ ] I have run the integration tests locally and they are passing.
[ ] I have run the linter script locally (See python3 scripts/run_linters.py -h for usage).
[ ] All features on the UI continue to work correctly.
[ ] Added one of the following CI labels:

run_integration_test: Runs integration tests
skip_integration_test: Skips integration tests (Should be used when changes are ONLY documentation/UI)

@cw75 would appreciate another review when you got a chance

@Boyuan-Deng could you do a rebase against main? Then I'll take a final look and let's merge this in.

@Boyuan-Deng could you do a rebase against main? Then I'll take a final look and let's merge this in.

feel free to take a final look

After communication, @cw75 will test with lazy execution before merging it.


adjust dragged item's position

Currently when you drag one item, it flips from its original position to the mouse's.
I changed the code to make it behave as it is.

@bailnl Hi! Thank you for your PR.
I've merged the code and ran the demo,  I think there should be a better way to adjust the 'dndHandle' item position.
for example:
Add some params for 'dnd-handle' directive, just like 'dnd-handle-left' and 'dnd-handle-top'. It can better control the position.
what do you think?


urlretrieve function

This function can't use anymore since is removed from python.
How can I handle this problem? Are there any function can be replaced with this function?
** Days 4-6

What version of Python are you using' from urllib.request import urlretrieve runs fine on 3.6 and 3.7 for me. You can also use requests (after pip installing it)

Sorry for that, my mistake. But problem is, I couldn't find any solution for 'take the csv file from web and process with another csv file from my computer' can you help me ?
On the requests library, I get the file from web. File dot content doesn't exist. So, I tried to file dot(.) text. It works. But if I open my csv file which is my computer, I couln't copy the content of csv file. Tried to csv.reader() etc. Do you know is there any simple solution for this?


feat(version): add deis version --all

Fixes #25
I'm not including client.ControllerVersion because it's not what it seems to be. It's the untruncated API version string. This is not the same as the deis platform version or the controller image version, so it would just confuse people.

Current coverage is 20.62% (diff: 43.47%)

Merging #217 into master will increase coverage by 0.17%

@@             master       #217   diff @@
==========================================
  Files            55         56     +1
  Lines          3834       3850    +16
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            784        794    +10
- Misses         2936       2940     +4
- Partials        114        116     +2

Powered by Codecov. Last update 5935566...0d9c0b5


Set checkbox on load, sans default, to be false, not nil

Non-dynamic dialog field checkboxes without a default should load with value false, not nil.
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1610685

@miq-bot add_label bug
@miq-bot assign @gmcculloug
@miq-bot add_reviewer @eclarizio
@miq-bot add_reviewer @tinaafitz

Uuum, I'mma say that @options.cumulative_rate_calculation? ? rates.sort_by(&:description) : unique_rates_by_tagged_resources(rates, metric_rollup_record_tags) failing has absolutely nothing to do with any of this code.

Once again, I'mma say that Failure/Error: expect(subject.fixed_compute_1_cost).to be_within(0.01).of(hourly_rate * hours_in_month)        expected 4.8 to be within 0.01 of 7.2 has absolutely zip to do with this code.

@d-m-u Just noticed this PR... is there a corresponding 'master' PR for this?

@simaishi No, one isn't necessary, I believe it works on master.


Feature 3.5:  add gzip and encryption support to arangoexport and arangoimport

Changes file management to arangosh/Utils/ManagedDirectory.cpp. That gives import/export the same gzip and encryption capabilities as arangodump/restore.
Needs enterprise PR to:  https://github.com/arangodb/enterprise/pull/283

Jenkins running:  http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/5452/


Add Elasticsearch options

This PR adds new flags related to Elasticsearch logging:

--elasticsearch-prefix - Adds a user-defined prefix to the Elasticsearch index where documents are stored.
For the moment, they are stored in the <component>-<date> index (e.g. handler-2017.07.10). If --elasticsearch-prefix is set, they would be stored in <prefix>-<component>-<date>(e.g. with europe prefix, europe-handler-2017.07.10).
--elasticsearch-username and --elasticsearch-password - Allow to provide credentials if the Elasticsearch instance requires authentication.

Coverage remained the same at 74.731% when pulling d6af185eb307c8bed271d93f9a6589cd01f0164c on feature/es-prefix into f3610c5d31b255e18dffa3654363262478ba9a14 on develop.

Coverage remained the same at 74.731% when pulling a7c1a19b4a270a825c22dd502b699bc6fa30f30b on feature/es-prefix into f3610c5d31b255e18dffa3654363262478ba9a14 on develop.

Let's wait for the tj/go-elastic PR status to change.

Coverage remained the same at 74.731% when pulling a7c1a19b4a270a825c22dd502b699bc6fa30f30b on feature/es-prefix into f3610c5d31b255e18dffa3654363262478ba9a14 on develop.

Blocked by https://github.com/tj/go-elastic/pull/3

Coverage remained the same at 74.883% when pulling 890998b74935d2b5d3c12b10d6e8deff4ee38d14 on feature/es-prefix into 566e30306c6d7108b71f0494ca9719fd349101d0 on develop.


notetaking-notebook-app

Live Notetaking Notebook Project

[x] material-UI core for basic UI.
[x] material UI icons for basic icons.
[x] open source text editor react library (react-quill) for editing and taking notes.
[x] firebase as a backend to store the notes.

Material UI icons

open source text editor react library (react-quill) for editing and taking notes.

firebase as a backend to store the notes.


Some CI hacking

What does this PR do?
A brief description of the change being made with this pull request.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
How to test the change?
Describe here in detail how the change can be validated.

Probably not the way to solve this problem


Provide opportunity to control time of EndpointRegistration

Hi,
there is one last unsolved problem that I have with Spring Kafka.
In our Microservice environment we provide DevOps the opportunity to configure Kafka properties in a 3rd party key/value store (Consul) to outsource parts of config there instead by using application.properties etc.
In the app, the K/V store is read during Spring startup or in easier words, they are only available after all listenerContainers are already registered in the KafkaListenerEndpointRegistry, which is basically the reason why the whole KafkaConsumer and producer is unconfigured after Spring startup.
Maybe I am overseeing something but as I analyzed the code I came to the conclusion that basically the KafkaListenerAnnotationBeanPostProcessor triggers the listener registration once all singletons have been initialized and this is too early for us - at this time the KafkaListenerContainerFactory Bean should not yet get initialized at all since it configures container concurrency, retryTemplate configuration etc. which is all configurable in Consul.
I saw that until that point the KafkaListenerContainerFactory is not yet required at all, since the BeanPostProcessor until that point only added the Endpoints in a list for registering them later. My idea is that after the BeanPostProcessor finished its work intercepting all beans to find out if a KafkaListener annotation is present, it should basically not matter at what point the registration chain is continued, giving me the possibility to obtain control upon further endpoint registration and initialization, after Consul K/V store is initialized in my application.
I am now trying to find the right spot for overwriting. This seems a bit tricky because I cannot control the calling of this.registrar.afterPropertiesSet(); in the BeanPostProcessor. Probably I try it by overwriting the BeanPostProcessor and overwriting afterSingletonsInstantiated() for executing it again later. However this seems very, very hacky to me and I would like to ask you guys whether you think it makes sense to provide native support for this, since runtime configuration of Consumer and Producer is not the smallest niche use case to think of

It seems to me you are fetching your configuration from Consul too late.
By definition afterSingletonsInstantiated() is called after all the beans have been created - had their properties injected and had their afterPropertiesSet() methods called.
That is a fundamental part of Spring's Application context initialization; getting properties later than that is just not the Spring way of doing things.
Have you looked at spring-cloud-consul; I am not familiar with it (or consul) but it appears to do what you need.

Closing due to inactivity.


[zh-cn] Fix concepts/configuration/secret.md typo

Description
There is a typo in concepts/configuration/secret.md, This PR aims to fix the typo.
Thanks.

/lgtm


fix: fix authoring endpoint and prediction endpoint mess up

Description
fix the incorrect usage of luis prediction endpoint, this will lead to unexpected behavior on luis publishing

Task Item
fixes #5480

Screenshots

Coverage remained the same at 54.467% when pulling 366a3c107a763b9c551014358e487e29ad0b08b0 on qika/fixAuthoringEndpoint into 5af3f50ef41e3ef471771deb141437b3c3ae6e92 on main.

Coverage remained the same at 54.467% when pulling 366a3c107a763b9c551014358e487e29ad0b08b0 on qika/fixAuthoringEndpoint into 5af3f50ef41e3ef471771deb141437b3c3ae6e92 on main.


Show context

Hello.
I think it will be lovely if spectre could show some context in the search results. A lot of times I want to have a panel where I can easily see, for example, all function calls with some name, and it often span across multiple lines. Having the option to set some context up or down grep style will be awesome.
Thanks for this extension by the way

This is not stalled, just not worked on

Do u mean to have preview result? I think better to make float preview.

No, I mean the same thing as grep -C. I mean lines of context above and or below. So if you set the context to 1 you will see something like
Line before
Matching line
Like after

If you plan to implement this, can it be kept open ?
On Mon, 17 Jul 2023 at 02:00, stale[bot] @.***> wrote:

This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
—
Reply to this email directly, view it on GitHub
https://github.com/nvim-pack/nvim-spectre/issues/110#issuecomment-1637221895,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWPUVZBP7ZAY4AP6LY3XQR6ADANCNFSM6AAAAAAVLV2G24
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
https://danielorodriguez.com

Yeah, I have free time will do.

@danielo515 It's seems hard than I thought. Need to rewrite a lot of render code. I guess better to make pop-up. What do you think about it?

How will be in a popup? The results or each result in a pop-up? Do you mind
explaining it a bit?
El dom, 20 ago 2023, 14:00, Kurenshe Nurdaulet @.***>
escribió:

@danielo515 https://github.com/danielo515 It's seems hard than I
thought. Need to rewrite a lot of render code. I guess better to make
pop-up. What do you think about it?
—
Reply to this email directly, view it on GitHub
https://github.com/nvim-pack/nvim-spectre/issues/110#issuecomment-1685265886,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWMHOHPO5UMVSI7BQZDXWH36LANCNFSM6AAAAAAVLV2G24
.
You are receiving this because you were mentioned.Message ID:
@.***>

@danielo515 it will show pop-up context when you hover on line. Will try to make it automatically. Or it will be with keybinding.

While that may be a feature useful for some, it is not a substitute for the
workflow I had in mind.
If the original request it's too hard, it will be more useful a keybind
that opens the file in another window without changing focus than a pop-up
(IMO)
El dom, 20 ago 2023, 14:10, Kurenshe Nurdaulet @.***>
escribió:

@danielo515 https://github.com/danielo515 it will show pop-up context
when you hover on line. Will try to make it automatically. Or it will be
with keybinding.
—
Reply to this email directly, view it on GitHub
https://github.com/nvim-pack/nvim-spectre/issues/110#issuecomment-1685268331,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARKJWJ4GKEAPUQURJNNUOTXWH5EZANCNFSM6AAAAAAVLV2G24
.
You are receiving this because you were mentioned.Message ID:
@.***>

IMHO, a popup would be both simple and effective. Opening the file in another buffer for further modification is already possible...


Bug: Weird resizing and scrollbar on load of editor

Lexical version: ^0.10.0
Steps To Reproduce

Create a lexical editor
Set it with content, like this

useEffect(() => {
		editor.setEditable(editable);
		if (initialState || initialStateEditor) {
			if (
				(
					editor.getEditorState().toJSON().root.children[0] //@ts-expect-error Lexical types r bad
						.children as unknown[]
				).length == 0
			)
				editor.setEditorState(
					initialStateEditor ||
						editor.parseEditorState(
							initialState as unknown as SerializedEditorState
						)
				);
		}
	}, [editable, initialState, updatedState, initialStateEditor]);

Link to code example: https://gist.github.com/quick007/d9de3c1d71bc5d66e5adf1f483d455fe

The current behavior
Heres a video of the issue: https://streamable.com/4kti7q
Look specifically at what happens with the scrollbar on the right when I switch pages. For a second, it gets really long for some reason.
The expected behavior
The editor shouldn't have that weird scaling issue.

From a quick glance, it appears that you empty the editor state, hence the check to ensure that the nodes are 0, and then set the right editor state. I think this is likely causing he editor to return to some kind of mind height? If not, I don't think this is a bug specifically related to Lexical core.

@thegreatercurve That is my assumption too. I had assumed that someone else had encountered this bug too so we might be able to pinpoint it. I can create a minimal repro if thats helpful


Unable to build the arm64 flavour of the plone/plone-frontend image because of Sentry

While building the arm64 version of the plone/plone-frontend:
#11 153.9 [5/5] Building fresh packages...
#11 159.5 error /build/node_modules/@sentry/cli: Command failed.
#11 159.5 Exit code: 1
#11 159.5 Command: node scripts/install.js
#11 159.5 Arguments:
#11 159.5 Directory: /build/node_modules/@sentry/cli
#11 159.5 Output:
#11 159.5 Error: Unable to download sentry-cli binary from https://downloads.sentry-cdn.com/sentry-cli/1.59.0/sentry-cli-Linux-arm64.
#11 159.5 Server returned 403: Forbidden.
#11 159.5 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

I know it's a Sentry servers issue, but we can't rely that a third party has their thing put together always, and it's not the first time it happens.
@avoinea @tiberiuichim @pnicolli @cekk I know that you are using that extensively, but I'd like to keep it out of core... having it in the pre-add-on era was ok. Now I guess it's no sense anymore. Do you think there's something that cannot be done in a Sentry add-on? Also, if necessary we could keep a minimum integration code/entrypoints in place, but keep the bulk out. What do you think? v16 anyone? :)

/cc @ericof

I haven't checked if moving Se try to an add-on is easily doable, but I would be very happy with this change if possible.

I remember having this issue as well a few months ago and the solution was to pin to a higher version of sentry-cli where the tool that runs to fetch something above also fetches the arm64 version.
The problem however was that in the package dependency some of the sentry packages are pulled in multiple times with different versioning requirements from their parents.  So I had to add an version 'override' to the main package.json of the project.

@fredvd thanks, it seems it did the trick!


Producing Multiple Messages ?

Hi ..,
Can we produce multiple messages at the same time ?
You have provided the example to send single string message. Is it possible to send multiple ( List of messages ) at one go like kafka-node?

var StringProducer = require('kafka-java-bridge').StringProducer;
var BinaryProducer = require('kafka-java-bridge').BinaryProducer;

var stringProducer = new StringProducer({bootstrapServers: "broker1:9092, broker2:9092"});
var binaryProducer = new BinaryProducer({zookeeperUrl: "zookeeper1:2181,zookeeper2:2181,zookeeper3:2181/kafka"});

const buf = new Buffer([0x0, 0x1, 0x2, 0x3, 0x4]);
binaryProducer.send("myBinaryTopic", buf, function(err, msgMetadata){
    console.log('send msg cb. err = ' + err + '. metadata = ' + JSON.stringify(msgMetadata));
});
stringProducer.send("myStringTopic", ["stringone", "stringtwo"], function(err, msgMetadata){
    console.log('send msg cb. err = ' + err + '. metadata = ' + JSON.stringify(msgMetadata));
});

process.on('SIGINT', function() {
    stringProducer.close(function(err){
        binaryProducer.close(function(err) {
            process.exit();
        });
    });
});

Hi,
No, didn't implement that.
Underlying java implementation takes messages one by one, so no special value for us to implement list api for send.
You can implement a small utility/wrapper func in your code to do that if you need it.
BR,
Eli

@1ManSmoking,
Can we consider that as feature request?

Sure.
Don't think we'll implement anytime soon though :)

@1ManSmoking , that's fine. If you have, feature requirements or roadmaps. Please share.


Adjustments to Github Templates

Modulus Pull Request
Description
Just a minor update to the title format of the Github templates
Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.
[x] The CHANGELOG.md is
up to date with these changes.

Dependencies

/blossom-ci

/blossom-ci

/blossom-ci

/blossom-ci


template-coq branch coq-8.8 fails to build with Coq 8.8.0 with template_coq_plugin.cmxs: undefined symbol: camlReify__fun_8253

https://travis-ci.org/mit-plv/reification-by-parametricity/jobs/374189145#L3250
CAMLOPT -a -o src/template_coq_plugin.cmxa
findlib: [WARNING] Interface logic.cmi occurs in several directories: /usr/lib/coq/proofs, src
CAMLOPT -shared -o src/template_coq_plugin.cmxs
findlib: [WARNING] Interface logic.cmi occurs in several directories: /usr/lib/coq/proofs, src
COQC theories/TemplateCoqCompiler.v
File "./theories/TemplateCoqCompiler.v", line 3, characters 0-40:
Error:
while loading
/home/travis/build/mit-plv/reification-by-parametricity/template-coq/src/template_coq_plugin.cmxs:
error loading shared library: /home/travis/build/mit-plv/reification-by-parametricity/template-coq/src/template_coq_plugin.cmxs: undefined symbol: camlReify__fun_8253

Is this a duplicate of #21?

Does it still apply to the current 8.8 branch?

I think we can close this.