AmazonApiGatewayManagementApiClient.PostToConnectionAsync wrong signature

Describe the bug
AWSSDK.ApiGatewayManagementApi Version="3.7.300.19"
AmazonApiGatewayManagementApiClient.PostToConnectionAsync it is not capable to properly sign requests to ServiceURL like
https://EDITED.execute-api.eu-central-1.amazonaws.com/$default

Produced canonical resource path:
 /%2524default/%2540connections/P-S_9e-7liACH9A%253D

but expected:
/%24default/%2540connections/P-S_9e-7liACH9A%253D

Expected Behavior
Calling AmazonApiGatewayManagementApiClient.PostToConnectionAsync should not throw a signature validation exception assuming that the correct permissions are in place.
Current Behavior
Exception in AmazonApiGatewayManagementApiClient.PostToConnectionAsync:
AmazonApiGatewayManagementApiException making request PostToConnectionRequest to https://EDITED.execute-api.eu-central-1.amazonaws.com/$default. Attempt 1. --> Amazon.ApiGatewayManagementApi.AmazonApiGatewayManagementApiException: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.

The Canonical String for this request should have been
'POST
/%24default/%2540connections/P-S_9e-7liACH9A%253D

content-length:1367
content-type:binary/octet-stream
host:EDITED.execute-api.eu-central-1.amazonaws.com
user-agent:aws-sdk-dotnet-coreclr/3.7.300.19 ua/2.0 os/linux#<IP_ADDRESS>7 md/ARCH#X64 lang/.NET_Core#6.0.22 exec-env/AWS_Lambda_dotnet6 md/aws-sdk-dotnet-core#3.7.300.19 api/ApiGatewayManagementApi#3.7.300.19 cfg/retry-mode#legacy md/ClientAsync
x-amz-api-version:2018-11-29
x-amz-content-sha256:1402029c938875639856ff94f4ee60faaeb80dfab44ed68fd780f7e91615efde
x-amz-date:20231215T072312Z
x-amz-security-token:EDITED

content-length;content-type;host;user-agent;x-amz-api-version;x-amz-content-sha256;x-amz-date;x-amz-security-token
1402029c938875639856ff94f4ee60faaeb80dfab44ed68fd780f7e91615efde'

The String-to-Sign should have been
'AWS4-HMAC-SHA256
20231215T072312Z
20231215/eu-central-1/execute-api/aws4_request
740005dbd3031869909edd3d0100e351e0eb12562d09b2f903309c82e3edbf78'

 ---> Amazon.Runtime.Internal.HttpErrorResponseException: Exception of type 'Amazon.Runtime.Internal.HttpErrorResponseException' was thrown.
   at Amazon.Runtime.HttpWebRequestMessage.ProcessHttpResponseMessage(HttpResponseMessage responseMessage)
   at Amazon.Runtime.HttpWebRequestMessage.GetResponseAsync(CancellationToken cancellationToken)
   at Amazon.Runtime.Internal.HttpHandler`1.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.Unmarshaller.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)
   --- End of inner exception stack trace ---
   at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleExceptionStream(IRequestContext requestContext, IWebResponseData httpErrorResponse, HttpErrorResponseException exception, Stream responseStream)
   at Amazon.Runtime.Internal.HttpErrorResponseExceptionHandler.HandleExceptionAsync(IExecutionContext executionContext, HttpErrorResponseException exception)
   at Amazon.Runtime.Internal.ExceptionHandler`1.HandleAsync(IExecutionContext executionContext, Exception exception)
   at Amazon.Runtime.Internal.ErrorHandler.ProcessExceptionAsync(IExecutionContext executionContext, Exception exception)
   at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.Signer.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.CredentialsRetriever.InvokeAsync[T](IExecutionContext executionContext)
   at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)

And this is the log entry that precedes the API call:
Double encoded /$default/@connections/{connectionId} with endpoint https://EDITED.execute-api.eu-central-1.amazonaws.com/$default for canonicalization: /%2524default/%2540connections/P-S_9e-7liACH9A%253D

Reproduction Steps
Install any version of AWSSDK.APIGatewayManagementApi 3.7.300.19
var cfg = new AmazonApiGatewayManagementApiConfig { ServiceURL = "https://EDITED.execute-api.eu-central-1.amazonaws.com/$default" }
var client = new AmazonApiGatewayManagementApiClient(credentials, cfg);
await client.PostToConnectionAsync(new PostToConnectionRequest
{
    ConnectionId = "EDITED",
    Data = new System.IO.MemoryStream()
});

Try to post anything to the websocket connection and you will get a signature validation error.
Possible Solution
As workaround - use earlier version of SDK. f.e. "AWSSDK.ApiGatewayManagementApi" Version="<IP_ADDRESS>" works good.
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
"AWSSDK.ApiGatewayManagementApi" Version="3.7.300.19"
Targeted .NET Platform
.NET 6
Operating System and version
Amazon Linux 2

@usix79 Good afternoon. I'm unsure if you need to specify $default stage as part of ServiceURL. Per Working with stages for HTTP APIs, $default stage is served from the base of your API's URL - for example, https://{api_id}.execute-api.{region}.amazonaws.com/. Use @connections commands in your backend service also doesn't demonstrate use of $default for a stage. Could you please share the result when you invoke PostToConnectionAsync() with endpoint not explicitly specifying $default for a stage?
Thanks,
Ashish

Using the below steps, I was able to get a quick and loose example AWS API Gateway connection working use MOCK endpoints with web sockets (some of the steps in new AWS Console UI could be different).
Reference: https://stackoverflow.com/questions/55594587/setup-a-basic-websocket-mock-in-aws-apigateway

First, go to API Gateway, click Create API
For Choose the protocol, select WebSocket
Give the API a name, and use the example $request.body.message for the route selection expression
Click the Create API button
Select the new API from the side pane, and click Routes
Select the $connect route
Under Route overview, select the Mock radio button for endpoint
For the Request Template, enter an expression (using 200 for example).
For Template Key, enter a key (using 200 for example)
For the popup window on passthrough behavior, select No, Use Current Settings for now
Click on the Template Key 200, and enter a template: {"statusCode" : 200} and then click the Save button.
Select Route Overview to go back to the $connect overview page and then select the Add Integration Response button
Create a response key of $default, which will reference the $default key under Routes connect integration response
For the $disconnect route, please repeat steps 7 - 13 for this specific route.
Once done setting up the $disconnect route, please select the $default route under the Routes pane.
Create an Integration Request the same way that was done for $connect and $disconnect (steps 7 - 11)
For Integration Response under $default, we will be setting the route response up slightly different than $connect and $disconnect as those 2 routes' responses actually reference the $default response within their own respective Integration Responses.
Create a response key of $default
Enter a Template Selection Expression (using 200 for this example)
Then create a Template Key (using 200 for this example)
Click on the Template Key 200, and enter a template: {"statusCode" : 200, "connectionId" : "$context.connectionId"} and then click the Save button.
{"connectionId" : "$context.connectionId"} was added to the response payload to show how variables can be used within the response to represent an actual value of the connection.
Also, in API Gateway > APIs > Settings, specify CloudWatch log role ARN for logging to CloudWatch.
Create a Test stage with CloudWatch logs set to Error and info logs.
Finally, under the Actions dropdown, select Deploy API, and enter a deployment stage name. This should generate a WebSocket URL that can now be connected to e.g. (wss://<<api-id>>.execute-api.us-east-2.amazonaws.com/Test; get the api-id from AWS console)
Using wscat via cli, I am now able to connect to my WebSocket URL (see link for installing wscat): wscat -c wss://<<api-id>>.execute-api.us-east-1.amazonaws.com/Test

Once the connected using wscat, open CloudWatch logs and get the connectionId (as we enabled it in step 21 above). Now use below code:
using Amazon.ApiGatewayManagementApi;
using Amazon.ApiGatewayManagementApi.Model;
using System.Net;

Amazon.AWSConfigs.LoggingConfig.LogResponses = Amazon.ResponseLoggingOption.Always;
Amazon.AWSConfigs.LoggingConfig.LogTo = Amazon.LoggingOptions.SystemDiagnostics;
Amazon.AWSConfigs.AddTraceListener("Amazon", new System.Diagnostics.ConsoleTraceListener());

string apiId = "<<api-id>>";
string stageName = "<<stage-name>>"; // Test for this scenario
string connectionId = "<<connection-id>>"; // As obtained from logs.
var cfg = new AmazonApiGatewayManagementApiConfig { ServiceURL = $"https://{apiId}.execute-api.us-east-2.amazonaws.com/{stageName}" };
var client = new AmazonApiGatewayManagementApiClient(cfg);
await client.PostToConnectionAsync(new PostToConnectionRequest
{
    ConnectionId = connectionId,
    Data = new System.IO.MemoryStream()
});

This works successfully giving below output:
Amazon Information: 0 : The environment variable AWS_ENABLE_ENDPOINT_DISCOVERY was not set with a value.
Amazon Information: 1 : The environment variable AWS_MAX_ATTEMPTS was not set with a value.
Amazon Information: 2 : The environment variable AWS_RETRY_MODE was not set with a value.
Amazon Information: 3 : The environment variable AWS_EC2_METADATA_SERVICE_ENDPOINT was not set with a value.
Amazon Information: 4 : The environment variable AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE was not set with a value.
Amazon Information: 5 : The environment variable AWS_USE_DUALSTACK_ENDPOINT was not set with a value.
Amazon Information: 6 : The environment variable AWS_USE_FIPS_ENDPOINT was not set with a value.
Amazon Information: 7 : The environment variable AWS_IGNORE_CONFIGURED_ENDPOINT_URLS was not set with a value.
Amazon Information: 8 : The environment variable AWS_DISABLE_REQUEST_COMPRESSION was not set with a value.
Amazon Information: 9 : The environment variable AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES was not set with a value.
Amazon Information: 10 : The environment variable AWS_SDK_UA_APP_ID was not set with a value.
Amazon Information: 0 : There is no defaults_mode set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 1 : There is no endpoint_discovery_enabled set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 2 : There is no retry_mode set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 3 : There is no max_attempts set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 4 : There is no ec2_metadata_service_endpoint set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 5 : There is no ec2_metadata_service_endpoint_mode set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 6 : There is no use_dualstack_endpoint set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 7 : There is no use_fips_endpoint set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 8 : ignore_configured_endpoint_urls found in profile 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 9 : There is no endpoint_url set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 10 : There is no disable_request_compression set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 11 : There is no request_min_compression_size_bytes set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 12 : There is no sdk_ua_app_id set in the profile named 'default' in store Amazon.Runtime.CredentialManagement.CredentialProfileStoreChain
Amazon Information: 0 : Resolved DefaultConfigurationMode for RegionEndpoint [] to [Legacy].
Amazon Information: 0 : Starting a process with the following ProcessInfo: UseShellExecute - False RedirectStandardError - True, RedirectStandardOutput - True, CreateNoWindow - True
Amazon Information: 1 : Process started
Amazon Information: 0 : Process ends with exitcode - 0
Amazon Verbose: 2 : Double encoded /Test/@connections/{connectionId} with endpoint https://<<API-ID>>.execute-api.us-east-2.amazonaws.com/Test for canonicalization: /Test/%2540connections/QNJwacQniYcCGXQ%253D
Amazon Verbose: 0 : Received response (truncated to 1024 bytes): []

Looks like API Gateway allows to create stage named $default for WebSocket API. (However, it does not allow $default as route key)

Created a stage named $default
Deployed API, selecting $default as stage.
Once API is deployed, used wscat -c wss://<<api-id>>.execute-api.us-east-2.amazonaws.com/$default/. Somehow wscat returns error error: Unexpected server response: 400

@usix79 Please advise on how you are able to use $default stage name successfully.
Thanks,
Ashish

@usix79 Good afternoon. I'm unsure if you need to specify $default route as part of ServiceURL. Per Working with stages for HTTP APIs, $default route is served from the base of your API's URL - for example, https://{api_id}.execute-api.{region}.amazonaws.com/. Use @connections commands in your backend service also doesn't demonstrate use of $default for a route. Kindly note that $default is a route, not a stage. The examples I have seen so far construct endpoint based on stage (perhaps using the $default route).
Could you please share the following:

Result when you invoke PostToConnectionAsync() with endpoint not explicitly specifying $default for a route?
How is your WebSocket API setup? As per my understanding, one has to define a stage to deploy the API. Have you defined only a single stage? I'm unsure if one could omit a stage in case only one of them is defined.

Thanks, Ashish

Good morning, Ashish
I have investigated the issue little bit more and found the following:

It appears there was a misconception regarding the $default in AWS API Gateway. $default is the name of a stage, not a route in my configuration.
Altering the stage name by removing the '$' symbol led to a resolution of the issue.
To reproduce the bug, one would need to name a stage starting with the '$' symbol.

To reproduce the bug, one would need to name a stage starting with the '$' symbol

@usix79 Thanks for your inputs. As mentioned in my previous comment, AWS Console allows only $default (with $ character in stage name), otherwise it throws error Stage name only allows a-zA-Z0-9_. In other words, one cannot create a stage with name $test as an example. This aligns with https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis-apiid-stages-stagename.html, where it mentions that Stage names can contain only alphanumeric characters, hyphens, and underscores, or be $default.
We are checking with service team if $default should be used when defining stage names (or if it is reserved for some special use case).
Also notice one interesting finding from logs,, notice that @connections is double encoded with %2540conne_ctions/ in both working and not working scenarios.. Whereas, it complains when $default is double encoded.

@ashishdhingra, note that double quotation of the '@connections'  is considered canonical.
We can verify this both by the successful execution of requests and by the error message that was received in case with the '$' in the stage name:
The Canonical String for this request should have been 'POST /%24default/%2540connections/QNJwacQniYcCGXQ%253D

@usix79 Would it be possible to share how your API is set up (for example, with a CloudFormation template)?
We've tried to reproduce the error, but using the mock examples from the API Gateway console (https://github.com/aws/aws-sdk-net/issues/3132#issuecomment-1863382376) has not been enough.

@usix79 I am actively working on this. I was able to reproduce the exact issue so a CF template won't be necessary. The error message you're getting suggests that $default should be single encoded while @connections should be double encoded, which goes against the SigV4 spec here (look for canonicalURI). According to the SIGV4 Spec the canonical URI includes $default which means we should double encode this. Previously we weren't encoding special characters in the URI and we fixed that recently which is leading to this issue.
This service may be one of the only services with a special character in the configured endpoint, so we are trying to determine what is going on on the service side. Thank you for your patience.

@dscpinheiro ,
We use terraform "aws_apigatewayv2_stage" resourse for setting up the environment (main2.tf.txt).
Since we figured out that renaming the stage name solved the issue, we are no longer blocked.
Sorry for long delay.

No worries, thanks for the follow-up and glad you're no longer blocked.
Either way, @peterrsongg has a PR (#3139) queued that should prevent this from happening to other customers (it'll be included in the next SDK release).
Please feel free to re-open this issue if you run into it again.

@usix79 The fix for this issue has been released in Core version 3.7.301.3. You will be able to use $default again in your setup


update v3 docs with WebVTT & beta cust feedback

Update Callbacks, closed captioning, transcripts, and API overview with
documentation for new supported format WebVTT.
Update Callbacks.md with better descriptions & explanations about how
to request and interpret multi-format transcripts.

Hi @zulaica , Thanks for taking the time to improve our docs!
I'll get an update out ASAP.
I also had a change to inspect the Web3C specification and found that our implementation differs from the spec with regard to the thousandths of a second timestamp. I've filed a bug with the Platform team and we'll get it updated as soon as we can.
We'll work to get an attribution model in place too. I believe you're the first to directly propose improvements on GitHub! Thanks!

No worries, @Daniel085, glad to help!


Drag elements in Firefox, it will be opened in  new tab?

hi, i use the demo in my code, and i found one problem in Firefox, if i drag element by mouse, it will open a new tab in Firefox. how can i solve the problem? thanks~

Hi, are you using a current version? And which demo do you mean?

hi, i use 1.2.0 version of the demo, and  if i open the demo in Firefox, it will open a new tab, and also, you can open the example url "http://webcloud.se/react-sortable"  in Firefox, and drag elements, you will see the problem. maybe Html5 drag should stop Event bubbling or do otherThing in Firefox?

The demo was not updated for some time, I updated it now. This bug was fixed some time ago.

still exist, version 2.0.0


Autochange Entity Names based on Homematic Channel Name

DONT'T DELETE THIS.
Is your feature request related to a problem? Please describe.
When initially setting up the addon, the entity names are created on the base of the Homematic device‘s name.
If new devices are added to the CCU, the addon will instantly add these devices to HA. The entity name in HA then will be based on the initial name (incl. devices unique Homematic ID)
Describe the solution you'd like
A service to mass update all the HA Entity names based on recent the CCU name
Describe alternatives you've considered
Manually changing the entity names
Additional context
—-

Have a lock at the Howto

Thx, didn’t find this ;)


Add support for JDK8 output when using CMS

My changes seems to be working, but I have not tested with other garbage collectors than CMS.
I might have time to test with other next week.
This is a suggested fix for issue https://github.com/linkedin/naarad/issues/296.
Could you please review, and let me know if it looks good ?

Full JDK8 support includes more work, since PermGen is no longer present in JDK8, and there is Metaspace, which should probably also have some metrics.

Awesome, thanks Alf for the clarifications. This should be good!


Add image downloader

If we want to save avatars on our local machine, then we should have that opportunity.
It will looks like:
>>> from elizabeth import Personal
>>> from elizabeth.utils import download_image

>>> p = Personal('en')
>>> avatar_url = p.avatar()
>>> avatar = download_image(avatar_url, save_path)

It's done!


Getting travis to build successfully

Travis does not yet successfully build.

@mcflugen, I'm working on this in PR #20 (it doesn't quite work).
Everything works except for building the docs (py2.7 linux only).
I get
Extension error:
Could not import extension numpydoc (exception: cannot import name Directive)
make: *** [html] Error 2

Just like in Landlab, I have numpydoc as an build requirement in the .travis.yaml, I have it listed as a sphinx extension, include the package in the sphinxext folder, and include that folder on the path in the conf.py file for the docs.
any ideas?
I tried pip install numpydoc before the conda install in the BUILD_DOCS part... but that didn't work either...
- |
 if [[ "$BUILD_DOCS" == "1" && "$TRAVIS_OS_NAME" == "linux" ]]; then
   conda install -q terrainbento --use-local -c $(dirname $(conda build --output ./.conda-recipe/ --old-build-string))
   (cd docs && make html)
 fi


Error on opening .gitignore file

Prerequisites

[x] Plugin is in the latest version
[x] Issue was not reported yet
[x] Stack trace (if provided) contains mobi.hsz.idea.gitignore package name

Description
After updating the plugin to 2.0.0 today, I opened the .gitignore file in my project and the plugin threw an error.
null
java.lang.NullPointerException
	at mobi.hsz.idea.gitignore.util.MatcherUtil.match(MatcherUtil.java:84)
	at mobi.hsz.idea.gitignore.util.Glob$1.visitFile(Glob.java:126)
	at com.intellij.openapi.vfs.VirtualFileVisitor.visitFileEx(VirtualFileVisitor.java:132)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:272)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:304)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:304)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:304)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:304)
	at com.intellij.openapi.vfs.VfsUtilCore.visitChildrenRecursively(VfsUtilCore.java:304)
	at mobi.hsz.idea.gitignore.util.Glob.find(Glob.java:140)
	at mobi.hsz.idea.gitignore.util.Glob.findOne(Glob.java:69)
	at mobi.hsz.idea.gitignore.daemon.IgnoreDirectoryMarkerProvider.getLineMarkerInfo(IgnoreDirectoryMarkerProvider.java:71)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:189)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:111)
	at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:96)
	at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:106)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:438)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1160)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:431)
	at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:548)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:493)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:430)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:406)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:142)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:249)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:404)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:165)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Steps to Reproduce

Have existing project with .gitignore file
Open the file

Expected behavior: No error
Actual behavior: Error is thrown
Reproduces how often: Only happened once so far.
Versions
Plugin:
2.2.0

IDE:
IntelliJ IDEA 2017.2.3

OS:
Ubuntu 17.04

@Ionaru Thanks for reporting. To be honest - it's insane that this still happens. I covered this method with as many null checks as possible, but somehow it still has a problem with NPE.
Sorry for that - if it will happen again - let me know and I'll speed up the next release.

I have the same issue. WebStorm 2017.2.3 Windows 10 10.0.

Same issue here.
plugin version 2.2.0
WebStorm 2017.2.3
Windows 10

+1 WebStorm 2017.2.3 latest version of plugin OSX

I have just published v2.2.1-RC1 which is available in (Early Access Preview repository channel)[https://github.com/hsz/idea-gitignore#early-access-preview-repository-channel] or for (manual installation)[https://github.com/hsz/idea-gitignore/releases/tag/v2.2.1-RC1]
Can you please check if this issue is resolved for you?

This resolved the error for me, but the file coloring is still not working.  And I get warning on every line that states " '...' is never used more...".
This is in a .gitignore file.
Plugin:
2.2.1-RC1

IDE:
Rider 2017.2 EAP

OS:
Windows 10

Same for me.

Android Studio 2.3.3, Win 7 64 bit


Blazor server-side template TemperatureF property fix

The Blazor-hosted templates were updated to use a computed property for TemperatureF, this was not replicated on the server-side template.
Summary of the changes

Changed TemperatureF to use the same calculation

Addresses #9955

Thanks for the PR!


Get rid of credentials auth provider

Verified that I can login thru Auth0 provider, models work fine.


fix layerstack.filtered

the current definition does nothing :D i think this got broken in a recent refactoring

Can we also add a test so this doesn't happen again?

I added a test for it,
I also removed filtered_from_layerspec which we don't seem to be using and seems not to be working


Add an additional error for when provisoning parameters are not valid

Signed-off-by: Topher Bullock<EMAIL_ADDRESS>

Closing - we're to expand this PR such that users can override the http status code etc.


Generalize the handling of generics in JSON ABI

Closes https://github.com/FuelLabs/sway/issues/2386

Closing in favour of https://github.com/FuelLabs/sway/pull/2524


Production Readiness of v1

Is the current code in master ready to be used in production? If not, is there any plan to make a stable release?

I have a project based on this great library and i see that it is not changing for a long period.
For myself i decided to follow current version and make a fork if the activity here would remain low

Depends on definition of "production readiness" and a scale of a project.
I am not actively using it in any projects currently, but PRs into main branch are more than welcome 😉


possibility for ETSX16P50D ?

Hi, we got the Altherma 3 H HT ECH2O but I can't find the connection on the PCB and also no config about our pump in espaltherma. Is it possible to work with it or not? We are really in a bad situation, cause the official gateway only works with an app, that's not working on current android phones and so...

Where have you been looking?

It looks like it should have one. Can you paste a picture of the main board?

I've got the Altherma 3 H HT ECH2O too and I installed ESPAltherma

https://github.com/raomin/ESPAltherma/discussions/274

I've got the Altherma 3 H HT ECH2O too and I installed ESPAltherma and all works fine !

've got the Altherma 3 H HT ECH2O too and I installed ESPAltherma and all works fine

@rayxxxxx May i ask you which definition file you used during the setup?  I too have the Altherma 3 H HT Echo2O with outdoor unit epra16dw17 with indoor unit ETSXB16P50EF7 and i am unsure which def file to take.

've got the Altherma 3 H HT ECH2O too and I installed ESPAltherma and all works fine

@rayxxxxx May i ask you which definition file you used during the setup? I too have the Altherma 3 H HT Echo2O with outdoor unit epra16dw17 with indoor unit ETSXB16P50EF7 and i am unsure which def file to take.

I use ALTHERMA(HPSU6_ULTRA).h.
The main data work without issues just two points don't work: pressure def (I tried all possible defs of the other def files but nothing) and Backup heater (BUH) . About BUH, @KalaNagHTD explained me: "The data on X10A are provided by the Daikin board A1P. The HPSU/ECH2O has a second controller board BM1 (originally developed by Rotex/Kromschroeder) where the BUH is connected to. I learned that this is the reason why BUH operation and step1/step2 messages from A1P are not always consistent."

Thank you, i will give this a try!


Question about reward learning

Great job!
I have a question about rewarding learning,Is the reward calculated directly by S(φ(on), ψ(l)) or S(φ(on+1), ψ(l)) − S(φ(on), ψ(l))? I noticed that the get_reward function of the model is calculated directly by S(φ(on), ψ(l)) and it is written in the appendix of the paper that it is calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)). If it's calculated by  S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)),Then how should the reward of the last step be calculated?

Thanks for your attention!
Indeed, you can choose the reward formulation according to the application scenario.
For MPPI, the reward is calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)) as metioned in the paper as the relative differences can align the numerical scales between different trajectory. In this case, for a n-step trajectory we can get the full trajectory reward by adding up n-1 transiaction rewards.
For reward visualization as shown in Fig.11,  you can simply use S(φ(on), ψ(l)) as the reward as it can also reflect the correct reward trends.

Great job! I have a question about rewarding learning,Is the reward calculated directly by S(φ(on), ψ(l)) or S(φ(on+1), ψ(l)) − S(φ(on), ψ(l))? I noticed that the get_reward function of the model is calculated directly by S(φ(on), ψ(l)) and it is written in the appendix of the paper that it is calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)). If it's calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)),Then how should the reward of the last step be calculated?

Thanks for your attention!
Indeed, you can choose the reward formulation according to the application scenario. The relative differences calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)) and the absolute similarity calculated by S(φ(on), ψ(l)) are interchangeable.
For MPPI, the reward is calculated by S(φ(on+1), ψ(l)) − S(φ(on), ψ(l)) as metioned in the paper as the relative differences can align the numerical scales between different trajectory. In this case, for a n-step trajectory we can get the full trajectory reward by adding up n-1 transiaction rewards.
For reward visualization as shown in Fig.11, you can simply use S(φ(on), ψ(l)) as the reward as it can also reflect the correct reward trends.
In the code, we implemente the get_reward function to calculate S(φ(on), ψ(l)) as it can be flexibly used to calculate the two forms of reward mentioned above.


Add feature-flag for dependency on favannat

While it is very convenient to have a crate to evaluate the genomes, it should not be forced on everyone.
Some folks might be interested in just the data structure and then generate a custom phenotype.

Resolved via<PHONE_NUMBER>29d5651005480fc922c94772071904.
Published with 1278a06542341cac275a82dd9d74e478f415eebd.


Fix spelling mistake for my.coding.commits

Has been mentioned in other issues, but thought I'd just create an issue to track this:
In lots of places in: https://github.com/karlicoss/HPI/blob/master/my/coding/commits.py#L60
commited should be spelled as committed
Comments from https://github.com/karlicoss/HPI/pull/76#issuecomment-687883217
(me)

Perhaps a @property wrapper?

(karlicoss)

Yep, I think this is the way to go with such things. This particular module is probably used by very few people, but I guess best not to break it unless absolutely necessary.

Also a deprecation warning would be nice, I was thinking of using something like tantale/deprecated library, or just vendorizing a small, simple decorator to avoid an extra core dependency.

ah! yeah, a common typo I do, thanks for letting me know 😅
gonna add to the spaced repetition queue


Private key permissions too open

I used the nitro keys command to add my private key, but when I tried to use it from the VM, I got an error about the permissions on the key file being too open..
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for '/home/ubuntu/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/ubuntu/.ssh/id_rsa": bad permissions

Not sure if this can be an easy fix by setting the permissions in the script that adds them, but chmod 600 ~/.ssh/id_rsa did the trick for me.

thank you @michaelroper, will be included in the next release.

chmod 600 ~/.ssh/id_rsa
this works like a charm.
Thanks.


make consumable via npm

use webpack css-loader to load css
add linting

The repo should be renamed to knockout.pickadate after this is merged.

repo is renamed

:shipit:


Adding Members to the System

As an Administrator of the Library Management System I need to,

Add members in to the library management system

Below lists the tasks to be implemented in order cater this story

[ ] Design the Add User API https://github.com/chinthakarukshan/lbms-core/issues/3
[ ] Implement Post API to Add Users


Fix rate limiting exceptions thrown by Google

While this makes running specs slower, it will fix rate limiting
exceptions thrown by the Google Storage service. Apparently, you can
only manipulate an object once per second. On fast machines and/or
connections, this leads to this error while running specs:
Failures:

  1) Storing Files common cases returns url even if its not available
     Failure/Error:
       bucket_file = bucket.create_file(
         new_file.path,
         path,
         content_type: new_file.content_type,
         content_disposition: uploader.gcloud_content_disposition
       )

     Google::Cloud::ResourceExhaustedError:
       rateLimitExceeded: The total number of changes to the object carrierwave-g-storage/uploaded_files/image1.png exceeds the rate limit. Please reduce the rate of create, update, and delete requests.
     # ./lib/carrierwave/storage/gcloud_file.rb:62:in `store'
     # ./lib/carrierwave/storage/gcloud.rb:16:in `block in store!'
     # ./lib/carrierwave/storage/gcloud.rb:15:in `tap'
     # ./lib/carrierwave/storage/gcloud.rb:15:in `store!'
     # ./spec/features/storing_files_spec.rb:10:in `block (3 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # Google::Apis::RateLimitError:
     #   rateLimitExceeded: The total number of changes to the object carrierwave-g-storage/uploaded_files/image1.png exceeds the rate limit. Please reduce the rate of create, update, and delete requests.
     #   ./lib/carrierwave/storage/gcloud_file.rb:62:in `store'

I saw the above error in about every second spec run. This PR definitely
fixes the issue, but I don't know if there is a better way to get around
the rate limiting. Maybe catch the Google::Cloud::ResourceExhaustedError
and try again after 1 second? If you prefer this way, let me know, I'm
happy to provide a PR.

Specs are red with an error on travis ci, but green on my machine. The error on Travis has nothing to do with any changes:
$ openssl aes-256-cbc -k "$password" -in .gcp-keyfile.json.enc -out .gcp-keyfile.json -d
bad decrypt
139940092303008:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:539:
The command "openssl aes-256-cbc -k "$password" -in .gcp-keyfile.json.enc -out .gcp-keyfile.json -d" failed and exited with 1 during .


[NEW ICON] Apache web server

Skill Name
Apache
Why?
Apache is a very used web server and I think its a good icon to add.
Reference Image

I hate to break it to ya, but this is a duplicate of #186

Sorry I didn't know it


GenericContainer broken after upgrade from 10.9 to 10.10

Hi,
I've facing an issue after upgrade testcontainer node from 10.9 to 10.10 which any other changes
Expected Behaviour
Same as 10.9.0, it should work
Actual Behaviour
Doesn't work, tested with different framework (Backstage and one JS vite application). It's the same
Testcontainer Logs
[DEBUG] Testing container runtime strategy "TestcontainersHostStrategy"...
[DEBUG] Found custom configuration: dockerHost: "tcp://localhost:2475"
[DEBUG] Testing container runtime strategy "ConfigurationStrategy"...
[DEBUG] Container runtime strategy "ConfigurationStrategy" does not work
[DEBUG] Testing container runtime strategy "UnixSocketStrategy"...
[DEBUG] Testing container runtime strategy "RootlessUnixSocketStrategy"...
[DEBUG] Testing container runtime strategy "NpipeSocketStrategy"...

This line is different from
[DEBUG] Container runtime strategy "ConfigurationStrategy" does not work

On 10.9 is
[DEBUG] Container runtime strategy "ConfigurationStrategy" works

Steps to Reproduce
On code
    wireMockContainer = await new GenericContainer("wiremock/wiremock:3.5.4-1")
      .withExposedPorts(8080)
      .withCommand(["--verbose"])
      .withWaitStrategy(Wait.forLogMessage(/port:.*8080/))
      .withStartupTimeout(120000)
      .start();

Environment Information

Running node 20 LTS
I'm running testcontainer with kubedock and following env set

DOCKER_HOST = 'tcp://localhost:2475'
TESTCONTAINERS_HUB_IMAGE_NAME_PREFIX  = '*********-docker-io.***************.ch/'

I can provide more details if needed
Thanks

Hi @jonesbusy,
I gotta say I'm stumped by this one 😄
These are the changes between 10.9 and 10.10 (https://github.com/testcontainers/testcontainers-node/releases/tag/v10.10.0):
🚀 Features
- Add ollama module @ilopezluna (https://github.com/testcontainers/testcontainers-node/pull/778)
- Add RabbitMQ module @gundersong (https://github.com/testcontainers/testcontainers-node/pull/770)

🐛 Bug Fixes
- GenericContainerBuilder false pull policy should not pull image @schummar (https://github.com/testcontainers/testcontainers-node/pull/771)

🧹 Maintenance
- Update minor deps @cristianrgreco (https://github.com/testcontainers/testcontainers-node/pull/780)
- Use new sshd:1.2.0 image @mdelapenya (https://github.com/testcontainers/testcontainers-node/pull/758)

There are no changes which would affect how a container runtime is resolved, which is what the error in this issue describes.
The features are 2 additional modules which do not affect the core. The bug fix resolves whether or not images should be force pulled, something which happens after a container runtime is resolved. The new SSHD image affects the port forwarding functionality which you do not use. The dependency updates are all minor. The core dependencies have not even been updated. These changes have all passed the builds and smoke tests.
I would like some more evidence that this is an issue with Testcontainers and not a change to your kubedock environment before investigating further.

Sure I will provide evidence
Could it be minor dependencies upgraded in https://github.com/testcontainers/testcontainers-node/pull/780 ?
No change on the infrastructure. Basically renovate found the upgrade. This is the only package upgraded and it's dependencies

The main branch is building (I've run it again to be sure. All works with 10.9)

The only difference I can see on the DEBUG log is the ConfigurationStrategy that fail but doesn't give me the reason
On the renovate branch

On main branch with 10.9 everything is good

It happens on my 2 application using testcontainers (Spotify Backstage and one very simple Vite application). Same error
Despite
DEBUG = 'testcontainers*'

Do you think we can get more logs why the ConfigurationStrategy fail ?
Regards,

I have the same problem

@jonesbusy can you provide you gitlab ci job configuration? I have the same issue on 10.9.0 with @tesctontainers/mysql and with this job configuration:
test:
  stage: test
  extends: .test_application
  services:
    - name: docker:dind
      alias: docker
      # explicitly disable tls to avoid docker startup interruption
      command: ['--tls=false']
  variables:
    DOCKER_HOST: 'tcp://docker:2375'
    DOCKER_TLS_CERTDIR: ''
    DEBUG: testcontainers*
  only:
    - merge_requests

Docker executor
node lts alpine image

I've tried to reproduce this issue in GitLab and cannot:

.gitlab-ci.yml:
test:
  image: node:20-alpine
  services:
    - docker:dind
  variables:
    DOCKER_HOST: tcp://docker:2375/
    DOCKER_DRIVER: overlay2
    DEBUG: testcontainers*
  script:
    - npm install
    - npm test

test.ts:
import { GenericContainer } from "testcontainers";

describe("Test", () => {
  it("1", async () => {
    const container = await new GenericContainer("alpine").start();
    await container.stop();
  });
});

package.json dependencies:
"devDependencies": {
  "@types/jest": "^29.5.12",
  "jest": "^29.7.0",
  "testcontainers": "^10.10.0",
  "ts-jest": "^29.1.5",
  "typescript": "^5.5.2"
}

Could someone please help me get a reproducer?

@cristianrgreco I will try to create a reproduction repository, because the repository that I am having the issue is private

Adding more logs I get
On 10.10.0
[11:18:31.368+02:00] - 2024-06-25T09:18:31.185Z testcontainers [DEBUG] Testing container runtime strategy "ConfigurationStrategy"...
[11:18:31.368+02:00] - 2024-06-25T09:18:31.197Z modem Sending: {
[11:18:31.368+02:00] -   path: '/info',
[11:18:31.368+02:00] -   method: 'GET',
[11:18:31.368+02:00] -   headers: { 'User-Agent': 'tc-node/10.10.0' },
[11:18:31.368+02:00] -   key: undefined,
[11:18:31.368+02:00] -   cert: undefined,
[11:18:31.368+02:00] -   ca: undefined,
[11:18:31.368+02:00] -   hostname: 'localhost',
[11:18:31.368+02:00] -   port: '2475'
[11:18:31.368+02:00] - }
[11:18:31.368+02:00] - 2024-06-25T09:18:31.205Z modem Received: {"ID":"com.joyrex2001.kubedock","Labels":[],"MemTotal":0,"Name":"kubedock","OperatingSystem":"kubernetes","ServerVersion":"0.16.0"}
[11:18:31.368+02:00] - 2024-06-25T09:18:31.230Z testcontainers [DEBUG] Container runtime strategy "ConfigurationStrategy" does not work

On 10.9.0
[12:59:11.118+02:00] - 2024-06-25T10:59:10.930Z modem Sending: {
[12:59:11.118+02:00] -   path: '/info',
[12:59:11.118+02:00] -   method: 'GET',
[12:59:11.118+02:00] -   headers: { 'User-Agent': 'tc-node/10.9.0' },
[12:59:11.118+02:00] -   key: undefined,
[12:59:11.118+02:00] -   cert: undefined,
[12:59:11.118+02:00] -   ca: undefined,
[12:59:11.118+02:00] -   hostname: 'localhost',
[12:59:11.118+02:00] -   port: '2475'
[12:59:11.118+02:00] - }
[12:59:11.118+02:00] - 2024-06-25T10:59:10.938Z modem Received: {"ID":"com.joyrex2001.kubedock","Labels":[],"MemTotal":0,"Name":"kubedock","OperatingSystem":"kubernetes","ServerVersion":"0.16.0"}
[12:59:11.118+02:00] - 2024-06-25T10:59:10.974Z testcontainers [DEBUG] Container runtime strategy "ConfigurationStrategy" works

Not sure it help.
Response is identical

@cristianrgreco sorry for the delayed response. So a similar setup to what you have provided works for me too, gitlab-pipeline. I will create a branch with something similar to what I am actually doing in the private repo. But I am wondering if the issue is the group runners that we are using inside the organization. Anyhow I will come back with a more realistic example

Hi,
This is the logs after testing the 10.10.1
[06:25:49.508+02:00] - 2024-07-08T04:25:49.272Z modem Received: {"ID":"com.joyrex2001.kubedock","Labels":[],"MemTotal":0,"Name":"kubedock","OperatingSystem":"kubernetes","ServerVersion":"0.16.0"}
[06:25:49.509+02:00] - 2024-07-08T04:25:49.274Z testcontainers [TRACE] Fetching remote container runtime socket path...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.274Z testcontainers [TRACE] Resolving host...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.274Z testcontainers [TRACE] Fetching Compose info...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.298Z testcontainers [TRACE] Looking up host IPs...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.300Z testcontainers [TRACE] Initialising clients...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Container runtime strategy "ConfigurationStrategy" does not work: TypeError: Cannot convert undefined or null to object
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Checking container runtime strategy "UnixSocketStrategy"...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Container runtime strategy "UnixSocketStrategy" is not applicable
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Checking container runtime strategy "RootlessUnixSocketStrategy"...
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Container runtime strategy "RootlessUnixSocketStrategy" is not applicable
[06:25:49.509+02:00] - 2024-07-08T04:25:49.301Z testcontainers [DEBUG] Checking container runtime strategy "NpipeSocketStrategy"...
[06:25:49.510+02:00] - 2024-07-08T04:25:49.302Z testcontainers [DEBUG] Container runtime strategy "NpipeSocketStrategy" is not applicable

Container runtime strategy "ConfigurationStrategy" does not work: TypeError: Cannot convert undefined or null to object

Any idea ?

@jonesbusy That's progress, seems there's some issue with the configuration used by the ConfigurationStrategy. Unfortunately the error doesn't pinpoint much so I've raised #794 to print a stacktrace if there is one. I'll release this as a patch soon and let you know and hopefully you won't mind retrying?

@cristianrgreco Sure I will try as soon as it's released. Thanks

Thanks @jonesbusy. Released in 10.10.2

This is the stackstrace of 10.10.2
[06:04:18.991+02:00] - 2024-07-09T04:04:18.874Z testcontainers [DEBUG] TypeError: Cannot convert undefined or null to object
[06:04:18.991+02:00] -     at Function.keys (<anonymous>)
[06:04:18.991+02:00] -     at initStrategy (/home/jenkins/agent/workspace/****-10.10.2/node_modules/testcontainers/src/container-runtime/clients/client.ts:125:22)
[06:04:18.991+02:00] -     at getContainerRuntimeClient (/home/jenkins/agent/workspace/*****-10.10.2/node_modules/testcontainers/src/container-runtime/clients/client.ts:51:22)
[06:04:18.991+02:00] -     at GenericContainer.start (/home/jenkins/agent/workspace/e_feature_test-containe*******r-10.10.2/node_modules/testcontainers/src/generic-container/generic-container.ts:81:20)
[06:04:18.991+02:00] -     at /home/jenkins/agent/workspace/****-10.10.2/src/ts/api.test.ts:23:25
[06:04:18.991+02:00] -     at async Promise.all (index 0)
[06:04:18.991+02:00] -     at callSuiteHook (file:///home/jenkins/agent/workspace/****-10.10.2/node_modules/@vitest/runner/dist/index.js:700:23)
[06:04:18.991+02:00] -     at runSuite (file:///home/jenkins/agent/workspace/****-10.10.2/node_modules/@vitest/runner/dist/index.js:892:27)
[06:04:18.991+02:00] -     at runSuite (file:///home/jenkins/agent/workspace/*****-10.10.2/node_modules/@vitest/runner/dist/index.js:909:15)
[06:04:18.991+02:00] -     at runFiles (file:///home/jenkins/agent/workspace/*******-10.10.2/node_modules/@vitest/runner/dist/index.js:958:5)
[06:04:18.991+02:00] - 2024-07-09T04:04:18.874Z testcontainers [DEBUG] Checking container runtime strategy "UnixSocketStrategy"...

Thanks @jonesbusy, turns out this is your issue: https://github.com/testcontainers/testcontainers-node/commit/ab4667329883d03f801fb7ecb7b3e86eabb1e10c#diff-07adb1d2976c5e124c3804996a054095cdc770c58ec8a1b7af5c24f37da21ee7R109, added as part of the Ollama module. Will be fixed in #795

Will leave issue open until released and fix confirmed.

@jonesbusy Please try 10.10.3

Just done
All work as expected

Thank you so much for the help!

Thanks to you for raising such a detailed issue and for helping so much in debugging, always a pleasure! 🙂


cluster restart again and again

What kind of request is this (question/bug/enhancement/feature request):
question
Steps to reproduce (least amount of steps as possible):
it work fine before, fail to work tomorrow
Result:
cluster  restart each minute.
i can see my cluster active,and then unavailable

rancher ui show error:
Error
unexpected error when reading response body. Please retry. Original error: net/http: request canceled (Client.Timeout exceeded while reading body)

Other details that may be helpful:
my rancher manage two cluster,one work fine,another not work from tomorrow.
rancher logs:
[INFO] Stopping cluster agent for c-6jnkw
E0330 11:56:39.120826       6 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
E0330 11:56:39.123115       6 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
2020-03-30 11:56:39.485795 W | etcdserver: read-only range request "key:\"/registry/namespaces/default\" " with result "range_response_count:1 size:273" took too long (195.653382ms) to execute
2020/03/30 11:56:39 [INFO] Registering project network policy
2020/03/30 11:56:39 [INFO] Registering CIS controller
2020/03/30 11:56:39 [INFO] registering podsecuritypolicy cluster handler for cluster c-6jnkw
2020/03/30 11:56:39 [INFO] registering podsecuritypolicy project handler for cluster c-6jnkw
2020/03/30 11:56:39 [INFO] registering podsecuritypolicy namespace handler for cluster c-6jnkw
2020/03/30 11:56:39 [INFO] registering podsecuritypolicy serviceaccount handler for cluster c-6jnkw
2020/03/30 11:56:39 [INFO] registering podsecuritypolicy template handler for cluster c-6jnkw
2020/03/30 11:56:39 [INFO] Registering monitoring for cluster "c-6jnkw"
2020/03/30 11:56:39 [INFO] Registering istio for cluster "c-6jnkw"
2020/03/30 11:56:54 [ERROR] cluster.management.cattle.io "c-6jnkw" not found
2020/03/30 11:56:56 [INFO] Starting cluster controllers for c-6jnkw
2020/03/30 11:57:26 [INFO] Stopping cluster agent for c-6jnkw
E0330 11:57:26.628041       6 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
E0330 11:57:26.638172       6 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
2020/03/30 11:57:26 [ERROR] ClusterController c-6jnkw [user-controllers-controller] failed with : failed to start user controllers for cluster c-6jnkw: timeout syncing controllers
2020/03/30 11:57:27 [INFO] Registering project network policy
2020/03/30 11:57:27 [INFO] Registering CIS controller
2020/03/30 11:57:27 [INFO] registering podsecuritypolicy cluster handler for cluster c-6jnkw
2020/03/30 11:57:27 [INFO] registering podsecuritypolicy project handler for cluster c-6jnkw
2020/03/30 11:57:27 [INFO] registering podsecuritypolicy namespace handler for cluster c-6jnkw
2020/03/30 11:57:27 [INFO] registering podsecuritypolicy serviceaccount handler for cluster c-6jnkw
2020/03/30 11:57:27 [INFO] registering podsecuritypolicy template handler for cluster c-6jnkw
2020/03/30 11:57:27 [INFO] Registering monitoring for cluster "c-6jnkw"
2020/03/30 11:57:27 [INFO] Registering istio for cluster "c-6jnkw"
2020/03/30 11:57:42 [ERROR] cluster.management.cattle.io "c-6jnkw" not found
2020/03/30 11:57:48 [ERROR] UserAttributeController u-7xj7b6sqvr [mgmt-auth-userattributes-controller] failed with : secret "cattle-system/u-7xj7b6sqvr-secret" not found
2020/03/30 11:57:50 [INFO] Starting cluster controllers for c-6jnkw
2020/03/30 11:58:01 [ERROR] CatalogController citrix [catalog] failed with : Unexpected HTTP status code 404 from [https://citrix.github.io/citrix-k8s-ingress-controller/index.yaml], expected 200
2020-03-30 11:58:19.261567 W | etcdserver: read-only range request "key:\"/registry/management.cattle.io/catalogs/\" range_end:\"/registry/management.cattle.io/catalogs0\" " with result "range_response_count:6 size:1626098" took too long (110.45ms) to execute
2020/03/30 11:58:20 [INFO] Stopping cluster agent for c-6jnkw
E0330 11:58:20.283868       6 request.go:879] Unexpected error when reading response body: net/http: request canceled (Client.Timeout exceeded while reading body)
2020/03/30 11:58:20 [ERROR] ClusterController c-6jnkw [user-controllers-controller] failed with : failed to start user controllers for cluster c-6jnkw: timeout syncing controllers
E0330 11:58:20.284211       6 request.go:879] Unexpected error when reading response body: context deadline exceeded (Client.Timeout exceeded while reading body)
2020/03/30 11:58:20 [INFO] Registering project network policy
2020/03/30 11:58:20 [INFO] Registering CIS controller
2020/03/30 11:58:20 [INFO] registering podsecuritypolicy cluster handler for cluster c-6jnkw
2020/03/30 11:58:20 [INFO] registering podsecuritypolicy project handler for cluster c-6jnkw
2020/03/30 11:58:20 [INFO] registering podsecuritypolicy namespace handler for cluster c-6jnkw
2020/03/30 11:58:20 [INFO] registering podsecuritypolicy serviceaccount handler for cluster c-6jnkw
2020/03/30 11:58:20 [INFO] registering podsecuritypolicy template handler for cluster c-6jnkw
2020/03/30 11:58:21 [INFO] Registering monitoring for cluster "c-6jnkw"
2020/03/30 11:58:21 [INFO] Registering istio for cluster "c-6jnkw"
2020/03/30 11:58:24 [ERROR] ProjectCatalogController p-4fvqt/incubator [projectCatalog] failed with : Timeout in HTTP GET to [https://kubernetes-charts-incubator.storage.googleapis.com/index.yaml], did not respond in 30s
2020/03/30 11:58:35 [ERROR] cluster.management.cattle.io "c-6jnkw" not found
2020/03/30 11:58:38 [INFO] Starting cluster controllers for c-6jnkw
2020-03-30 11:58:43.010550 W | etcdserver: read-only range request "key:\"/registry/secrets/\" range_end:\"/registry/secrets0\" " with result "range_response_count:91 size:758570" took too long (260.091906ms) to execute
2020/03/30 11:58:46 http: TLS handshake error from <IP_ADDRESS>:40346: EOF
2020-03-30 11:58:58.165508 I | mvcc: store.index: compact 42907096
2020-03-30 11:58:58.794812 W | etcdserver: request "header:<ID:7587845377476107466 > txn:<compare:<target:MOD key:\"/registry/services/endpoints/kube-system/kube-scheduler\" mod_revision:42907744 > success:<request_put:<key:\"/registry/services/endpoints/kube-system/kube-scheduler\" value_size:460 >> failure:<request_range:<key:\"/registry/services/endpoints/kube-system/kube-scheduler\" > >>" with result "size:20" took too long (222.301407ms) to execute
2020-03-30 11:58:58.794941 W | etcdserver: read-only range request "key:\"/registry/configmaps/kube-system/cattle-controllers\" " with result "range_response_count:1 size:506" took too long (106.667076ms) to execute
2020-03-30 11:59:00.113722 I | mvcc: finished scheduled compaction at 42907096 (took 1.941583029s)
2020-03-30 11:59:00.434505 W | etcdserver: request "header:<ID:7587845377476107481 > txn:<compare:<target:MOD key:\"/registry/configmaps/kube-system/k3s\" mod_revision:42907746 > success:<request_put:<key:\"/registry/configmaps/kube-system/k3s\" value_size:410 >> failure:<request_range:<key:\"/registry/configmaps/kube-system/k3s\" > >>" with result "size:20" took too long (885.729905ms) to execute
2020-03-30 11:59:00.434850 W | etcdserver: read-only range request "key:\"/registry/services/endpoints/kube-system/kube-controller-manager\" " with result "range_response_count:1 size:565" took too long (563.08249ms) to execute
2020-03-30 11:59:00.435012 W | etcdserver: read-only range request "key:\"/registry/project.cattle.io/pipelines\" range_end:\"/registry/project.cattle.io/pipelinet\" count_only:true " with result "range_response_count:0 size:10" took too long (480.742762ms) to execute
2020-03-30 11:59:00.435100 W | etcdserver: read-only range request "key:\"/registry/podtemplates\" range_end:\"/registry/podtemplatet\" count_only:true " with result "range_response_count:0 size:7" took too long (152.888073ms) to execute
2020-03-30 11:59:00.435159 W | etcdserver: read-only range request "key:\"/registry/persistentvolumes\" range_end:\"/registry/persistentvolumet\" count_only:true " with result "range_response_count:0 size:7" took too long (346.515121ms) to execute
2020/03/30 11:59:08 [INFO] Stopping cluster agent for c-6jnkw

Environment information

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

Cluster information

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

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.1", GitCommit:"d647ddbd755faf07169599a625faf302ffc34458", GitTreeState:"clean", BuildDate:"2019-10-02T17:01:15Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.6", GitCommit:"96fac5cd13a5dc064f7d9f4f23030a6aeface6cc", GitTreeState:"clean", BuildDate:"2019-08-19T11:05:16Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Docker version (use docker version):

Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40
 Go version:        go1.12.5
 Git commit:        74b1e89
 Built:             Thu Jul 25 21:21:22 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.5
  Git commit:       74b1e89
  Built:            Thu Jul 25 21:19:53 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

i confirm that when cluster unavailable,cluster  workload still work fine

If you would like to ask questions in Chinese, please add rancher2 to join
Rancher WeChat group. Thanks

resolve by reinstall full cluster


mvn azure-functions:run doens't work in Linux because of case sensitive of the worker directory

In linux,
mvn azure-functions:run

(for local development)
doesn't work because ~/.azurefunctions/bin/workers/Java is expected but ~/.azurefunctions/bin/workers/java actually exists.
This doesn't happen in Mac because it's case insensitive.
I don't think this is a maven plugin issue.
Investigative information
I'm using

azure-functions-maven-plugin:0.1.4
<EMAIL_ADDRESS>
Repro steps
mvn azure-functions:run in Linux.
Actual behavior
$ mvn azure-functions:run

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Azure Java Functions 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- azure-functions-maven-plugin:0.1.4:run (default-cli) @ walkthrough ---
AI: INFO 23-10-2017 13:41, 1: Configuration file has been successfully found as resource
AI: INFO 23-10-2017 13:41, 1: Configuration file has been successfully found as resource
[INFO] Azure Functions stage directory found at: /home/bosh/workspace/function-demo-java-on-azure/walkthrough/target/azure-functions/walkthrough-maki
[INFO] Azure Functions Core Tools found.

Http Functions:

	hello: http://localhost:7071/api/hello

fail: Worker.Java.09b6d71c-47bc-4d53-b4f4-c51657e921ed[0]
      Worker encountered an error.
info: Worker.Java.793a4da6-48cf-4d9f-8613-3fed491cd6c0[0]
      Start Process: /home/bosh/jdk/bin/java  -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 "/home/bosh/.azurefunctions/bin/workers/Java/azure-functions-java-worker.jar" --host <IP_ADDRESS> --port 41385 --workerId 793a4da6-48cf-4d9f-8613-3fed491cd6c0 --requestId 21e457e2-f0f5-4ced-b80d-1fb3002cbfbc
[10/23/17 1:41:45 PM] A ScriptHost error has occurred
[10/23/17 1:41:45 PM] Worker process with pid 3781 exited with code 1.
info: Worker.Java.09b6d71c-47bc-4d53-b4f4-c51657e921ed[0]
      Error: Unable to access jarfile /home/bosh/.azurefunctions/bin/workers/Java/azure-functions-java-worker.jar
[10/23/17 1:41:45 PM] A ScriptHost error has occurred
[10/23/17 1:41:45 PM] Worker process with pid 3786 exited with code 1.
info: Worker.Java.793a4da6-48cf-4d9f-8613-3fed491cd6c0[0]
      Error: Unable to access jarfile /home/bosh/.azurefunctions/bin/workers/Java/azure-functions-java-worker.jar
fail: Worker.Java.793a4da6-48cf-4d9f-8613-3fed491cd6c0[0]
      Worker encountered an error.
info: Worker.Java.abb1c12f-a5e1-49c5-bf4d-c8f7affb3a59[0]
      Start Process: /home/bosh/jdk/bin/java  -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 "/home/bosh/.azurefunctions/bin/workers/Java/azure-functions-java-worker.jar" --host <IP_ADDRESS> --port 41385 --workerId abb1c12f-a5e1-49c5-bf4d-c8f7affb3a59 --requestId 6e16e150-4731-4802-9cdc-88ff51ebd11f

$ ls ~/.azurefunctions/bin/workers/
java  node

Known workarounds
Renaming Java directory to java or creating the symbolic link works
$ sudo ln -s ~/.azurefunctions/bin/workers/java ~/.azurefunctions/bin/workers/Java

Fixed in https://github.com/Azure/azure-webjobs-sdk-script/commit/dfadc815287f0ebe84ddf67111dc2c8b88d5fdee
Should go out in the next 2.0 release.


CollectPallens and virus

Can make Supplement for minion ? To CollectPallets they collected food and eating virus!!! Good idea I think so.

https://github.com/Megabyte918/MultiOgar-Edited/blob/master/src/gameserver.ini#L178

I know lol... just to minion gathering food and eating virus. But now they gather only food

or maybe collect the smaller players is better...dude then they will be players not minions !

We don't want minions to have an AI , It will affect preformance

me performance is not important... it's a Supplement not really affect performance. 1.6.1 good and so is optimized. It's a good idea!!!

"minions to have an ai"
um what


feat(qgb)!: unique error codes

Closes: #1669

apologies @Chirag018 and @SweeXordious, we can just rely on the codespace returned in the txresult as indicated by @cmwaters and think we should close this as unplanned


Prototype drag and drop mechanic

I noticed a problem: sometimes element on laser bean created a copy of element. Probably it's not a part of drag and drop mechanic, but laser itself.

Unfortunately, it sort-of-works.
Sometimes it lags, sometimes it copies elements.
And the main part (the more challenging part) of toolbox with elements is missing completely.

I close in the current for, we did it another way.


cqn4sql: reject calc elements \w exists predicate

also streamline error handling to always use cds.error.

Is there a reason to switch to cds.error? throw new Error also works fine.

I had both styles mixed up and wanted to get rid of one. Would you prefer throw new Error?

I'd say use cds.error only if you want one of its advanced features, not supported by new Error like enriching existing error objects, adding details objects as a secondary argument or as a throwing fallback.
If you use cds.error always add a throw before it unless using it as a conditional throwing fallback:
let x = argx || cds.error(`Expected argx to be defined`)


Scene leaks through, and props question

Version
Tell us which versions you are using:

react-native-router-flux v3.31.2
react-native v0.27.1

Expected behaviour
I followed the example from https://github.com/aksonov/react-native-router-flux/blob/master/docs/MINI_TUTORIAL.md.
Actual behaviour

after the scene transition, the previous scene leaks through. What can I do change the opacity
Steps to reproduce
this is my code for the root scene:
            <Router>
                <Scene key="root">
                    <Scene key="pageOne"  component={PageOne} opacity={0} title="PageOne" getInitialState={() => ({... this.props})} initial={true} />
                    <Scene key="pageTwo" component={PageTwo} opacity={0} hideNavBar={false} getInitialState={() => ({... this.props})} title="PageTwo" />
                </Scene>
             </Router>

also, is there any other way to pass all my props? currently I'm passing them to the scene using getInitialState, but if my props changes, the scenes would not get the updated props. Thanks for all the help.

see #948

thanks for the prompt response!
also, is there any other way to pass all my props? currently I'm passing them to the scene using getInitialState, but if my props changes, the scenes would not get the updated props.

so i dont know if you solved @richyzhu , but as also it was difficult for me to find the solution to this second question you had you have to pass {... this.props} to the router not to the scene
<Router {...this.props} >
     //your scenes ....
</Router>

I have the same problem, did someone find a solution to fade out opacity to zero?

Hi @richyzhu
Did you find answer to your second question?
I am too struggling with that.
Thank you


dqn_torch_test build failure

I am trying to build Open Spiel for the first time. Using a new Ubuntu 22.04 install under WSL2. I am building with Cuda and libtorch. After a bunch of tinkering, I have gotten down to everything builds and only a single test failure:
terminate called after throwing an instance of 'c10::Error'
  what():  masked_fill_ only supports boolean masks, but got mask with dtype int
Exception raised from masked_fill_impl_cpu at ../aten/src/ATen/native/TensorAdvancedIndexing.cpp:1910 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) + 0x6c (0x7f3af2ac42ac in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libc10.so)
frame #1: c10::detail::torchCheckFail(char const*, char const*, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) + 0xfa (0x7f3af2a6dcbc in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libc10.so)
frame #2: <unknown function> + 0x20b2d4d (0x7f3ad8cb2d4d in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #3: at::native::masked_fill__cpu(at::Tensor&, at::Tensor const&, c10::Scalar const&) + 0x49 (0x7f3ad8cb2df9 in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #4: at::_ops::masked_fill__Scalar::call(at::Tensor&, at::Tensor const&, c10::Scalar const&) + 0x16f (0x7f3ad99ad1df in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #5: at::native::masked_fill(at::Tensor const&, at::Tensor const&, c10::Scalar const&) + 0xd1 (0x7f3ad8cd6ae1 in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #6: <unknown function> + 0x306bcbb (0x7f3ad9c6bcbb in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #7: at::_ops::masked_fill_Scalar::redispatch(c10::DispatchKeySet, at::Tensor const&, at::Tensor const&, c10::Scalar const&) + 0x92 (0x7f3ad993e592 in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #8: <unknown function> + 0x4d4fd2c (0x7f3adb94fd2c in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #9: <unknown function> + 0x4d5038e (0x7f3adb95038e in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #10: at::_ops::masked_fill_Scalar::call(at::Tensor const&, at::Tensor const&, c10::Scalar const&) + 0x17a (0x7f3ad99a4c9a in /home/certain/GitHub/open_spiel/open_spiel/libtorch/libtorch/lib/libtorch_cpu.so)
frame #11: <unknown function> + 0x3fc95f (0x56439005495f in /home/certain/GitHub/open_spiel/build/algorithms/dqn_torch/dqn_torch_test)
frame #12: <unknown function> + 0x3fa7c1 (0x5643900527c1 in /home/certain/GitHub/open_spiel/build/algorithms/dqn_torch/dqn_torch_test)
frame #13: <unknown function> + 0x814cd (0x56438fcd94cd in /home/certain/GitHub/open_spiel/build/algorithms/dqn_torch/dqn_torch_test)
frame #14: <unknown function> + 0x29d90 (0x7f3a80c77d90 in /lib/x86_64-linux-gnu/libc.so.6)
frame #15: __libc_start_main + 0x80 (0x7f3a80c77e40 in /lib/x86_64-linux-gnu/libc.so.6)
frame #16: <unknown function> + 0x80c95 (0x56438fcd8c95 in /home/certain/GitHub/open_spiel/build/algorithms/dqn_torch/dqn_torch_test)

At some point when I was having more issues, I did get some warning about uint8 vectors being deprecated in some context and to use bools, but I didn't write it down - sorry.
Is this something I should worry about or that you want me to troubleshoot more directly? I will say that the whole Cuda/pyTorch/WSL marriage seems a little janky and so I am totally willing to believe I screwed something up there.

Wow, that's amazing. I'm happy that you got this far.. we have not been actively supporting libtorch based code for a while, nice to know it mostly still works (or at least compiles!) and under WSL with Cuda nonetheless.
Ok, so the error reminded me of something I fixed on the python side when we moved to PyTorch 2. We had to change the way were doing masks to use booleans. Take a look at the changes indqn.py in here: https://github.com/google-deepmind/open_spiel/pull/1141/files
Maybe we now need to change that on the C++ side. My guess is you're using a LibTorch version that is in line with PyTorch 2, but the last time we tested anything with LibTorch it was likely 1.10 (based on the link here).
If that's the case, then maybe we're in luck and the fix might be as easy as it was on the Python side, but I'm not sure how to do it. But, if you're not planning to use C++ DQN then you're probably fine to ignore it. It'd be great to get the libtorch code working with V2 though.

Well, the most-obvious translation of the python change doesn't seem to be what's needed, as it's already defined to be a bool (at least on first glance): https://github.com/tacertain/open_spiel/blob/1208f832568063c36d0e3076069e103d5b00cf5b/open_spiel/algorithms/dqn_torch/dqn.cc#L170
I will poke around some more tomorrow. I'm going to try to build unoptimized with symbols, etc to get a better stack trace. I am not familiar with cmake (other than as a naive user), so if there's any pointers to making it build that way, lemme know. Otherwise I'll probably just try to get the compilation lines out and run them by hand with the right flags.

I tried changing the build type to Debug in build_and_run_tests.sh, but I still didn't get the symbols in the stack trace. Going to fall back to trying to run the compilation by hand.

Hi @tacertain,
You need to set this environment variable, here: https://github.com/google-deepmind/open_spiel/blob/1208f832568063c36d0e3076069e103d5b00cf5b/open_spiel/CMakeLists.txt#L43
But then you have to entirely get rid of the build directory and redo from scratch (CMake has to run on a fresh empty build dir).
Then, you need to run dqn_torch_test within gdb. You might not get line numbers inside the libtorch functions unless the library has been built with debug symbols.

I think you can set the build type to debug directly in CMakeLists.txt too, which might be easier.

Fixed by https://github.com/google-deepmind/open_spiel/pull/1219 which is now merged. Thanks @tacertain!


Callbacks fail parsing before linting

When using the current version of speccy v0.8.2, callbacks no longer pass schema validation. This is blocking me from upgrading and using some of the new features.
This worked in 0.7.3, I'm not sure if it's this library or another dependency. I tried the official example to make sure it wasn't something wrong my spec.
working
npm install<EMAIL_ADDRESS>speccy lint https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/callback-example.yaml -s info-contact -s operation-operationId -s operation-tags -s operation-summary-or-description -s openapi-tags

Specification is valid, with 0 lint errors

not working
npm install<EMAIL_ADDRESS>speccy lint https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/examples/v3.0/callback-example.yaml -s info-contact -s operation-operationId -s operation-tags -s operation-summary-or-description -s openapi-tags

Specification schema is invalid.

#/paths/~1streams/post/callbacks/onData/post

@MikeRalphson hey, is this also maybe an oas-kit thing?

@philsturgeon should be fixed in oas-validator v1.1.10


[Bug]: unable to start notebook server due to duplicate values in StatefulSet

Is there an existing issue for this?

[X] I have searched the existing issues

Deploy type
OpenDataHub core version (eg. v1.6.0)
Version
1.8.0
Current Behavior
May be related to https://github.com/opendatahub-io/odh-dashboard/pull/1594
Starting a new notebook server generates a StatefulSet that errors out:
create Pod jupyter-nb-clusteradminuser1-0 in StatefulSet jupyter-nb-clusteradminuser1 failed error: Pod "jupyter-nb-clusteradminuser1-0" is invalid: [spec.volumes[4].name: Duplicate value: "shm", spec.containers[0].volumeMounts[2].mountPath: Invalid value: "/dev/shm": must be unique]

Expected Behavior
Notebook server should start successfully without error.
Steps To Reproduce

Go to Applications -> Enabled
Select Launch Application from the Jupyter tile.
Select a notebook image and click Start server
Observe the server never starts.
Jump into the OpenShift Console and search for the generated StatefulSet. This can be done through the Administrator perspective or the topology view.
View the events for this StatefulSet and observe the error.

Note that the dashboard UI doesn't show the error due to another outstanding bug.
Workaround (if any)
Manually by editing the Notebook resource via CLI or OpenShift console:

Edit the Notebook resource that was created
Remove all entries related to shm. These are the duplicate entries that show up in the StatefulSet:

            - name: shm
              mountPath: /dev/shm

        - name: shm
          emptyDir:
            medium: Memory

Remove the kubeflow-resource-stopped annotation.

What browsers are you seeing the problem on?
Chrome
Anything else
No response

This is caused, as the feature to include the volumeMount shm:

Earlier was included in notebook-controller: v1.7.0-1, which was later removed in v1.7.0-2
and moved to odh-dashboard.

So the latest version of odh-dashboard, would function well with notebook-controller v1.7.0-1
which was the case of this issue.
With this PR: https://github.com/opendatahub-io/odh-manifests/pull/900
odh-manifests master will have the right fix.


fix(entities): toolbar create button size

Summary

This PR uses useActionOutside to decide the size of the create entity button in the toolbar, so that:

the create entity button size aligns with the learning hub icon in Gateway Manager
the create entity button size aligns with the column toggle icon in Kong Manager

This PR also removes use-action-outside on EntityBaseTable because EntityBaseTable does not have this prop.

Gateway Manager
Kong Manager

Resources

Creating a package docs

On a second thought, should we move the <Teleport> into EntityBaseTable and make the use-action-outside prop just work, instead of duplicating <Teleport> everywhere?


Acorn config update

This PR

updates acorn config to use site-specific ESMF settings (esmf_of & esmf_comm);
fixes the external python spec (no more ucs4 variant); and
updates spack submodule pointer.

The first item raises a possibly interesting question. The "variants:" setting in packages.yaml is not cumulative when using multiple packages.yaml's. I tested for example keeping the "~xerces ~pnetcdf +pio" in common/packages.yaml and just adding the new esmf settings to acorn/packages.yaml, but then those settings under common/ get lost. If there were a way to specify variants cumulatively across files and avoid redundancy, that would be great.

If there were a way to specify variants cumulatively across files and avoid redundancy, that would be great.

I am not aware of any, but that would be great to have, yes

@climbfuji Any idea what's going on with https://github.com/NOAA-EMC/spack-stack/actions/runs/3895250997/jobs/6650856481? In the nccmp build, libnetcdf.so has undefined refs to a handful of curl functions, even though curl is pretty clearly installed.

I just reran the build. I’ve seen weird errors in the past when exceeding the resources of the free github runners. But I doubt that’s the problem. More likely they (github actions) updated their images in the last few days. That happens frequently and often breaks our builds, because spack is having problems with curl libraries being preinstalled or not on Ubuntu (we’ve been going back and forth between installing them with apt and using them, or building them with spack instead).

On Jan 11, 2023, at 12:22 PM, Alex Richert @.***> wrote:
@climbfuji https://github.com/climbfuji Any idea what's going on with https://github.com/NOAA-EMC/spack-stack/actions/runs/3895250997/jobs/6650856481 https://github.com/NOAA-EMC/spack-stack/actions/runs/3895250997/jobs/6650856481? In the nccmp build, libnetcdf.so has undefined refs to a handful of curl functions, even though curl is pretty clearly installed.
—
Reply to this email directly, view it on GitHub https://github.com/NOAA-EMC/spack-stack/pull/437#issuecomment-1379373493, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5C2RKRJXUDP43AAKUDI6LWR4B7ZANCNFSM6AAAAAATYJVSHA.
You are receiving this because you were mentioned.

Two of 18 CI tests timed out, I am rerunning them.

@AlexanderRichert-NOAA I will try what we do in our instructions for Ubuntu (https://spack-stack.readthedocs.io/en/latest/Platforms.html#linux) for my current PR https://github.com/NOAA-EMC/spack-stack/pull/442.

One of the CI tests timed out after 6hrs close to the finishing line, all others passed. Will merge now.


Sets an oghttp2 config option to allow different "host" and ":authority" values

This resolves a codec difference between nghttp2 and oghttp2.
Commit Message: Sets an oghttp2 config option to allow different "host" and ":authority" values
Additional Description:
Risk Level: low
Testing: added integration test coverage for the codec difference
Docs Changes:
Release Notes:
Platform Specific Features:

/assign @diannahu
/assign @yanavlasov

/retest

/assign @RyanTheOptimist
/assign @alyssawilk

@birenroy the failure in the compile time options does not seem related to this PR. https://source.cloud.google.com/results/invocations/a881aa18-7dc9-4fac-b2dc-8ce62636766f/log
Maybe it needs main merge?
/wait

/retest


Prettier standard

Supercedes #5528.
This PR adds prettier-standard to the lint-staged step, but only to the examples folder.
The only real change in this PR is in package.json; the rest of the changes are a result of running yarn prettier-standard "examples/**/*.js" (and for .ts too)
Once we're happy with this for examples, I'd suggest expanding prettier-standard to the wider next.js codebase. Then we can start looking at incrementally moving towards eslint! :tada:

@benhjames when you add the lint script I'll merge this 💯

Now added to both the lint and (new?) lint-fix scripts. 👍
Notably, prettier-standard doesn't expose a --check option (it always fixes in-place), but since it returns a non-zero exit code if there are some files that need to be formatted, then it will function as a CI lint check.

I wonder if instead of prettier-standard we could use eslint + eslint-config-standard + eslint-config-prettier and then use prettier itself.

@timneutkens I tried this approach in prettier-standard but it doesn't work as standard has some whitespacing formatting rules that cannot be configured in prettier, notably: https://github.com/prettier/prettier/issues/3845 and https://github.com/prettier/prettier/issues/3847 and people kept complaining: https://github.com/sheerun/prettier-standard/issues/12
So until prettier implements parenthesis config matching standard, the only way is to run code through prettier first and standard after that.

Honestly what would be really perfect if prettier implemented --standard flag I could just switch to using it in prettier-standard instead of passing through prettier and then eslint just for formatting. I think only theoretical --check flag should invoke eslint there.

I mean I guess it'd be fine to run prettier first and then standard --fix right 🤔 As standard doesn't really change multi-line rules 🤔

That's pretty much what prettier-standard does


Add alternative to using complex numbers for representing 2D domains

Right now
Circle()
represents both a circle in the complex plane and in 2D.  similarly the boundary of Interval()^2 is a piecewise interval in the complex plane.  These two concepts should be distinct.
Should 2D be a tuple?

I started thinking about proper 2D intervals instead of overloading intervals in the complex plane: e.g.  Interval((1,2),(3,4)) instead of Interval(1+2im,3+4im).
Interval(1+2im,3+4im) is a Domain{Complex{Float64},1} and an Interval()^2 is a Domain{Float64,2}.  Should Interval((1,2),(3,4)) be
Domain{(Float64,Float64),1}
Domain{Float64,2}     or
Domain{(Float64,Float64),2}

I can see how this would be helpful. For the typing, Interval((a,b),(c,d)) is definitely a one-dimensional domain, and probably carrying the type tuple would be ok, since then a and c or b and d or all could be complex as well.
Should Interval((-1.0,0.0),(1.0,0.0))^2 be the square Interval((-1.0,0.0),(1.0,0.0))*Interval((0.0,-1.0),(0.0,1.0)) or the ProductDomain with itself?
Does an Interval((a,b),(c,d)) have a complexlength (for compatibility with certain operators) as well as a length? Certainly gets complicated.

On 21 Apr 2015, at 8:33 pm, Richard Mikael Slevinsky<EMAIL_ADDRESS>wrote:
I can see how this would be helpful. For the typing, Interval((a,b),(c,d)) is definitely a one-dimensional domain, and probably carrying the type tuple would be ok, since then a and c or b and d or all could be complex as well.
Should Interval((-1.0,0.0),(1.0,0.0))^2 be the square Interval((-1.0,0.0),(1.0,0.0))*Interval((0.0,-1.0),(0.0,1.0)) or the ProductDomain with itself?

This should be a square in R^4.  Interval(-1,1)*Interval((-1,0.),(1.,0.)) then would be a square in R^3.

Does an Interval((a,b),(c,d)) have a complexlength (for compatibility with certain operators) as well as a length? Certainly gets complicated.

Not really sure what “complexlength” actually means...

Hmm I think Interval([a,b],[c,d]) is better:  addition is not implemented on tuples.

On 21 Apr 2015, at 8:33 pm, Richard Mikael Slevinsky<EMAIL_ADDRESS>wrote:
I can see how this would be helpful. For the typing, Interval((a,b),(c,d)) is definitely a one-dimensional domain, and probably carrying the type tuple would be ok, since then a and c or b and d or all could be complex as well.
Should Interval((-1.0,0.0),(1.0,0.0))^2 be the square Interval((-1.0,0.0),(1.0,0.0))*Interval((0.0,-1.0),(0.0,1.0)) or the ProductDomain with itself?
Does an Interval((a,b),(c,d)) have a complexlength (for compatibility with certain operators) as well as a length? Certainly gets complicated.
—
Reply to this email directly or view it on GitHub https://github.com/ApproxFun/ApproxFun.jl/issues/162#issuecomment-94738523.

Though this has the consequence that the dimension can’t be inferred from type 😔

On 22 Apr 2015, at 10:03 am, Sheehan Olver<EMAIL_ADDRESS>wrote:
Hmm I think Interval([a,b],[c,d]) is better:  addition is not implemented on tuples.

On 21 Apr 2015, at 8:33 pm, Richard Mikael Slevinsky<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
I can see how this would be helpful. For the typing, Interval((a,b),(c,d)) is definitely a one-dimensional domain, and probably carrying the type tuple would be ok, since then a and c or b and d or all could be complex as well.
Should Interval((-1.0,0.0),(1.0,0.0))^2 be the square Interval((-1.0,0.0),(1.0,0.0))*Interval((0.0,-1.0),(0.0,1.0)) or the ProductDomain with itself?
Does an Interval((a,b),(c,d)) have a complexlength (for compatibility with certain operators) as well as a length? Certainly gets complicated.
—
Reply to this email directly or view it on GitHub https://github.com/ApproxFun/ApproxFun.jl/issues/162#issuecomment-94738523.

This works now
d=Interval([1.0,2],[3.0,6])
f=Fun(x->exp(-x[1]^2-2x[2]^2),d)

Ideally we would want to also be able to do
f=Fun((x,y)->exp(-x^2-2y^2),d)

But right now, since the space can’t see the domain, this would require making the existing constructor more complicated.  I think it’s better to put off expanding on this change until 0.4, when the space type will include the domain type as a template variable.

On 22 Apr 2015, at 10:05 am, Sheehan Olver<EMAIL_ADDRESS>wrote:
Though this has the consequence that the dimension can’t be inferred from type 😔

On 22 Apr 2015, at 10:03 am, Sheehan Olver<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Hmm I think Interval([a,b],[c,d]) is better:  addition is not implemented on tuples.

On 21 Apr 2015, at 8:33 pm, Richard Mikael Slevinsky<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
I can see how this would be helpful. For the typing, Interval((a,b),(c,d)) is definitely a one-dimensional domain, and probably carrying the type tuple would be ok, since then a and c or b and d or all could be complex as well.
Should Interval((-1.0,0.0),(1.0,0.0))^2 be the square Interval((-1.0,0.0),(1.0,0.0))*Interval((0.0,-1.0),(0.0,1.0)) or the ProductDomain with itself?
Does an Interval((a,b),(c,d)) have a complexlength (for compatibility with certain operators) as well as a length? Certainly gets complicated.
—
Reply to this email directly or view it on GitHub https://github.com/ApproxFun/ApproxFun.jl/issues/162#issuecomment-94738523.

Hi,
I was using an Interval constructor which created array of intervals from two endpoint vectors. This made working with UnionDomains of Intervals and Circles quite easy:
a,b = rand(10),rand(10)
c,r = rand(10),rand(10)
∪(Interval(a,b))∪∪(Circle(c,r))

I suppose I could always do:
∪(map(Interval,a,b))

but I'd be happier if the previous ability was restored.

Alternatively, I could use tuples since I'm just assembling the domains and not doing any arithmetic on the endpoints. Thoughts?

I removed this just because constructors should return the type, but maybe it can be added back.

On 25 Apr 2015, at 12:54 am, Richard Mikael Slevinsky<EMAIL_ADDRESS>wrote:
Hi,
I was using an Interval constructor which created array of intervals from two endpoint vectors. This made working with UnionDomains of Intervals and Circles quite easy:
a,b = rand(10),rand(10)
c,r = rand(10),rand(10)
∪(Interval(a,b))∪∪(Circle(c,r))
I suppose I could always do:
∪(map(Interval,a,b))
but I'd be happier if the previous ability was restored.
—
Reply to this email directly or view it on GitHub https://github.com/ApproxFun/ApproxFun.jl/issues/162#issuecomment-95954169.

This seems like a better syntax:
UnionDomain(Interval,a,b)

or
UnionDomain(Circle,a,b)

as the type returned is a Union domain.    Then one also doesn’t have to write constructors for future types.

On 26 Apr 2015, at 10:36 am, Sheehan Olver<EMAIL_ADDRESS>wrote:
I removed this just because constructors should return the type, but maybe it can be added back.

On 25 Apr 2015, at 12:54 am, Richard Mikael Slevinsky<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Hi,
I was using an Interval constructor which created array of intervals from two endpoint vectors. This made working with UnionDomains of Intervals and Circles quite easy:
a,b = rand(10),rand(10)
c,r = rand(10),rand(10)
∪(Interval(a,b))∪∪(Circle(c,r))
I suppose I could always do:
∪(map(Interval,a,b))
but I'd be happier if the previous ability was restored.
—
Reply to this email directly or view it on GitHub https://github.com/ApproxFun/ApproxFun.jl/issues/162#issuecomment-95954169.

Thanks for bringing that up. Yep, good to stick with the constructor => type rule. In @edb063d7a8905fff20f5ecac489c0341f08011be, I've implemented the union symbol to deal with cases like:
∪(Circle,1.0)
∪(Interval,-1,1)
∪(Circle,[0.0,1.0],[2.0,3.0])
∪(Interval,{[1,2],[3,4]},{[5,6],[7,8]})

Imo, it makes sense that the union of a single domain is that domain, so using the symbol instead of a constructor for UnionDomain still follows the constructor => type rule.

Sounds good!  In 0.4 we'll also be able to use Domain(...) as the constructor.
Sent from my iPad

On 27 Apr 2015, at 10:55 pm, Richard Mikael Slevinsky<EMAIL_ADDRESS>wrote:
Thanks for bringing that up. Yep, good to stick with the constructor => type rule. In @edb063d, I've implemented the union symbol to deal with cases like:
∪(Circle,1.0)
∪(Interval,-1,1)
∪(Circle,[0.0,1.0],[2.0,3.0])
∪(Interval,{[1,2],[3,4]},{[5,6],[7,8]})
Imo, it makes sense that the union of a single domain is that domain, so using the symbol instead of a constructor for UnionDomain still follows the constructor => type rule.
—
Reply to this email directly or view it on GitHub.

This has been implemented:
julia> f=Fun((x,y)->exp(x+y),Interval((0,0.),(1,1.)))
Fun([3.4415238691253354,3.0725234451419365,0.7380008479667992,0.12052005327474004,0.014880528318358996,0.0014758267278679308,0.00012226103967960184,8.694251715223477e-6,5.415156664654856e-7,3.000105597462556e-8,1.49665755157517e-9,6.790144264878533e-11,2.824647334188317e-12,1.0843584770410246e-13],Chebyshev(【Vec(0.0,0.0),Vec(1.0,1.0)】))

julia> f(0.5,0.5)
2.718281828459049


Added entity AI system and hedgehogs

Thought I'd implement a simple finite state machine inspired entity AI system so we can better add more entities in the future.
It's based on two abstract classes: EntityMind and EntityAction. Entity minds, such as PeacefulWanderingMind hold a list of entity actions and evaluate the next action each time the current one has completed one cycle. Entity actions tell the mind that they've completed one cycle by returning true with their perform function: This is usually true every frame.
As a demonstration, I've moved bunnies over to this system and added hedgehogs, which use the same mind as bunnies.

I like the new system implementation and think it's a great idea to increase the diversity among entities. This also allows entities to switch their "mind" if, say, they got hit and were angered. Great work!

Jordan, it looks like you forgot to push the hedgehog image.