[BUG] All requests to Azurite in testcontainers container return 400.

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
3.29.0
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub (through TestContainers GenericContainer)
What's the Node.js version?
whatever is included with the dockerfile
What problem was encountered?
I have set up access to Azure Blob Storage in Java 21 using Spring Cloud Azure 5.9.1. See here:
https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/resource-handling
Everything is working as expected. I am now trying to integration test my code. Unfortunately, Azure does not have an easy way to set up a container with Testcontainers, so I set one up with
@Container
  static GenericContainer<?> azureBlobStorageContainer = new GenericContainer<>(
      DockerImageName.parse("mcr.microsoft.com/azure-storage/azurite")
  )

However, now when my code accesses the blob storage resource, it encounters an error.
Resource resource = resourceLoader.getResource(String.format("azure-blob://%s/%s", azureBlobStorageContainer, fileName));

2024-02-27 16:17:30 <IP_ADDRESS> - - [27/Feb/2024:21:17:30 +0000] "PUT /test-container?restype=container HTTP/1.1" 400 -

Looking in the debug log, I see this error:
2024-02-27T21:17:30.768Z 705e3745-3759-4ad0-ac05-17408e96aeea info: BlobStorageContextMiddleware: RequestMethod=PUT RequestURL=http://localhost/test-container?restype=container RequestHeaders:{"host":"localhost:53880","date":"Tue, 27 Feb 2024 21:17:30 GMT","authorization":"SharedKey devstoreaccount1:u5KEwd3hQqzampyjROwnRBx3uodkdS7DX/nYOQ/ewkQ=","x-ms-version":"2023-11-03","x-ms-client-request-id":"a19071b3-273d-4841-b148-a3483486499d","accept":"application/xml","user-agent":"az-sp-sb/5.9.1 azsdk-java-azure-storage-blob/12.25.1 (21.0.2; Mac OS X; 14.2.1)","content-length":"0"} ClientIP=<IP_ADDRESS> Protocol=http HTTPVersion=1.1
2024-02-27T21:17:30.769Z 705e3745-3759-4ad0-ac05-17408e96aeea info: BlobStorageContextMiddleware: Account=test-container Container=undefined Blob=
2024-02-27T21:17:30.769Z 705e3745-3759-4ad0-ac05-17408e96aeea verbose: DispatchMiddleware: Dispatching request...
2024-02-27T21:17:30.770Z 705e3745-3759-4ad0-ac05-17408e96aeea error: DispatchMiddleware: Incoming URL doesn't match any of swagger defined request patterns.
2024-02-27T21:17:30.770Z 705e3745-3759-4ad0-ac05-17408e96aeea error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-02-27T21:17:30.771Z 705e3745-3759-4ad0-ac05-17408e96aeea error: ErrorMiddleware: ErrorName=UnsupportedRequestError ErrorMessage=Incoming URL doesn't match any of swagger defined request patterns.  ErrorHTTPStatusCode=400 ErrorHTTPStatusMessage=undefined ErrorHTTPHeaders=undefined ErrorHTTPBody=undefined ErrorStack="UnsupportedRequestError: Incoming URL doesn't match any of swagger defined request patterns.\n    at dispatchMiddleware (/opt/azurite/dist/src/blob/generated/middleware/dispatch.middleware.js:41:30)\n    at /opt/azurite/dist/src/blob/generated/ExpressMiddlewareFactory.js:50:47\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/opt/azurite/node_modules/express/lib/router/index.js:328:13)\n    at /opt/azurite/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/opt/azurite/node_modules/express/lib/router/index.js:346:12)\n    at next (/opt/azurite/node_modules/express/lib/router/index.js:280:10)\n    at blobStorageContextMiddleware (/opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:137:5)\n    at /opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:15:16\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)"
2024-02-27T21:17:30.771Z 705e3745-3759-4ad0-ac05-17408e96aeea error: ErrorMiddleware: Set HTTP code: 400
2024-02-27T21:17:30.771Z 705e3745-3759-4ad0-ac05-17408e96aeea error: ErrorMiddleware: Set HTTP body: undefined
2024-02-27T21:17:30.771Z 705e3745-3759-4ad0-ac05-17408e96aeea info: EndMiddleware: End response. TotalTimeInMS=3 StatusCode=400 StatusMessage=undefined Headers={"server":"Azurite-Blob/3.29.0"}

when I try to replicate this request using curl, I receive the same error.
I am using the following spring cloud azure blob storage configuration parameters, including the default dev storage account credentials. I followed the instructions here and added a connection string as well:
https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?toc=%2Fazure%2Fstorage%2Fblobs%2Ftoc.json&bc=%2Fazure%2Fstorage%2Fblobs%2Fbreadcrumb%2Ftoc.json&tabs=visual-studio%2Cblob-storage#connection-strings
    // spring cloud azure config
    registry.add(
        "spring.cloud.azure.storage.blob.endpoint",
        () -> String.format("http://localhost:%s", azureBlobStorageContainer.getFirstMappedPort())
    );

    // azurite key and account name taken from here: https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azurite?tabs=docker-hub%2Cblob-storage#well-known-storage-account-and-key
    registry.add(
        "spring.cloud.azure.storage.blob.account-name",
        () -> "devstoreaccount1"
    );
    registry.add(
        "spring.cloud.azure.storage.blob.account-key",
        () -> "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="
    );

    registry.add(
        "spring.cloud.azure.storage.blob.connection-string",
        () -> "UseDevelopmentStorage=true"
    );

I have not been able to successfully make any calls to the Azurite container--it seems they all return 400.
Steps to reproduce the issue?
Launch Azurite with Testcontainers.
Try to connect with Spring Cloud Azure, or directly through a cURL request to the REST API.
If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
-d "/logs/debug.log"

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Have you found a mitigation/solution?
No.

@avivunitq
The incoming request Uri missing the storage account name: RequestURL=http://localhost/test-container?restype=container
If you use localhost, the Uri should look like RequestURL=http://localhost/devstoreaccount1/test-container?restype=container

@avivunitq
The incoming request Uri missing the storage account name: RequestURL=http://localhost/test-container?restype=container If you use localhost, the Uri should look like RequestURL=http://localhost/devstoreaccount1/test-container?restype=container You can find more details in https://github.com/Azure/Azurite?tab=readme-ov-file#endpoint--connection-url

I tried this as well, but then I got an 403 authentication error. But really shouldn't it work as stated? The account key, endpoint, and name should configure all of that behind the scenes, shouldn't it?

Ah, it worked! With REST it wasn't working, but changing the config did the trick.
I changed the configured endpoint from this:
// spring cloud azure config
registry.add(
    "spring.cloud.azure.storage.blob.endpoint",
    () -> String.format("http://localhost:%s", azureBlobStorageContainer.getFirstMappedPort())
);

to this:
    // spring cloud azure config
    registry.add(
        "spring.cloud.azure.storage.blob.endpoint",
        () -> String.format("http://localhost:%s/devstoreaccount1/", azureBlobStorageContainer.getFirstMappedPort())
    );

@avivunitq
Good to know your scenario works!
BTW, you can find the sample connecting string for Azurite in https://github.com/Azure/Azurite?tab=readme-ov-file#https-connection-strings
Please note, the account name should be included in endpoint like : BlobEndpoint=https://<IP_ADDRESS>:10000/devstoreaccount1


Should the colon biopsy procedure be an example of FiBaseProcedure?

Currently one of the examples is marked as an example of the base FHIR resource, not the profile specified in this implementation guide. Therefore this example is not listed as one of the examples of the FiBaseProcedure profile. Is this intentional?
https://github.com/fhir-fi/finnish-base-profiles/blob/master/input/fsh/examples/procedurePartOfMainProcedure.fsh#L2

Good catch! It should be FiBaseProcedure. I'll fix this right away.


Implement get_transition

This issue depends on #13.
Use get_next_state and add_business_days to implement get_transition, passing all the cases in test_get_transition.
The results should be pushed to the branch introduce_get_transition.
At that point, update the draft PR that you created at the end of #13 to a normal PR.

You can substitute s.next for get_next_state(s) where s is a State.


Remove blank header from markdown table

The markdown syntax you've used for generating table leaves a blank header above the cell. I've removed it.
You can compare the existing table with my change here to visually see what I mean.

I've made the change myself. Thanks for the change @studenton


Replaced boost::function with std::function calls

A new build of db0961d5c175f21db561ad24e1e2c2e1730c00af has completed succesfully!
Binaries available at https://build.nav.community/binaries/std-function-boost-function

a full sync from scratch needed?


Add a grace period to readyz

Which issue this PR addresses:
https://msazure.visualstudio.com/AzureRedHatOpenShift/_boards/board/t/Red Hat APAC/Features/?workitem=7411459 maybe?
What this PR does / why we need it:
This copies what k8s's apiserver does, providing a ready (or livez, in their case) grace period where it will tolerate startup checks being not-ready for a given amount of time. ( https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ see --livez-grace-period ). This doesn't have a configuration method.
Test plan for issue:
Unit tests are added
Is there any documentation that needs to be updated for this PR?
N/A

I think the premise of this is mistaken. Do not merge for now.

Can you elaborate?


Adding Makefile

setting the image sha in the Dockerfile should remove some of the errors being reported in security reports.


Noob question about backprop implementation

Hello,
I came across this from your YT video tutorials, thank you for making these!
In engine.py, you implement back propagation using explicit topological order computation.
Are there any reasons why we would not recursively call _backward for every child ?
e.g. implement backward function in Value as such:
    def backward(self):
        self._backward()
        for v in self._prev:
            v.backward()

Does it have something to do with how backprop is implemented in actual NN libraries? Is recursion harder to parallelise in practice compared to using topological ordering?
Thank you

Hi, this is my guess. It would definitely work.
But at a certain moment, the depth of the graph can be so large that one risks stack overflow.
It feels like a tradeoff between simplicity and robustness of the example. But I am not sure if that was the real concern.
My concern was that we are creating the order with each call of the back propagation, while it typically remains constant over the whole optimization process. So the order could easily be cached somewhere. But that is just performance problem, I undestand that this was supposed to be explanation of the principle.
And it is a great one! ❤

Great question, I was wondering the same 👍🏽

Hi, this is my guess. It would definitely work. But at a certain moment, the depth of the graph can be so large that one risks stack overflow. It feels like a tradeoff between simplicity and robustness of the example. But I am not sure if that was the real concern.
My concern was that we are creating the order with each call of the back propagation, while it typically remains constant over the whole optimization process. So the order could easily be cached somewhere. But that is just performance problem, I undestand that this was supposed to be explanation of the principle.
And it is a great one! ❤

Topological sort in micrograd is implemented using recursion, so the stack overflow concern is same as when calling backward() recursively

The graph is not necessarily a tree, it can have diamonds, see https://github.com/geohot/tinygrad/pull/165#issuecomment-741677276
Checking visited nodes using topological sort prevents repeat backward calls on same node


custom "add" message

Hi,
thnx for the component,
I cannot find info how to customize "add" message, please help.
Thank you

Hi @acerov, did you take a look at the dummy app in the tests? There is an example for this case there:
export default Ember.Controller.extend({
  ...
  capitalizeSuggestion(term) {
    return `Hey! Perhaps you want to create ${term.toUpperCase()}??`;
  },
  ...
});

{{#power-select-with-create
    options=countries
    searchField="name"
    selected=selectedCountry
    onchange=(action (mut selectedCountry))
    oncreate=(action "createCountry")
    buildSuggestion=capitalizeSuggestion as |country term|
}}
  {{country.name}}
{{/power-select-with-create}}

Hope that helps!


[Bug]: layout recognizer failed for wrong boxes class type

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

RAGFlow workspace code commit ID
tag: v0.15.0
RAGFlow image version
ragflow:v0.15.0
Other environment information
No response
Actual behavior
Traceback (most recent call last):
File "/ragflow/deepdoc/vision/t_recognizer.py", line 190, in
main(args)
File "/ragflow/deepdoc/vision/t_recognizer.py", line 48, in main
layouts = detr(images, float(args.threshold))
File "/ragflow/deepdoc/vision/recognizer.py", line 456, in call
bb = self.postprocess(self.ort_sess.run(None, {k:v for k,v in ins.items() if k in self.input_names})[0], ins, thr)
File "/ragflow/deepdoc/vision/recognizer.py", line 433, in postprocess
return [{
File "/ragflow/deepdoc/vision/recognizer.py", line 434, in
"type": self.label_list[class_ids[i]].lower(),
IndexError: list index out of range
It got unexpected class_ids:
indices: [4, 5, 1, 3, 0, 2]
class_ids: [126  47 142  83   0  25]
self.label_list: ['title', 'Text', 'Reference', 'Figure', 'Figure caption', 'Table', 'Table caption', 'Table caption', 'Equation', 'Figure caption']

Expected behavior
No response
Steps to reproduce
python deepdoc/vision/t_recognizer.py --inputs=<any_pdf_file> --threshold=0.2 --mode=layout --output_dir=./output

Additional information
No response

Has anyone encountered the same issue? Or could someone help provide a solution?

Update the model files in rag/res/deepdoc with this.

@KevinHuSh i have upate model file,but this problem still 。

Have you restart the server?

@KevinHuSh I am also encountering the same issue; I have updated the model code, but the problem remains unresolved.And I have restarted the service.

Similarly，received unexpected class ids！

Update the model files in rag/res/deepdoc with this.
Thank you for your reply. I have updated the model, but the exception still occurs.

I have the same problem. Unexpected class ids:

test file:
1.pdf
command:
python deepdoc/vision/t_recognizer.py --inputs='./input/1.pdf' --threshold=0.2 --mode=layout --output_dir='./output'

Update the model files in rag/res/deepdoc with this.
Thank you for your reply. I have updated the model, but the exception still occurs.

Me too

After updating the model files in rag/res/deepdoc, you need to make sure all the task_executor.py be killed and restart.


No full removal through uninstall.exe when the service is running

When we try to uninstall an agent through the file uninstall.exe, it doesn't stop the service and doesn't suppress completely all files and directories (Windows environment)

yes, it is an obsolete issue


New UI and design for the Create Post Card

Is your feature request related to a problem? Please describe.
The UI is dull and not good. Also the creator name is in input bar with disabled. The choose file button is also not good.
Describe the solution you'd like
I will be changing the UI a bit and add the customized button for uploading the file. Also the validation would be improved
Additional context
Please assign me this issue under GSSoC 21'

@AmeyaJain-25 Go Ahead!

@AmeyaJain-25 Any update?

Yes, I've done the CSS part.
Validation is remaining. Will be making PR by tomorrow evening

Hello! Can I work on this under GSSOC ?


Serverless AI Tutorial: Rust path needs serde/serde_json crates

I followed the Serverless AI Tutorial and chose the Rust path.
Issue
When running spin build --up, I encountered the following errors related to missing the serde/serde_json crates:

Fix
After referencing a Rust app example in the ai-examples repo (https://github.com/fermyon/ai-examples/blob/main/sentiment-analysis-rs/Cargo.toml), I added the following to my Cargo.toml:
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.85"

Afterwards, I was able to build the app successfully.
(These crates aren't included by default in the http-rust template used for the tutorial, hence needing to add them manually)

Thanks @vdice fixed in https://github.com/fermyon/developer/pull/900


Multiprocessing deadlock

How can I solve this problem?

Hi,
Thanks for your interest in this work.
Our implementation has only been tested on Linux. If you still encounter such issue while following the instructions in the Environment section, please consider switching to Linux. IMHO, Windows is not an ideal option for research on deep learning.
As a side note, the error message shown in your screenshot looks suspicious. If the program fails for some reason, the error should come from a Python script inside the conda environment, e.g., "conda_directory/envs/environment_name".
All the best.
Xingyang


CLI values ignored by

What kind of request is this (question/bug/enhancement/feature request):
Steps to reproduce (least amount of steps as possible):
Result:
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI):
Installation option (single install/HA):

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):

(paste the output here)

Weird, not sure why this duplicate was opened partially complete


[CHALLENGE SUBMISSION]

Please provide the following information for your submission:
What is your name? (First, Last)
Giorgio Lasala
Where is your GitHub Repo ?(With your challenge solution)
https://github.com/salem84/Terraform-On-Azure-Workshop/tree/master/challenge5
What Challenge is this for? (Challenge number between 1 and 5)
5
(Optional) Anything else we should know? e.g., language used, location, blog post?
Yesterday I wrote the scripts with wrong secret file, but today when I changed there are yet some issues with startup of consul-tls.
I have followed hashicorp learn tutorials but on my cluster I have error on startup when I set parameters (caKey, caCert, serverConfigJSON)
global:
  name: consul
  datacenter: salem84
  tls:
    # must be enabled for federation
    enabled: true
    # certificate shared from primary
    caCert:
      secretName: consul-federation
      secretKey: caCert
    caKey:
      secretName: consul-federation
      secretKey: caKey

  federation:
    enabled: true

  # gossipEncryption:
  #   secretName: consul-federation
  #   secretKey: gossipEncryptionKey
  # acls:
  #     manageSystemACLs: true
  #     replicationToken:
  #         secretName: consul-federation
  #         secretKey: replicationToken

server:
  replicas: 1
  bootstrapExpect: 1
   extraVolumes:
    - type: secret
      name: consul-federation
      items:
        - key: serverConfigJSON
          path: config.json
      load: true

meshGateway:
  enabled: true
  replicas: 1

connectInject:
  enabled: true

In this way I have
consul-connect-injector-webhook-deployment-74687f977c-8cskl   1/1     Running
consul-kxl45                                                  1/1     Running
consul-mesh-gateway-6cbc8c56cc-sblzx                          2/2     Running
consul-server-0                                               1/1     Running
consul-tls-init-2gq79                                         0/1     Error
consul-tls-init-fsxgh                                         0/1     Error
consul-tls-init-lnwxc                                         0/1     Error

and I see only my dc with consul members -wan command
I don't know if I can try later, however I would like to thank you for this week challenge :-)
Location: Rome, Italy 🇮🇹

Hi,
My solution to the challenge was: https://github.com/eveld/tfonazure
You do need the gossip encryption part of the values file e.g.
  gossipEncryption:
    secretName: consul-federation
    secretKey: gossipEncryptionKey

You can check my values.yaml for the differences between them.

I will also share the code later to spin up the 2 clusters, so you can try it later if you want to and cluster 2 of your own resourcegroups together.

Hey, can you check if the consul-server-0 pod is outputting a message of 2020-06-27T12:30:55.358Z [INFO] agent: (WAN) joining: wan_addresses=[*.dc1/<IP_ADDRESS>]. I am running into this myself now, eventhough the values in the consul-federation file are correct. I have had this problem before, but that was all locally, so assumed it was something to do with my local setup.

If I'm not wrong I have also tested this morning gossip and ACL parts... however now I have taken your configuration and I have changed some parameters missing on terraform deploy...

OK, I figured it out. It was a combination of consul generating a key for gossip + terraform creating a gossip encryption key secret. In the end we were double base64-ing the gossip key, as I was inputting it as a variable into Terraform to create a central cluster.
I recreated the central cluster and given @ntrogh the new federation secret.

Ok @eveld, I just recreated the cluster with the same problem... later I will try with the new secret


Initiate Greenfoot World

Initiate the World class for the scenario in gree nfoot.
Set all the player and Captain Artifacts and Implement the Prepare method for the world

Hey Team,
I have Initiated the world preparation and Player generation for the greenfoot scenario based on the design artifacts provided by @yugalk14 .
I also found a solution for different images for the Player class using an image array. Please use the same array of images in the Player class in case you guys add another actor.


AbstractCluster#waitForSchemaAgreement should be configurable

The default waitForSchemaAgreement implementation makes unit testing pretty cumbersome because of the long default sleep time.
Therefore, it should be possible to override the default sleep time of waitForSchemaAgreement (1s).

I'd be ok with this - any interest in submitting a pull request?

Sure, but this was no fun. The repository is nearly 20MB big and it took some time to get maven generate the eclipse project files. Please switch the build to gradle!


Automated cherry pick of #4520: baremetal: fix megaraid check jbod always disabled

Cherry pick of #4520 on release/3.0.
#4520: baremetal: fix megaraid check jbod always disabled

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/3.0@eeeb81b). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             release/3.0   #4521   +/-   ##
=============================================
  Coverage               ?   6.83%
=============================================
  Files                  ?     522
  Lines                  ?   88574
  Branches               ?       0
=============================================
  Hits                   ?    6052
  Misses                 ?   82017
  Partials               ?     505

Flag
Coverage Δ

#aFlag
6.83% <ø> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eeeb81b...30fab89. Read the comment docs.


Reply to this email directly, view 8it on GitHub, or mute the thread.


iOS support

Status

⚠ iOS cannot be tested by myself at this time. ⚠
If you have the means to test and are willing to help, please reach out!

What
Status
Details
What needs to be done

Builds
❓
Unknown
Need testers

Exports
❓
Unknown
Need testers

Runs
❓
Unknown
Need testers

Hi @SakulFlee,
I noticed that iOS support is currently pending due to the inability to test it. I'd like to offer my assistance in testing on iOS. Could you provide a test scenario for iOS compatibility?
Thanks!

Hi @SakulFlee,
I noticed that iOS support is currently pending due to the inability to test it. I'd like to offer my assistance in testing on iOS. Could you provide a test scenario for iOS compatibility?
Thanks!

Hello there!
Thanks for reaching out :)
iOS should work, but I can't test that at all due to iOS requiring a macOS device to even test on ... I also don't know much about iOS development, i.e. I can't really give you any details about how to publish a Godot project to an iOS device.
However, Godot has a guide on their website about Exporting to iOS.
If you fulfill those requirements and can actually run an iOS app then please check out the included Example Project from this repository. It contains a handful of different examples I used for testing everything.
The example project is also available as a Template in the Godot Asset Store!
I'd also recommend reading through my Getting-Started Guide.
You will also need a Match Maker server (if you are intending to use the Match Maker!) and possibly a TURN server to fully validate that everything is working.
I can share my TURN test server credentials if you need it.
Other than that, please run the examples with all logs shown and compare them against running on macOS (or similar). If anything doesn't work, please let me know.
I am unsure if I have the time currently to fix those issues, but at least getting them investigated for now would be huge!
If you have any other questions or need something else, please don't hesitate to reaching out!
And thanks again :)

Also, as a side node to this, I know that Android was somewhat broken the last time I checked it.
I was waiting for Godot to stabilize mobile exports a little bit more before trying to find the cause.
I do be curious about if iOS is facing the same issues as Android or if iOS just works fine.
The Android tracker should be #106.

Sorry for the delay on this – I've been really busy and only had the chance to test it now.
I tried running it on iOS, but I'm receiving an error related to reflection:
ERROR: System.InvalidOperationException: Reflection-based serialization has been disabled for this application. Either use the source generator APIs or explicitly configure the 'JsonSerializerOptions.TypeInfoResolver' property.
   at System.Text.Json.ThrowHelper.ThrowInvalidOperationException_JsonSerializerIsReflectionDisabled() + 0x34
   at System.Text.Json.JsonSerializerOptions.ConfigureForJsonSerializer() + 0x270
   at System.Text.Json.JsonSerializerOptions.MakeReadOnly(Boolean) + 0x34
   at System.Text.Json.JsonSerializer.GetTypeInfo(JsonSerializerOptions, Type) + 0x48
   at System.Text.Json.JsonSerializer.GetTypeInfo[T](JsonSerializerOptions) + 0x50
   at System.Text.Json.JsonSerializer.Deserialize[TValue](String, JsonSerializerOptions) + 0x54
   at PacketSerializer.FromJSON[T](String json) + 0xd0
   at Packet.FromJSON[T](String json) + 0x38
   at MatchMaker.<_Process>d__36.MoveNext() + 0x158
--- End of stack trace from previous location ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x30
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state) + 0x28
   at Godot.GodotSynchronizationContext.ExecutePendingContinuations() + 0x4c
   at Godot.GodotTaskScheduler.Activate() + 0x30
   at WebRTC Match Maker Godot Project!<BaseAddress>+0xb06774
at: void Godot.NativeInterop.ExceptionUtils.LogException(System.Exception) (:0)

I attempted to use .NET 9.0 and enabled the following settings:
    <PublishAot>true</PublishAot>
    <PublishAotUsingRuntimePack>true</PublishAotUsingRuntimePack>

This is based on the .NET documentation: https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/ios-like-platforms/#support-for-applications-and-libraries-without-os-specific-api-dependencies. However, I'm encountering another error related to exporting for the iOS platform. It looks like there is an open issue regarding this: https://github.com/godotengine/godot/issues/100123, and a PR addressing it: https://github.com/godotengine/godot/pull/100187.
It seems, for now, that it's not possible to use it on iOS (or maybe I'm doing something wrong). I have an iOS background, so some things in .NET/Rust are a bit different from what I'm used to.

Ps.: It seems like it's trying to "connect" forever.

I am sorry for the misunderstanding!
I think I understand the issue now, but a video would be appreciated regardless :)
After looking into this, it seems like enabling AoT actually breaks the JSON [de]serialization. Or at least Native AoT does. I don't know why I can run it with AoT locally and it being fine, but adding the suggested "Source Generation" from the error message isn't a huge problem.
Will attempt implementing this in a bit.
Would be lovely if you can test that again then, will keep you updated!

@Vitorsilveira31 Alright, I changed the JSON [de]serialization process over to the suggested SourceGen approach (and fixed some other things on the way ...).
Please test #189 once you have some time :)

@SakulFlee Running on Godot on this branch, I encountered a few errors. Here are the details along with a video demonstrating them.
https://github.com/user-attachments/assets/4fc46219-0dbc-4e9d-9485-db1b6ad436b6
Here are the errors I got
// CHAT
E 0:00:18:0466   void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver): System.InvalidOperationException: JsonTypeInfo metadata for type 'ChatMessagePacket' was not provided by TypeInfoResolver of type 'JsonSourceGenContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
  <C++ Error>    System.InvalidOperationException
  <C++ Source>   :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
  <Stack Trace>  :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
                 :0 @ string System.Text.Json.JsonSerializer.Serialize(object, System.Type, System.Text.Json.Serialization.JsonSerializerContext)
                 PacketSerializer.cs:24 @ string PacketSerializer.ToJSON(object)
                 ChatMessagePacket.cs:14 @ string ChatMessagePacket.ToJSON()
                 Chat.cs:34 @ void Chat.SendMessage(string)
                 Chat.cs:63 @ void Chat.OnChatTextEditChanged()
                 Chat_ScriptMethods.generated.cs:79 @ bool Chat.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name&, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant&)
                 CSharpInstanceBridge.cs:24 @ Godot.NativeInterop.godot_bool Godot.Bridge.CSharpInstanceBridge.Call(nint, Godot.NativeInterop.godot_string_name*, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_variant_call_error*, Godot.NativeInterop.godot_variant*)

// GAME
E 0:00:05:0900   void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver): System.InvalidOperationException: JsonTypeInfo metadata for type 'GamePacketPlayer' was not provided by TypeInfoResolver of type 'JsonSourceGenContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
  <C++ Error>    System.InvalidOperationException
  <C++ Source>   :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
  <Stack Trace>  :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
                 :0 @ string System.Text.Json.JsonSerializer.Serialize(object, System.Type, System.Text.Json.Serialization.JsonSerializerContext)
                 PacketSerializer.cs:24 @ string PacketSerializer.ToJSON(object)
                 GamePacket.cs:16 @ GamePacket..ctor(GamePacketType, object)
                 Game.cs:205 @ Player Game.spawnPlayer(string, Godot.Vector2)
                 Game.cs:154 @ Player Game.spawnPlayerRandomLocation(string)
                 Game.cs:43 @ void Game+<>c__DisplayClass5_0.<_Ready>b__1(ushort)
                 WebRTCPeer_ScriptSignals.generated.cs:182 @ void WebRTCPeer.RaiseGodotClassSignalCallbacks(Godot.NativeInterop.godot_string_name&, Godot.NativeInterop.NativeVariantPtrArgs)
                 ScriptManagerBridge.cs:455 @ void Godot.Bridge.ScriptManagerBridge.RaiseEventSignal(nint, Godot.NativeInterop.godot_string_name*, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_bool*)

E 0:00:05:0937   void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver): System.InvalidOperationException: JsonTypeInfo metadata for type 'GamePacketPlayer' was not provided by TypeInfoResolver of type 'JsonSourceGenContext'. If using source generation, ensure that all root types passed to the serializer have been annotated with 'JsonSerializableAttribute', along with any types that might be serialized polymorphically.
  <C++ Error>    System.InvalidOperationException
  <C++ Source>   :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
  <Stack Trace>  :0 @ void System.Text.Json.ThrowHelper.ThrowInvalidOperationException_NoMetadataForType(System.Type, System.Text.Json.Serialization.Metadata.IJsonTypeInfoResolver)
                 :0 @ string System.Text.Json.JsonSerializer.Serialize(object, System.Type, System.Text.Json.Serialization.JsonSerializerContext)
                 PacketSerializer.cs:24 @ string PacketSerializer.ToJSON(object)
                 GamePacket.cs:16 @ GamePacket..ctor(GamePacketType, object)
                 Game.cs:191 @ void Game.<spawnPlayer>b__17_1(string, Godot.Vector2)
                 Player_ScriptSignals.generated.cs:55 @ void Player.RaiseGodotClassSignalCallbacks(Godot.NativeInterop.godot_string_name&, Godot.NativeInterop.NativeVariantPtrArgs)
                 ScriptManagerBridge.cs:455 @ void Godot.Bridge.ScriptManagerBridge.RaiseEventSignal(nint, Godot.NativeInterop.godot_string_name*, Godot.NativeInterop.godot_variant**, int, Godot.NativeInterop.godot_bool*)

// RPC
E 0:00:11:0043   process_simplify_path: Duplicate remote cache ID 1 for peer 1
  <C++ Error>    Condition "peers_info[p_from].recv_nodes.has(id)" is true.
  <C++ Source>   modules/multiplayer/scene_cache_interface.cpp:110 @ process_simplify_path()

@SakulFlee I left 2 comments on your PR. I believe I explained everything in detail, but if you need anything more specific, let me know

From #189:

I just renamed this PR and will merge it for now due to its AOT support, at least initially, working and some things in the demos have been fixed.
Unfortunately, like stated above, the issue seems to be with BouncyCastle not supporting AOT.
I am as of now not sure what to do about it.
Further details can be discussed in the PR: #107.
However, I suggest waiting until Godot fixes their iOS builds for better consistency, and, .NET 9+AOT becoming a bit more widespread.

This might be a new issue in .NET 9 (there are already plenty JIT related BouncyCastle issues ...)


feat: download helm binary based on os and platform architecture

Description
This pull request changes the following:

download helm binary based on os and platform architecture during solo init
solo now uses the helm it installs in .solo/bin directory.

Related Issues

Closes #49

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


second commit - main page

This gives the main frontend structure that we will be using for this hackathon.

Closing this because I already copied the code and merged it with mine before I saw this PR.


place_order_option not working.   Exception: ('place_option_order failed', 500, '')

On a paper account, but have tried both.  My regular orders go thru fine, so I don't think its an auth problem.  Is my syntax correct? Any other ideas?  I have also explored using prices that are closer to the bid/ask, in case that was the error.  Any help is greatly appreciated.

I'm having the exact same problem right now, I want to paper trade options but this error is getting in the way. Could it be an Internal Server Error? If so, I'm not sure if this could be fixed.

I did a little digging, and it seems paper options trading is somewhat new;  I think I saw Ted discussing it back in January;  this leads me to wonder if it just isn't supported with this API yet.

i think your theory is correct, i just ordered options normally with the same code. Unfortunate.

You can't paper trade options. This package pretty much connects to webull via the "web interface" and since you can't papertrade options on the web interface, papertrading options won't work.

use the keyword "ticker" instead of "stock"


Scale=MatchLowercase Ignore

See https://github.com/diogo-fernan/academicons/issues/6.
Regards,
Diogo

Sorry, I don't see how I can address this.


DS-3572: Check authorization for a specified user instead of currentUser

https://jira.duraspace.org/browse/DS-3572
This PR build on PR https://github.com/DSpace/DSpace/pull/1715 but fixes some tests.

Looks good, and glad to see this passes!
Just as a note, this afternoon, I was trying to help cherry-pick #1694 to master and realized that the work in this 1715 PR is dependent on 1694 slightly (as 1694 changes some of the logic in GroupServiceImpl.java).  So, while it shouldn't hold up merging this PR into dspace-6_x, I suspect we will need to merge #1694 into master before this PR will cherry-pick easily.
As of yet, I've had difficulty myself porting #1694 to master and haven't been able to get it to pass unit tests.  @tomdesair , if you have time to chip in on this, or take it over, I've started a #1694 port to master in this branch (but it fails a lot of unit tests, so somewhere my conflict merging must've gone wrong): https://github.com/tdonohue/DSpace/tree/DS-3552-master

Minor update to my previous note about #1694 port to master. I finally got it building properly and passing unit tests. See #1769. So, I'd recommend it is merged to master prior to any version of this PR (as the cherry pick should be much smoother that way).

@pnbecker I've fixed the tests and I've implemented your suggestion to make the isMember call with special groups more performant. I also updated the GroupTest class to provide better test coverage of the isMember methods.

This should be cherry-picked to merge as soon as it get merged to dspace-6_x.

Deployed and tested the following in the UI:

register user
create admin *dspace command
log in/log out as user and admin
create community as admin
create collection as admin
assigned user as submitter
submitted to collection as user
submitted to collection as admin
edit item metadata as user
edit item metadata as admin
removed anonymous access to bitstream, user must now request a copy
update profile as user
update profile as admin
versioned item as admin
add user as administrator policy on a sub-community
user able to create collection in sub-community

+1

Thanks for testing @wwelling !

Cherry-picked to master.


CA certificate

How do I specify the ca certificate?
Mon Jul 22 11:52:16 2019 VERIFY ERROR: depth=1, error=self signed certificate in certificate chain: CN=TG-VPN-CA
Mon Jul 22 11:52:16 2019 OpenSSL: error:14007086:SSL routines:CONNECT_CR_CERT:certificate verify failed

Did you manage to make this work? I've the same issue

Funny enough, I just stumbled upon this image and was just trying this out here and was seeing the same error.  I saw online that, in this case, the ovpn profile that's included in this image is outdated and needs updated profiles.  I ended up copying the profiles from this repo, https://github.com/haugene/docker-transmission-openvpn/tree/master/openvpn/torguard into a folder on my docker host and attached that folder to the container.
example:
.... -v  '/dockervolumes/apps/torguard:/OpenVPN-UDP'  ....

I ended up using the dperson/openvpn-client:latest image...


fix: Cannot Update very_good_cli

Description
Currently installed version. Installed via:
dart pub global activate very_good_cli

Current installed version is very_good_cli 0.14.0
Steps To Reproduce - Update

Attempted to update with:

very_good update
Result is:
✓ Checked for updates (0.5s)
✗ Updating to 0.15.0 (0.8s)
Error updating Very Good CLI: The current Dart SDK version is 2.19.5.

Because pub global activate depends on very_good_cli >=0.15.0 which requires SDK version >=3.0.0 <4.0.0, version solving failed.

Expected Behavior
Does not fail to update.

I believe this might be due to your Flutter version not using Dart 3.
Try:

Upgrade Flutter (via command line flutter upgrade)
Upgrade your project to Dart 3 (by updating the pubspec.yaml SDK versioning and dependencies)

Let me know if this resolves this issue. If it does not, please share the output of flutter doctor.

Nope. Flutter is already Dart 3:
Flutter 3.10.5 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 796c8ef792 (4 days ago) • 2023-06-13 15:51:02 -0700
Engine • revision 45f6e00911
Tools • Dart 3.0.5 • DevTools 2.23.1

Resolved!
Somehow I had installed Dart v2.19.5 from brew as well as from the Flutter install. So I had two versions installed.
Resolved by removing the brew Dart install with brew remove dart.
After that very_good update worked correctly and updated the package.


use new vizlab package and viz.yaml

we want to work in the fetch, process, and visualize sections to the new viz.yaml

The three steps requested above are good to go


[FIX] Add minimum version of requirements

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender

@FedericoGarza Could you please help me understand what it is that you were trying to solve/improve with this PR?

hey @sugatoray! there was a problem with statsmodels but it was fixed, this PR  is no longer needed.


support after suite callbacks

Currently, rrrspec does not support "config.aster(:suite)".
This pr may work well but I can not add the test. It’s over my head.

LGTM

LGTM.

This pr may work well but I can not add the test. It’s over my head.

Add config.after(:suite) case to local_test specs. We can check the behavior manually.

I setuped local_test and tried to write spec.
However,  Writing the test of 'config.after(:suite)' is difficult for me. I have no idea.
Could I merge it without tests?

:ok:


Do not see hyperlinks to my videos in S3 per the search results, no video snippet.

Hi Team,
This is one of the best solutions I came across. Thank you so much for your efforts.
I ran into an issue. I do not see hyperlinks to my videos in S3 per the search results, as shown in the attachment. By that, I can not run any video from the middle per the search result. also 'Sources' section show only direct video links, no video snippet.
Please assist.

Hey @rajeev2509 Thanks for your feedback.
You are currently using the Web application that is deployed as part AMazon Q BUsiness application. If you check the Finder cloudformation stack, you will notice a output paramter MediaSearchFinderURL.
i.e. follow instructions in section Deploy the Mediasearch Q Business finder component
Do let me know how you go.
At the moment, the solution plays the video on s3 from the first time stamp where the first relevant occurence occurs. PLaying from multiple stamps is a great feature request. At the moment though, the solution does not do that. i.e. play the video from the middle.

Working as designed. Please use the MS Finder application which is a react JS app. The URL for the app is the value of the cloudformation parameter MediaSearchFinderURL.


dynamic_modules: scaffolds config API & HTTP Filter

Commit Message: dynamic_modules: scaffolds config API & HTTP Filter
Additional Description:
This scaffolds the configuration API marked as work-in-progress, and
the skeleton HTTP filter implementation based on the configuration.
The real implementations will follow after this commit.
Risk Level: low
Testing: n/a
Docs Changes: n/a
Release Notes: n/a (not enabled yet)
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

/retest

/retest

/retest

/retest

cc @marc-barry
ps the flaky CI failure is nothing to do with this PR

ERROR: /source/test/extensions/load_balancing_policies/client_side_weighted_round_robin/BUILD:40:24: Compiling test/extensions/load_balancing_policies/client_side_weighted_round_robin/integration_test.cc failed: (Killed): clang-14 failed: error executing command (from target //test/extensions/load_balancing_policies/client_side_weighted_round_robin:integration_test)

/lgtm api

/retest

no idea why suddenly gcc is getting killed ... (merged main again and hope all good)

hmm looks legit and failed to reproduce locally either..

looks like pending RBE jobs are piling up and that's why it's getting killed - I will retry later

/retest

/retest

/retest

@phlax i am getting flaky gcc: fatal error: Killed signal terminated program cc1plus (flaky in the sense that the killed build target varies each time) and I am seeing this on the main branch as well (https://github.com/envoyproxy/envoy/actions/runs/11463146676/job/31896388874). Retries so far failed to work. Do you have any idea what's going on?

hi anything that has killed in it implies OOM - this is due to our new RBE backend using smaller workers by default
to whatever build or test is failing add:
rbe_pool = "6gig"

hmm - the test target is really small and if they need the 6gig then almost entire test target in this repo needs one.  (meanwhile I pushed the main merge again)

FYI https://github.com/envoyproxy/envoy/blob/551982e5f2d950b51ee718ab60b320dbb98fb733/test/extensions/dynamic_modules/http/factory_test.cc this is one of two cases killed during build - I would be really surprised if this one needs such setting

I removed the unnecessary test build deps https://github.com/envoyproxy/envoy/pull/36448/commits/ae9756fc9a2b8c529804238e219ba35bbacefe1e - hope this resolves this

hmm still happening. @phlax this hasn't happened before I did a main merge yesterday.  I am inclined to believe that build target dependency added recently into the test framework (//test/mock etc?) or whatever is causing this. The current failing target is https://github.com/envoyproxy/envoy/blob/ae9756fc9a2b8c529804238e219ba35bbacefe1e/test/extensions/dynamic_modules/http/BUILD#L11-L22 and quite frankly it's insane if this one needs such option.
From the log, it's failing to link crazy amount of files for this really small build target.
 /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF bazel-out/k8-fastbuild/bin/test/extensions/dynamic_modules/http/_objs/factory_test/factory_test.pic.d '-frandom-seed=bazel-out/k8-fastbuild/bin/test/extensions/dynamic_modules/http/_objs/factory_test/factory_test.pic.o' -fPIC -DENVOY_ADMIN_FUNCTIONALITY -DENVOY_ENABLE_QUIC -DENVOY_ENABLE_FULL_PROTOS -DENVOY_ENABLE_YAML -DENVOY_ENABLE_HTTP_DATAGRAMS -DENVOY_MOBILE_ENABLE_LISTENER -DENVOY_GOOGLE_GRPC -DFMT_HEADER_ONLY -DSPDLOG_FMT_EXTERNAL '-DGTEST_HAS_ABSL=1' -DNGHTTP2_STATICLIB '-DBAZEL_CURRENT_REPOSITORY=""' -iquote . -iquote bazel-out/k8-fastbuild/bin -iquote external/com_github_gabime_spdlog -iquote bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog -iquote external/com_github_fmtlib_fmt -iquote bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt -iquote external/com_google_absl -iquote bazel-out/k8-fastbuild/bin/external/com_google_absl -iquote external/com_google_protobuf -iquote bazel-out/k8-fastbuild/bin/external/com_google_protobuf -iquote external/com_github_cyan4973_xxhash -iquote bazel-out/k8-fastbuild/bin/external/com_github_cyan4973_xxhash -iquote external/com_googlesource_code_re2 -iquote bazel-out/k8-fastbuild/bin/external/com_googlesource_code_re2 -iquote external/envoy_api -iquote bazel-out/k8-fastbuild/bin/external/envoy_api -iquote external/com_google_googleapis -iquote bazel-out/k8-fastbuild/bin/external/com_google_googleapis -iquote external/com_envoyproxy_protoc_gen_validate -iquote bazel-out/k8-fastbuild/bin/external/com_envoyproxy_protoc_gen_validate -iquote external/com_github_cncf_xds -iquote bazel-out/k8-fastbuild/bin/external/com_github_cncf_xds -iquote external/dev_cel -iquote bazel-out/k8-fastbuild/bin/external/dev_cel -iquote external/opencensus_proto -iquote bazel-out/k8-fastbuild/bin/external/opencensus_proto -iquote external/com_github_jbeder_yaml_cpp -iquote bazel-out/k8-fastbuild/bin/external/com_github_jbeder_yaml_cpp -iquote external/utf8_range -iquote bazel-out/k8-fastbuild/bin/external/utf8_range -iquote external/boringssl -iquote bazel-out/k8-fastbuild/bin/external/boringssl -iquote external/com_github_google_tcmalloc -iquote bazel-out/k8-fastbuild/bin/external/com_github_google_tcmalloc -iquote external/com_google_googletest -iquote bazel-out/k8-fastbuild/bin/external/com_google_googletest -iquote external/com_github_google_quiche -iquote bazel-out/k8-fastbuild/bin/external/com_github_google_quiche -iquote external/com_googlesource_googleurl -iquote bazel-out/k8-fastbuild/bin/external/com_googlesource_googleurl -iquote external/com_github_nlohmann_json -iquote bazel-out/k8-fastbuild/bin/external/com_github_nlohmann_json -iquote external/com_github_openhistogram_libcircllhist -iquote bazel-out/k8-fastbuild/bin/external/com_github_openhistogram_libcircllhist -iquote external/com_github_mirror_tclap -iquote bazel-out/k8-fastbuild/bin/external/com_github_mirror_tclap -iquote external/bazel_tools -iquote bazel-out/k8-fastbuild/bin/external/bazel_tools -iquote external/com_github_grpc_grpc -iquote bazel-out/k8-fastbuild/bin/external/com_github_grpc_grpc -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/internal_visibility -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/port -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_align -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/stubs/_virtual_includes/lite -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_allocation_policy -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/arena_cleanup -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/string_block -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/varint_shuffle -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/io -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/io_win32 -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/third_party/utf8_range/_virtual_includes/utf8_validity -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/third_party/utf8_range/_virtual_includes/utf8_range -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/gzip_stream -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/stubs/_virtual_includes/stubs -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/printer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/zero_copy_sink -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/io/_virtual_includes/tokenizer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/descriptor_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/empty_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/struct_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/wrappers_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_layering_check_legacy -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/api_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/source_context_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/duration_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/field_mask_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/timestamp_proto -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/compiler/_virtual_includes/importer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/delimited_message_util -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/differencer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/field_mask_util -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/json_util -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/json -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/parser -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/descriptor_traits -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/lexer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/message_path -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/zero_copy_buffered_stream -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/untyped_message -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/type_resolver -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/descriptor_legacy -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/unparser -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/json/_virtual_includes/writer -Ibazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/time_util -Ibazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/logger_impl_lib_standard -Ibazel-out/k8-fastbuild/bin/external/dev_cel/proto/cel/expr/_virtual_includes/checked_proto -Ibazel-out/k8-fastbuild/bin/external/dev_cel/proto/cel/expr/_virtual_includes/syntax_proto -Ibazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/thread_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/source/common/filesystem/_virtual_includes/filesystem_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/source/common/event/_virtual_includes/dispatcher_lib -Ibazel-out/k8-fastbuild/bin/source/common/event/_virtual_includes/signal_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/source/common/filesystem/_virtual_includes/watcher_lib -Ibazel-out/k8-fastbuild/bin/source/common/api/_virtual_includes/os_sys_calls_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_export_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_logging_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_server_stats_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_stack_trace_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_platform_iovec_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_prefetch_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_command_line_flags_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_flag_utils_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_reference_counted_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_testvalue_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quic_base_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_flags_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_mem_slice_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_time_utils_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_client_stats_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/filesystem/_virtual_includes/directory_iterator_impl_lib_posix -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_googleurl_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_mutex_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_containers_impl_lib -Ibazel-out/k8-fastbuild/bin/source/common/quic/platform/_virtual_includes/quiche_lower_case_string_impl_lib -Ibazel-out/k8-fastbuild/bin/external/com_github_google_quiche/_virtual_includes/quiche_common_platform_default_quiche_platform_impl_header_policy_impl_lib -isystem external/com_github_gabime_spdlog/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/include -isystem external/com_github_fmtlib_fmt/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/include -isystem bazel-out/k8-fastbuild/bin/bazel/foreign_cc/zlib/include -isystem external/com_github_jbeder_yaml_cpp/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_jbeder_yaml_cpp/include -isystem external/boringssl/include -isystem bazel-out/k8-fastbuild/bin/external/boringssl/include -isystem external/com_google_googletest/googlemock -isystem bazel-out/k8-fastbuild/bin/external/com_google_googletest/googlemock -isystem external/com_google_googletest/googlemock/include -isystem bazel-out/k8-fastbuild/bin/external/com_google_googletest/googlemock/include -isystem external/com_google_googletest/googletest -isystem bazel-out/k8-fastbuild/bin/external/com_google_googletest/googletest -isystem external/com_google_googletest/googletest/include -isystem bazel-out/k8-fastbuild/bin/external/com_google_googletest/googletest/include -isystem bazel-out/k8-fastbuild/bin/bazel/foreign_cc/event/include -isystem bazel-out/k8-fastbuild/bin/bazel/foreign_cc/liburing/include -isystem bazel/external/http_parser -isystem bazel-out/k8-fastbuild/bin/bazel/external/http_parser -isystem bazel-out/k8-fastbuild/bin/external/envoy/bazel/foreign_cc/nghttp2/include -isystem external/com_github_nlohmann_json/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_nlohmann_json/include -isystem external/com_github_openhistogram_libcircllhist/src -isystem bazel-out/k8-fastbuild/bin/external/com_github_openhistogram_libcircllhist/src -isystem external/com_github_mirror_tclap/include -isystem bazel-out/k8-fastbuild/bin/external/com_github_mirror_tclap/include '-DABSL_MIN_LOG_LEVEL=4' -fdebug-types-section -fPIC -Wno-deprecated-declarations '-std=c++20' -fsized-deallocation -Wall -Wextra -Werror -Wnon-virtual-dtor -Woverloaded-virtual -Wold-style-cast -Wformat -Wformat-security -Wvla -Wno-deprecated-declarations -Wreturn-type -Wno-maybe-uninitialized -DTCMALLOC -DENVOY_OBJECT_TRACE_ON_DUMP -DENVOY_HOT_RESTART -DENVOY_NGHTTP2 -DENVOY_ADMIN_HTML -DENVOY_STATIC_EXTENSION_REGISTRATION -DENVOY_GOOGLE_GRPC -DENVOY_HANDLE_SIGNALS -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c test/extensions/dynamic_modules/http/factory_test.cc -o bazel-out/k8-fastbuild/bin/test/extensions/dynamic_modules/http/_objs/factory_test/factory_test.pic.o

ok now I see     rbe_pool = "6gig", is indeed added to factory_context_mocks ....

problem/solution is as i said above
ci was changed yesterday - altho tbf its been changing over the last few days/week - so not sure about previous runs

yeah anyways added the option - https://github.com/envoyproxy/envoy/pull/36448/commits/f46d3d72f9bba653328bed1430a4e7d1945f4350 thanks for the advice! (I think we need to audit the build dependency graph especially around the common build test targets)

to remove extraneous build/test deps? that would be amazing - did a bit of this previously - but thinning out the tree would make things much faster/use less resources

to remove extraneous build/test deps?

exactly. I think the problem i am having now is essentially because of that (judging by the fact that this has started happening after a certain main merge)


fixes issue with vite.config.ts base

Description
Issue: #37

[ ] Change 1 Updated the base from '/learnjs/' to just '/' to match the base URL in App.tsx

Screenshots

Notes
Not sure if there's a way to get the baseurl to work a different way but this fixed the issue locally.

@HudsonGraeme @codeTrackLift I'm not sure why there were so many files changes. It could be that prettier or VSCode messed with them.

Looks like there's a .next folder that made its way into this PR? Should this be in the .gitignore or removed from the build since we are pivoting to Vite?

@codeTrackLift I've added *.next into the .gitignore file. Curious to see if we will have the blank page fixed after we merge.

Thanks @drewpate. Looks like the .next file is still part of the PR and the commit appears to add 18k+ lines...

Thanks @drewpate. Looks like the .next file is still part of the PR and the commit appears to add 18k+ lines...

@codeTrackLift I'm seeing this now too. At the point I'm pretty stuck, not sure how to move forward.

No worries, an easy solution is to just close this branch and open a new one with just the intended change.


Clarify hashFiles(...) on the README

The README has a key example containing hashFiles(...) - what should that path be to capture the docker images? Where do they go by default?

The paths you hash don't capture the Docker images, and it's not possible to have a sensible default since you want any file that specifies which Docker images to pull. In the case of docker-cache itself, that's just .pre-commit-config.yaml, because the MegaLinter pre-commit hooks pull the MegaLinter Docker image at the version specified here. It's not strictly necessary to use hashFiles, although it is exceedingly common. In our case, a more precise cache key would be to extract only the MegaLinter flavor and release from the YAML as that would prevent the cache from being invalidated whenever we bump the versions of other pre-commit hooks (or indeed modify .pre-commit-config.yaml in any way whatsoever). Does that make sense?

Yes, I think so. So if I had a docker-compose.yaml file I would specify that so any time it changed the cache key would change

That sounds right to me, but please let me know if you encounter any difficulties.

FWIW I found hashFiles(...) very confusing, for a long time I wondered whether the triple dot was some special syntax. I suggest switching to hashFiles(some_directories).
BTW I'm trying to use the digest of the (single!) image I'm interested in but it's not going well: #305

I'm not convinced that fewer people will be confused by the nonstandard some_directories than by .... We could link to the official GitHub docs on hashFiles if you feel that would have been helpful, and also open to other suggestions. My two cents in the future would be to Google something like "hashFiles GitHub Actions" if you find yourself in a similar scenario, but I am acutely aware of how much easier it is to pretend I would have done the right thing when I already knew the answer and am a big fan of time-saving documentation.

Taking a second look at this, I think the other reason why I misinterpreted the triple dots as some special syntax is the fact that hashFiles is mentioned absolutely nowhere in the README.md. This seconds the wrong impression that it's something the user should copy without giving it a thought whereas choosing the argument actually requires some far from negligible effort. This effort deserves IMHO a sentence or two describing it in the Key: section of the README.md. I think this  would be enough to solve all the problems @linusnorton and I had. A couple sentences would be bit more verbose than trying to find the "optimal" hashFiles(argument) but it would leave zero room for error. It's not like the current README.md is already too long right now!

I'm not convinced that fewer people will be confused by the nonstandard some_directories than by ...

some_directories is pretty generic and not very helpful either but at least it can't fool the reader like ... did for me. The official hashFiles documentation  uses a very vague and IMHO not great path. I think any Unix man page I ever looked at uses some english word as a placeholder; never triple dots alone.

We could link to the official GitHub docs on hashFiles if you feel that would have been helpful,

Yes and that too!

My two cents in the future would be to Google something like "hashFiles GitHub Actions" if you find yourself in a similar scenario

Totally agree that the README.md shouldn't try to copy/paste the Internet; however a couple sentences of introduction and background go a very long way. The very first time I looked at this README.md it wasn't even clear to me that hashFiles() came from Github and not from docker-cache!

Taking a second look at this, I think the other reason why I misinterpreted the triple dots as some special syntax is the fact that hashFiles is mentioned absolutely nowhere in the README.md.

This is true in a literal sense, but the README already includes a link to the official GitHub docs that would have clarified all of the confusions you experienced with hashFiles and how to create a key:

The explicit cache key to ferry to the official GitHub cache action.

This is true in a literal sense, but the README already includes a link to the official GitHub docs that would have clarified all of the confusions you experienced with hashFiles and how to create a key:

Totally; it "only"... took more time.
Crafting the perfect README.md balance is a very fine art, thanks for listening and trying in #372


Add EC2 support to chef-acceptance git cookbook test

@chef/client-maintainers @sersut

Looks good! :+1:

:+1:


Why not return JSON in components.js.

The components.js set a global var "components" instead of returning a JSON format data which makes it no possible to real-time analyze requires and load .js file in components dir.
I meet this problem while trying to program a Angular module for Prism.

I made a PR here https://github.com/PrismJS/prism/pull/673

See my comments in #674.
You should use a build tool that can load arbitrary files and transform them to AMD or CommonJS.

I'm closing this issue. As discussed in #674, the components.js file can easily be parsed as JSON. The annoying comment in the middle has be removed in #679.


typo in readme

fixed 🎉

Current coverage is 86.25% (diff: 100%)

Merging #42 into master will not change coverage

@@             master        #42   diff @@
==========================================
  Files            15         15
  Lines           320        320
  Methods          53         53
  Messages          0          0
  Branches         42         42
==========================================
  Hits            276        276
  Misses           44         44
  Partials          0          0

Powered by Codecov. Last update 23f5aae...d086306


Rename Biliniar to bilinear and add default to bilinear interpolation

The first commit fixes the typo bilinier to bilinear and can be easily merged in. Although, you might want to add a type alias for backward compatibility and eventually deprecate it.
The second enables the 2d bilinear interpolation strategy to return a default value if the query is out of bounds, like scipy's fill_value. This works as is, but there are a few limitations to the current implementation that I would like your feedback on:

Returning a default value is currently handled by the allow_default boolean flag, meaning that there are some checks to ensure that both extrapolate and allow_default aren't both enabled simultaneously. Maybe a BoundaryConditions enum would be better?
There's no way to specify what the default value should be, it simply uses Default::default() at the moment, but maybe a user would want the default to be something else. I tried enabling this by adding the Sd generic to the Bilinear struct and adding in a new field to capture what the default should be. I'm fairly new to Rust and have not yet been able to figure out all the correct trait bounds needed to pull this off.
Finally, this currently causes jaggies as there's no smooth interpolation between the data and default out-of-bounds value. This is tricky to solve given how the crate is implemented. It would require finding the neighboring pixels/data points to the out-of-bounds query and interpolate between the default value and any in-bounds neighbors. Since the actual coordinates are stored as Vecs this indirection layer makes this not as trivial as I originally thought. However, for default coordinates (where the index to coord mapping is just a range) this could be done more easily.

First of all thank you for the contributions.
can you create a separate  PR for the typo fix? I would merge that right away, but the extrapolation behavior needs some more work which we can address in this PR.

Maybe a BoundaryConditions enum would be better?

yes! But I think it should be named ExtrapolationBehavior or something similar. So they don't get confused with the boundary conditions I am adding for CubicSpline strategy in #5
enum OutOfBoundsBehavior<T, D: Dimension>{
    /// Return an error
    Error,

    /// Extrapolate the function
    Extrapolate,

    /// Return nearest known value
    Nearest,

    /// Return a default value
    Default(T),
    // or maybe:
    /// Return a default value for each data row
    Default(Array<T, D>)
}

It would require finding the neighboring pixels/data points to the out-of-bounds query

maybe we rename the is_in_X_range fn to X_bound_check and return an enum which also contains the index of the boundary:
enum BoundsCheck{
   InRange,
   BelowBounds(usize),
   AboveBounds(usize),
}

But that also does not solve the jaggies properly, as we need some out of bounds x value at which we assume the default value is reached. so there would be three different cases:

in bounds
out of bounds but not yet the default value
out of bounds and the default value

at which value do we transition from 2. to 3.?

Made a separate PR for the typo fix, see here.
For the OutOfBoundsBehavior:

The error case is problematic as it currently errors if a single query point is out of bounds, which kills the whole operation. having it return Result<T> would be nice.
I'm not sure how Extrapolate currently works but it seems to be a constant extrapolation, just repeating edge values. Maybe a finer distinction needs to be made here.
It would be very useful to be able to specify a global default. A good use case here is image warping, where default would be a background color.

Here's how I'm currently solving the jaggies issue. I had to switch away from using this crate for the moment because of this problem:
pub fn warp_array3_into(
    mapping: &Mapping,
    data: &Array3<f32>,
    out: &mut Array3<f32>,
    background: Option<Array1<f32>>
) {
    let [out_c, out_h, out_w] = out.shape() else {
        unreachable!("Data is Array3, should have 3 dims!")
    };
    let [_data_c, data_h, data_w] = data.shape() else {
        unreachable!("Data is Array3, should have 3 dims!")
    };

    // Points is a Nx2 array of xy pairs
    let points = Array::from_shape_fn((out_w * out_h, 2), |(i, j)| {
        if j == 0 {
            i % out_w
        } else {
            i / out_w
        }
    });

    // Warp all points and determine indices of in-bound ones
    let (background, padding) = if background.is_some() {
        (background.unwrap(), 1.0)
    } else {
        (Array1::<f32>::zeros(*out_c), 0.0)
    };
    let warpd = mapping.warp_points(&points);
    let in_range_x = |x: f32| -padding <= x && x <= (*data_w as f32) - 1.0 + padding;
    let in_range_y = |y: f32| -padding <= y && y <= (*data_h as f32) - 1.0 + padding;
    let left_top = warpd.mapv(|v| v.floor());
    let right_bottom = left_top.mapv(|v| v + 1.0);
    let right_bottom_weights = &warpd - &left_top;

    // Perform interpolation into buffer
    let get_pix_or_bkg = |x: f32, y: f32| {
        if x < 0f32 || x >= *data_w as f32 || y < 0f32 || y >= *data_h as f32 {
            background.to_owned()
        } else {
            data.slice(s![.., y as i32, x as i32]).to_owned()
        }
    };

    let mut out_view = ArrayViewMut::from_shape(
        (*out_c, out_h*out_w),
        out.as_slice_mut().unwrap()
    ).unwrap();

    (
        out_view.axis_iter_mut(Axis(1)),
        points.axis_iter(Axis(0)),
        warpd.axis_iter(Axis(0)),
        left_top.axis_iter(Axis(0)),
        right_bottom.axis_iter(Axis(0)),
        right_bottom_weights.axis_iter(Axis(0))
    ).into_par_iter().for_each(|(mut out_slice, _dst_p, src_p, lt, rb, rb_w)| {
        let [src_x, src_y] = src_p.to_vec()[..] else {unreachable!("XY pair has only two values")};

        if !in_range_x(src_x) || !in_range_y(src_y) {
            return
        }

        let [l, t] = lt.to_vec()[..] else {unreachable!("XY pair has only two values")};
        let [r, b] = rb.to_vec()[..] else {unreachable!("XY pair has only two values")};
        let [rw, bw] = rb_w.to_vec()[..] else {unreachable!("XY pair has only two values")};

        // Do the interpolation
        let (tl, tr, bl, br) = (
            get_pix_or_bkg(l, t),
            get_pix_or_bkg(r, t),
            get_pix_or_bkg(l, b),
            get_pix_or_bkg(r, b),
        );
        let top = (1.0 - rw) * tl + rw * tr;
        let bottom = (1.0 - rw) * bl + rw * br;
        let value = (1.0 - bw) * top + bw * bottom;
        out_slice.assign(&value)
    });
}

This is probably not the best way of doing this (again, I'm fairly new to rust) and it's more tailored and less general than this crate, but here the "in-bounds" detection actually depends on the background value. If background is specified then I perform the bilinear interpolation for points that are +/-1 out of bounds too (by making the padding value 1) as these may have neighbors that are in bounds. This solves the jaggies issue here.
The above code works well but is a bit slower than ndarray-interp. I'm not sure where the performance difference comes from or how the above could be improved. Do let me know if you have ideas.

One more thing, I noticed a few more typos in #5, specifically the changelog you wrote CubicSpline as QubicSpline. Cheers!

The error case is problematic as it currently errors if a single query point is out of bounds, which kills the whole operation. having it return Result<T> would be nice.

I am not sure if I understand you correctly. All the interpolation functions return Result<_, InterpolateError>. Of course this invalidates the whole query because we can not create a valid solution. Even if only one error occurs. We certainly do not want the return type to be Array<Result<Sd::Elem, InterpolateError>, D> that would preserve successful query points but wastes memory and is cumbersome to use.
Having a default out of bounds value is very useful in this regard. It allows a user to set a sentinel values e.g. f64::NAN as a default and then check for the errors after the fact.

I'm not sure how Extrapolate currently works but it seems to be a constant extrapolation, just repeating edge values. Maybe a finer distinction needs to be made here.

It just uses the last two in bounds values and calculates the linear function with those. So it just extends the last in bounds segment.
From what I can tell about your issue I feel like the following is a good approach:
Add the default value for out of bounds queries with an enum as I suggested above.
To address the jagged edges you add padding of one pixel with the default value to the source data before creating the interpolator. By setting the x and y data manually you can now also choose how large the padding will be.

Agreed, Array<Result<Sd::Elem, InterpolateError>, D> would be cumbersome, and while a sentinel value could be a good idea it would be problematic in the jaggies/padding case as it would mean interpolating between data and say NAN. Maybe a simpler solution is to return the data alongside a boolean array of in/out-of bounds?

I intend to keep the return type as is. While a boolean array can be useful I do not think it should be the default case. Given the ability to set a default value for out-of-bounds query points the user can construct the boolean array himself.
and also your problem can be solved without to much work:
let original: Array3<f32> = .. ;// the data
let mut padded_dim = original.raw_dim(); // use raw_dim to preserve the type information
padded_dim[0] += 2;
padded_dim[1] += 2;
let mut padded_original = Array::zeros(padded_dim);

// set whatever background color we like

padded_original.slice_mut(s![1..-1, 1..-1, ..]).assign(original);

// we need to set axis manually as the padding changed the coordinates
// the coordinates now go from -1 to n+1
let mut x = Array::linspace(padded_dim[0], -1.0, padded_dim[0] as f32 - 1.0);
let mut y = Array::linspace(padded_dim[1], -1.0, padded_dim[1] as f32 - 1.0);

// by changing the first and last value of the axis we can change how big the padding is
// that changes how fast we fade to black at the edge of the image
x[0] -= 2.0; // fade to black over 3 pixel
x[padded_dim[0] - 1] += 2.0;

let strat = Bilinear::new().extrapolate(OutOfBoundsBehavior::Default(0.0)); // or maybe set a unique sentinel like f32::NAN
let interp = Interp2D::builder(padded_original)
    .strategy(strat)
    .x(x)
    .y(y)
    .build()
    .unwrap();

let new_x_coords: Array2<f32> = .. ; // transformed x coordinates
let new_y_coords: Array2<f32> = .. ;

let transformed_image = interp.interp_array(&new_x_coords, &new_y_coords);

This might not be 100% correct, and it requires this PR to implement some way to set the out-of-bounds behavior.
Alternatively we can do it without this PR by setting the padding to two pixels on each side and setting extrapolate(true) this way the first pixel is the fade to black (or whatever background you like) and the second pixel makes sure we stay at that when extrapolating.

This is a standard use case to me, but clearly, I'm biased... The above solution requires allocating a whole new array which might be very costly depending on the size. It would be nice to have this be part of the API.

I am happy to review Proposals and changes to better facilitate your use-case. As I mentioned above I support the idea of customizing the out of bounds behavior. But I won't be implementing these changes myself.
Even if I decide that your changes are not a good fit for the crate, you can still use them in a custom interpolation strategy and extend the functionality of Interp2D with traits.

Alternatively we can do it without this PR by setting the padding to two pixels on each side and setting extrapolate(true) this way the first pixel is the fade to black (or whatever background you like) and the second pixel makes sure we stay at that when extrapolating.

Does that proposal not solve your problem?

The above solution requires allocating a whole new array which might be very costly depending on the size.

If you are concerned about performance I assume you have thousands of images to process. I am also assuming they all have the same size, or can be batched into batches with the same size.

directly load them into an buffer that already contains the padding
you can't process them all at once, so reuse the buffer by constructing Interp2D from a ArrayView of the buffer and an ArrayView of the x and y axis.
use Interp2D::interp_array_into to also reuse the result buffer (assuming that also always has the same size.)
still not fast enough? use Interp2D::new_unchecked to avoid runtime checks for data lengths and monotonic axis.


menuconfig: Fix rendering of long prefilled edit box string

The horizontal scroll (hscroll) wasn't initialized properly when the
initial (prefilled) contents of an edit box was longer than the edit box
itself (e.g. when saving with a long path in KCONFIG_CONFIG). Things
snapped back into place once a key was pressed.
Properly initialize hscroll to fix the initial rendering.
Signed-off-by: Ulf Magnusson<EMAIL_ADDRESS>

CC @carlescufi

Codecov Report

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

@@           Coverage Diff           @@
##           master    #7436   +/-   ##
=======================================
  Coverage   55.26%   55.26%
=======================================
  Files         467      467
  Lines       51643    51643
  Branches     9886     9886
=======================================
  Hits        28540    28540
  Misses      19193    19193
  Partials     3910     3910

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9681f3d...3e77831. Read the comment docs.


Bug report: Error when adding sutil 1.0.0-alpha-006 to SAFE template

Os and SDK versions
lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.2 LTS
Release:	20.04
Codename:	focal

dotnet --version
5.0.201

Steps to reproduce the error
1 - Change the SAFE template to the 3.0.0-beta001. To do so, I've just installed the template locally using:
dotnet new -i SAFE.Template::3.0.0-beta001

2 - Create a new SAFE project using the template:
mkdir bug_report
cd bug_report
dotnet new SAFE

3 - Restore the project and run
dotnet tool restore
dotnet run

Until here, everything goes ok.
4 - Instal the last version of Sutil via nuget
dotnet paket add Sutil --version 1.0.0-alpha-006

Then, try to run the project and in the Client compilation the following error will happen:
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(19,9): (22,10) error FSHARP: No overloads match for method 'div'.

Known type of argument: NodeFactory list

Available overloads:
 - static member Html.div : children:#seq<Fable.React.ReactElement> -> Fable.React.ReactElement // Argument 'children' doesn't match
 - static member Html.div : value:Fable.React.ReactElement -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:float -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:int -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:string -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : xs:IReactProperty list -> Fable.React.ReactElement // Argument 'xs' doesn't match (code 41)
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(21,13): (21,30) error FSHARP: No overloads match for method 'select'.

Known type of argument: NodeFactory list

Available overloads:
 - static member Html.select : children:#seq<Fable.React.ReactElement> -> Fable.React.ReactElement // Argument 'children' doesn't match
 - static member Html.select : xs:IReactProperty list -> Fable.React.ReactElement // Argument 'xs' doesn't match (code 41)
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(31,53): (31,139) error FSHARP: No overloads match for method 'div'.

Known type of argument: NodeFactory list

Available overloads:
 - static member Html.div : children:#seq<Fable.React.ReactElement> -> Fable.React.ReactElement // Argument 'children' doesn't match
 - static member Html.div : value:Fable.React.ReactElement -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:float -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:int -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : value:string -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.div : xs:IReactProperty list -> Fable.React.ReactElement // Argument 'xs' doesn't match (code 41)
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(31,93): (31,137) error FSHARP: No overloads match for method 'select'.

Known type of argument: NodeFactory list

Available overloads:
 - static member Html.select : children:#seq<Fable.React.ReactElement> -> Fable.React.ReactElement // Argument 'children' doesn't match
 - static member Html.select : xs:IReactProperty list -> Fable.React.ReactElement // Argument 'xs' doesn't match (code 41)
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(73,19): (73,54) error FSHARP: No overloads match for method 'i'.

Known type of argument: NodeFactory list

Available overloads:
 - static member Html.i : children:#seq<Fable.React.ReactElement> -> Fable.React.ReactElement // Argument 'children' doesn't match
 - static member Html.i : value:Fable.React.ReactElement -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.i : value:float -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.i : value:int -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.i : value:string -> Fable.React.ReactElement // Argument 'value' doesn't match
 - static member Html.i : xs:IReactProperty list -> Fable.React.ReactElement // Argument 'xs' doesn't match (code 41)
/home/iago-moreira/Desktop/bug/src/Client/.fable/Sutil.1.0.0-alpha-006/Bulma.fs(84,58): (84,62) error FSHARP: No constructors are available for the type 'Html' (code 1133)

How to solve the error (until a new release fix the bug)
1 - Remove the Sutil from you project
dotnet paket remove Sutil

2 - Install the 0.2.1-alpha version
paket add Sutil --version 0.2.1-alpha

@davedawkins any doubt/help that you need from me, contact me. Congrats for the project, it's amazing!!

Thanks for the excellent detail in this report. I'll try it out as soon as I can

Hi, can I just check something? Is the expectation that you can take the SAFE template and that it should compile with no code changes? The code would be very similar, but would at least need changes that replaced open XXX.React with open Sutil, etc.
You will then need to add Html. to any elements that read as just div, p, h1 etc. Calls to str would need to be changed to text. There may be other changes for attributes and css etc.
We can check with Ben to ask him what he needed to change. Let me know!
Dave

No, I didn't changed the code because I would like to show you that when I just  download the library to the project, even if I don't call it from any place it breaks.

OK, I understand. I followed your steps, and the exact same thing does happen for me.
However, it's to be expected. We have given the compiler a new library to compile against that AutoOpens Sutil's modules, and these modules now introduce conflict with the React modules also being opened, and the React code that exists in the client. Sutil is a replacement for React, and won't live alongside it (at least not without some care). I admit I didn't expect errors after just installing the package, but I'm certain that's because of the AutoOpens.
After installing the Sutil, the first thing you will need to do is convert the application from React to Sutil, which is what Ben is covering in his series (I hope). I mention some of those steps above.
What I can do is provide a Sutil version of the SAFE client (I created an issue for this).
Does that help explain what's happening?

Update:
I made some edits to the following files in the SAFE template and eliminated all the errors, and also got the app running:

src/Client/App.fs
src/Client/Index.fs
src/Client/paket.references
paket.dependencies

Changes to App.fs

Comment all code out, replace with Index.view() |> Sutil.DOM.mountElement "elmish-app"

Changes to paket.*

Remove all references to Feliz / Elmish / React packages

Changes to Index.fs

Remove all Feliz / React / Elmish opens

open Sutil.Bulma
open Sutil.Attr
let Bulma = bulma
let prop = Attr

.. and a few more tweaks, I'll check this version into a repo so you can see everything.

This is SAFE in Sutil

Thanks @davedawkins It helped a lot!

I'm using 1.0.0-alpha-006 with a safe-template.
Repo is here, in case anybody else needs a reference.
https://github.com/ruban258/SutilTest


Fixed Command Box

Fixed Command Box
The command box has been funky since it was added to adonis, but I fixed it.
What I fixed:

The frame is now scrollable if the text goes off the frame
The text wraps now so if you have one super long command it is able to be seen (shouldn't need to use it)

Before: (By: @legendary191)

After: (By: Me)

Excellent


Various cleanup to installer pages

This is mostly refactoring to make the tables more maintainable. It also removes rustup download links that don't work (mips), removes out of date info about windows now that rustup msvc builds are statically linked, adds links to the archives
r? @steveklabnik

Looks great! Thanks 😄


Fix listing configurations if default output format is not JSON

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
This prevents errors like:
parse error: Invalid numeric literal at line 1, column 2

Thanks @Anthirian, I guess you need that change because your AWSCLI is not configured to use json by default, right?

Yes correct, I have no default output format configured.

That's a bit weird because cli output is json by default, what output do you get instead? I don't think your suggested changes will break anything so it will be merged after a test. Thanks.

Maybe it had to do with the fact that I originally set it to a different format, but modified the config files to remove that part. In any case I don't think it will be harmful to explicitly state the desired output. In fact it may prove more robust in the future.


Config files for efficientdet versions

Within the projects folder the config files are provided only for efficientdet-D0 and efficientdet-D3 versions. Is there any script that generates the config file for other versions of efficientDet or some guidelines to update the existing ones?

@Suvashsharma We don't have any plans to add this in the near future. However, we welcome contributions from the community.


Asset upload md5 mismatch error

We have a user that has encountered this error now a few times. They are on a Mac running Chrome. The network speed they say is not terribly slow.

I searched for the strings in this error message in chaise and ermrestjs repos but did not find a hit. I need someone to point me in the right direction so I can do more to debug this.

Is it repeatable or sporadic? If repeatable for the user with the same file, I'd be concerned about possible browser-based corruption due to some unexpected character encoding translation or other non-binary file content handling.
If it's sporadic even for that user and the same test file, I'd be concerned about a race condition where the chunked upload job isn't getting all of its chunks sent before it attempts to finalize the upload job.
Since we're running over HTTPS, it seems highly unlikely that a corrupt packet on the wire would make it through the crypto stack and hit us with this end-to-end check.

@robes do we still have this problem?

I missed Karl's comment from before. It is 'sporadic'.
I can ask this user but I would expect this is still a problem.

User got back to me and says "everything is working properly now."

Can I close this issue?
On Thu, Mar 1, 2018 at 3:18 PM, robes<EMAIL_ADDRESS>wrote:

User got back to me and says "everything is working properly now."
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/informatics-isi-edu/chaise/issues/1363#issuecomment-369765579,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAZUDBBSDqfFfInp0UfrKW2U08buWP_bks5taIGogaJpZM4QW5xC
.

@jrchudy let's document this issue on what we have done and then close it..

This issue is a duplicate of an issue in ermrestJS.
https://github.com/informatics-isi-edu/ermrestjs/issues/554


Requirements Expansion

Requirements as they are have been working great but are a bit limited. Introduction of the following things could make them even better!

Multiple Requirements - Having recursive menu support is fantastic but sometimes you need the ability to have multiple requirements would allow for greater flexibility
JS Expression support - Having the ability to use placeholders and parse them according to expressions would be great! For example: "%forgeeconomies_balance% >= 20"

Added in 1.8.0


Snapcraft: Update GTK+ 3 example to use core22 and potentially GTK4

Update the following how-to guide to use core22 (or core24):
https://snapcraft.io/docs/gtk3-applications
Background
Snapcraft's platform quickstart how-to guides help snap developers create a first snap with their chosen framework or development environment. Many of these guides become out of date and need to be revised. Specifically, they may need to be updated to address the following:

update the core snap to the latest supported (such as from core18 to core22)
an updated core will typically require changes to the associated plugin
replace an inappropriate or no longer relevant example

Prerequisites
You will need some experience building snaps, and some knowledge of the target framework or development environment.
See also Contribute to our documentation.

Wondering if perhaps this should be renamed to a GTK4 example?
The existing foliate snap has been updated to core22 upstream, so that could be used again with only light changes in the docs.
https://github.com/johnfactotum/foliate/blob/gtk4/snapcraft.yaml

@degville I would like to work on this

Hello @activus-d! Sorry for the long delay getting back to you here. Would you still like to work on this, especially considering the Create a snap tutorial issue you may want to look at?

Hello @activus-d! Sorry for the long delay getting back to you here. Would you still like to work on this, especially considering the Create a snap tutorial issue you may want to look at?

@degville Yes, I'd like to work on this too

Done - thanks for looking into this.

@degville I want to start working on this issue but the Snapcraft's How-to in the open-documentation-academy repository doesn't include the markdown file for GTK3 applications