agc context deploy --context myContext fails due to A load balancer cannot be attached to multiple subnets in the same Availability Zone

Describe the Bug
Following the instructions to get started, when I run
agc context deploy --context myContext

it fails with the error in CloudFormation:
AWS::ElasticLoadBalancingV2::LoadBalancer | toil/Engine/Resource/LB (toilEngineLB8817BA29) A load balancer cannot be attached to multiple subnets in the same Availability Zone (Service: AmazonElasticLoadBalancing)

Steps to Reproduce
agc account activate --vpc vpc-xyz --subnets subnet-abc,subnet-def
agc configure email<EMAIL_ADDRESS>cd examples/demo-cwl-project
agc context deploy --context myContext

where subnet-abc is in us-east-1d,
and subnet-def is in us-east-1e
Relevant Logs
Expected Behavior
Expected behavior is that stack would have gotten created without error.
Actual Behavior
Stacks fails to get created.
Additional Context
Operating System:
AGC Version: 1.5.0
Was AGC setup with a custom bucket: no
Was AGC setup with a custom VPC: yes

@adamnovak can you take a look at this. Might be an issue with how the infrastructure for Toil is being deployed?
@golharam are you able to deploy different engine types using the same account? For example are you able to deploy one of the contexts from https://github.com/aws/amazon-genomics-cli/tree/main/examples/gatk-best-practices-project-miniwdl. If you are then we know this issue is limited to Toil rather than being a general issue.

Here's what AGC builds for Cromwell as the engine (which presumably works with multiple --subnets?):
https://github.com/aws/amazon-genomics-cli/blob/3a5a9b52adf03e44452f63e167ea694e5fa251d3/packages/cdk/lib/stacks/engines/cromwell-engine-construct.ts#L60-L80
And here's what it builds for Toil as the engine:
https://github.com/aws/amazon-genomics-cli/blob/57996a1d566db885fa110f1cee2d5821365b1f49/packages/cdk/lib/stacks/engines/toil-engine-construct.ts#L58-L67
With Cromwell, AGC creates an AWS Lambda serverless function to translate WES to what Cromwell can understand, and the ApiProxy is pointed at the Lambda, which has been told the load balance'rs internal hostname and can make calls against it (this.engine.loadBalancer.loadBalancerDnsName).
With Toil, the service behind the load balancer already speaks WES, so we just point the ApiProxy at the load balancer.
The ApiProxy supports being pointed at either a Lambda or directly at a load balancer, so this should work.
It looks like behind the scenes, it uses a LambdaIntegration form an AWS library when pointed at a Lambda, but makes both a VpcLink and an HttpIntegration when pointing directly at a load balancer.
Unfortunately, I don't have enough experience with either the CDK libraries or AWS's VPC connection, load balancer, and API proxy concepts for all this to suggest to me a reason why this would not work. Since the load balancer is created as part of the engine construction, which I think is really the same between Toil and Cromwell engines except for the containers, maybe the differences in front of the load blancer are red herrings? It's not clear to me whether attaching different things in front of the load balancer can, in the CDK, change how the load balancer itself is to be constructed, and result in it trying to attach to multiple subnets when it would not otherwise be.
I think the real problem here might be that --subnets subnet-abc,subnet-def is asking for something impossible, or at least unsupported. Maybe you can only use multiple subnets for AGC if the subnets are all in different availability zones, and it turns out that in this case they happen to be in the same availability zone?
@markjschreiber Is AGC meant to allow you to use multiple subnets in the same availability zone?

The load balancers for Toil and Cromwell are both made by calling renderServiceWithTaskDefinition, passing along the subnets and the engine container. And the resulting engine is what provides the load balancer. So if there's a problem with how that is built, it is going to be in or behind that function.
It looks like you added the subnets feature in https://github.com/aws/amazon-genomics-cli/pull/436 @markjschreiber. So you might be better able to figure this out than me.

There is really no value in using more than one subnet from the same AZ as it will not give any resilience in the case of an AZ failure and it won't give AWS Batch access to an increased pool of EC2s instances to choose from if the subnets are in the same AZ. @golharam , does the deployment succeed if you provide subnet-ids from unique AZs?

@golharam are you able to deploy different engine types using the same account? For example are you able to deploy one of the contexts from https://github.com/aws/amazon-genomics-cli/tree/main/examples/gatk-best-practices-project-miniwdl. If you are then we know this issue is limited to Toil rather than being a general issue.

I have not tried the other engine types.  The cloudformation error I'm getting is:
A load balancer cannot be attached to multiple subnets in the same Availability Zone (Service: AmazonElasticLoadBalancing; Status Code: 400; Error Code: InvalidConfigurationRequest; Request ID: 7c1d1c22-197d-4c3c-b386-333f71b596e1; Proxy: null)
So I don't think its specific to Toil, rather its the AWS resource (AWS::ElasticLoadBalancingV2::LoadBalancer) creation.  The subnets I'm specifying are in us-east-1d and us-east-1e which (to my understanding) are two different availability zones.  These are the same subnets I'm using for ElasticBeanStalk for deployed apps that are also load balanced.
I can still try another engine type, if you think its worth trying.

There is really no value in using more than one subnet from the same AZ as it will not give any resilience in the case of an AZ failure and it won't give AWS Batch access to an increased pool of EC2s instances to choose from if the subnets are in the same AZ. @golharam , does the deployment succeed if you provide subnet-ids from unique AZs?

Due to the way our AWS networks are set up, I only have access to us-east-1d and us-east-1e.  I tried to deploy to a single subnet, but got an error (I think) that I needed two for the load balancer.

us-east-1d and us-east-1e are indeed different availability zones. It's confusing that the ELB is not seeing this unless it is somehow trying to use the same subnet twice.  Could you double check that these two subnet IDs do indeed point to different AZs?
I know for certain that you can deploy a miniwdl engine to specific subnets in different AZs, if you can try that this would give us more diagnostic information.

The subnets do in fact point to different AZs.  I'm using those same subnets in other AWS applications that use Elastic LoadBalancer.
I'll try deploying a miniwdl, but that's useless to us as we use CWL.

Can you check if the subnet names listed in Systems Manager -> Parameter Store -> /agc/_common/InfraSubnets are the values you believe they should be and that all of these values are in a unique AZ? Can you also check that the value stored for the /agc/_common/NumInfraSubnets parameter matches the number of items in /agc/_common/InfraSubnets?
If they are not then they will need re-setting via agc account deactivate.
If they are then this might indicate a bug with AWS CDK which is used by AGC to generate the cloudformation templates that deploy the infrastructure.

They are both correct.  Happy to share details privately, if that will help.

Just to confirm that the listed subnets conform to the pattern of a subnet id such as subnet-07675blablablabla etc

The subnets we have are of the patten 'subnet-07ablaba'....8 digits.

My strong suspicion is that this might be a bug coming from CDK. In our AGC patch release (1.5.1) we did update to a more recent version of CDK. Possibly that has resolved it, but if not I would recommend filing an issue with the AWS CDK project https://github.com/aws/aws-cdk

https://github.com/aws/aws-cdk/issues/7131#issuecomment-1179396752
This seems to be the CDK behavior that is causing the problem. The NetworkLoadBalancedFargateService pulls ALL available subnets, which is a problem if you have multiple subnets in an AZ.

We do have multiple subnets, two of which we want to use for this. Not the rest.

My current workaround is (bleh) manually removing the unwanted subnets from the CFT and redeploying manually.

The the subnets from what template?   The VPC and subnets are created by our enterprise it group.
It's been at least a year since I tried using this toolkit but iirc, I specified the subnets I want to use in the config file I use with this toolkit.

From the CFT generated by agc context deploy. I download it from the CloudFormation console, update it, and then create another stack with the updated CFT.


Add Python as a Prerequisite in the readme

I got the following error below from running npm install. Installing python resolved the issue.
npm ERR! code 1
npm ERR! path C:\Users\_scrubbed__\node-stream\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe C:\Users\_scrubbed__\node-stream\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\ethan.melamed\\Development\\Tutorials\\node-stream\\node_modules\\node-gyp\\bin\\node-gyp.js',npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using<EMAIL_ADDRESS>npm ERR! gyp info using<EMAIL_ADDRESS>| win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:89:16npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:199:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:89:16npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:199:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:89:16npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:199:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\which\which.js:89:16npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\_scrubbed__\node-stream\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:199:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the
PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\_scrubbed__\node-stream\node_modules\node-gyp\lib\configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\ethan.melamed\DeveloPYTHON env variable.pment\Tutorials\node-stream\node_modules\node-gyp\lib\configure.js:509:16)            opment\Tutorials\node-stream\node_modules\no
npm ERR! gyp ERR! stack     at C:\Users\_scrubbed__\node-stream\node_modules\graceful-fs\polyfills.js:282:31                                        pment\Tutorials\node-stream\node_modules\nod
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:199:21)
npm ERR! gyp ERR! System Windows_NT 10.0.19042                                        m\node_modules\graceful-fs\polyfills.js:282:
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\ethan.melamed\\Development\\Tutorials\\node-stream\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="                                                                          med\\Development\\Tutorials\\node-stream\\no
npm ERR! gyp ERR! cwd C:\Users\_scrubbed__\node-stream\node_moass_cflags=" "--libsass_ldflags=" "--libsassdules\node-sass
npm ERR! gyp ERR! node -v v15.4.0                                                     dules\node-sass
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR!      C:\Users\ethan.melamed\AppData\Local\npm-cache\_logs\2021-01-19T16_54_17_050Z-debug.log

Added in https://github.com/waleedahmad/node-stream/commit/26495d997a7d7c62bb56d07d1b2f836e33cc3b09.


Code - OSS doesn't launch when using Dev Container locally or in codespaces

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.72.0 (also happens on Codespaces)
OS Version: Windows 11; Version 10.0.22621 Build 22621 (also happens on Codespaces)

I was trying to get a development VS Code OSS build running with dev containers.
The noVNC web interface shows this:

Maybe Christoph could advice how to setup the container to allow to run VS Code given his work in this field.

I was going to setup my dev environment the "normal" way, but then I noticed the dev container config and thought it would be cool to try that out :) Thanks in advance for helping!

@alexdima Not sure how to debug this, there is an empty event object coming from https://github.com/microsoft/vscode/blame/d735856fd9e156d46f11bff0a7cf5ed5c9610ddc/src/vs/loader.js#L654 for many or all script files.

Hi! I have the same issue
OS VERSION:
Edition	Windows 11 Pro
Version	22H2
Installed on	07/05/2022
OS build	22621.900
Experience	Windows Feature Experience Pack 1000.22638.1000.0
VS CODE:
commit a606c86868801bdd6a3f4ddd3ba6253d068d0ed5 (grafted, HEAD -> main, origin/main, origin/HEAD)

Is there anything that can be done about this or is there an ETA for when? I'd love to get started with solving issues for the VSCode project :D
Otherwise, I can also try to get the "usual" way to develop it locally to run but I'd love to use dev containers :)

Needs further investigation. We will also add a simpler configuration that should hopefully be more robust as part of https://github.com/microsoft/vscode/issues/170969.

@bpasero @deepak1556 The following is burried in all the other log messages, could this be the root cause? Interestingly the Insiders build works in the container.
[27833:0120/163520.451837:INFO:CONSOLE(163)] "Failed trying to load default language strings Error: [object Event]", source: vscode-file://vscode-app/workspaces/vscode/out/vs/nls.js (163)
[27833:0120/163520.451860:INFO:CONSOLE(276)] "Loading "vs/css!vs/workbench/workbench.desktop.main" failed", source: vscode-file://vscode-app/workspaces/vscode/out/vs/loader.js (276)
[27833:0120/163520.451876:INFO:CONSOLE(277)] "Error: Could not find vscode-file://vscode-app/workspaces/vscode/out/vs/workbench/workbench.desktop.main.css.", source: vscode-file://vscode-app/workspaces/vscode/out/vs/loader.js (277)
[27833:0120/163520.451894:INFO:CONSOLE(278)] "Here are the modules that depend on it:", source: vscode-file://vscode-app/workspaces/vscode/out/vs/loader.js (278)
[27833:0120/163520.451909:INFO:CONSOLE(279)] "===anonymous1===", source: vscode-file://vscode-app/workspaces/vscode/out/vs/loader.js (279)

I am not sure I follow, isnt this about running VSCode out of sources in a container? How is insiders related?

I don't know if it is relevant, but the problem when running out of sources doesn't reproduce with Insiders when run in the same container.

@deepak1556 I have run Git bisect on this:
1044556d8b2935bc5045128c2596d26cc1e6d1b2 is the first bad commit
Date:   Mon Mar 21 02:36:00 2022 +0900
chore: bump<EMAIL_ADDRESS>

Still encountering this from Code - OSS with X11/Wayland devcontainer via vscode remote ssh using windows desktop client:
https://github.com/microsoft/vscode/blob/b547b58db642cac86c6a869cd025713f4e2cac9f/.devcontainer/devcontainer.json#L2
See following stdout, however for X11 forwarding, the Code - OSS window never even renders on the local running Xserver.

stdout
node ➜ /workspaces/vscode $ bash scripts/code.sh
yarn run v1.22.19
$ node build/lib/electron
Done in 0.13s.
[21:14:52] Synchronizing built-in extensions...
[21:14:52] You can manage built-in extensions with the --builtin flag
[21:14:52] [github]<EMAIL_ADDRESS>✔
[21:14:52] [github]<EMAIL_ADDRESS>✔
[21:14:52] [github]<EMAIL_ADDRESS>✔
[1930:0410/211500.556127:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[1930:0410/211500.556217:ERROR:bus.cc(399)] Failed to connect to the bus: Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory
[1930:0410/211501.170293:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1930:0410/211501.170361:ERROR:bus.cc(399)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[1930:0410/211501.620011:WARNING:bluez_dbus_manager.cc(247)] Floss manager not present, cannot set Floss enable/disable.
[Error: ENOENT: no such file or directory, open '/workspaces/vscode/out/vs/code/electron-main/main.js'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'open',
  path: '/workspaces/vscode/out/vs/code/electron-main/main.js',
  phase: 'loading',
  moduleId: 'vs/code/electron-main/main',
  neededBy: [ '===anonymous1===' ]
}
[2087:0410/211505.871722:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[2174:0410/211508.581943:WARNING:sandbox_linux.cc(380)] InitializeSandbox() called with multiple threads in process gpu-process.
[2174:0410/211508.584937:ERROR:gpu_memory_buffer_support_x11.cc(44)] dri3 extension not supported.

Using the prebuilt Code - OSS with VNC devcontainer produces the same result for me as already reported.
https://github.com/microsoft/vscode/blob/b547b58db642cac86c6a869cd025713f4e2cac9f/.devcontainer/prebuilt/devcontainer.json#L2
Not being able to open the file descriptor wouldn't be related to docker's changing default for LimitNOFILE would it?

https://github.com/containerd/containerd/pull/7566
https://answers.ros.org/question/413528/odd-docker-roscoreroslaunch-delays-with-linux-kernel-61/?answer=413770#post-id-413770

My system info if at all helpful:
VS Code version: Code 1.77.1 (b7886d7461186a5eac768481578c1d7ca80e2d21, 2023-04-04T23:21:11.906Z)
OS version: Windows_NT x64 10.0.22000
Modes:
Sandboxed: No
Remote OS version: Linux x64 5.19.0-38-generic
Remote OS version: Linux x64 5.19.0-38-generic

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
31.82GB (21.35GB free)

Process Argv
--crash-reporter-id f6e42113-8e2e-4e15-9049-d5be30db15b8

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: foo.bar.baz

OS
Linux x64 5.19.0-38-generic

CPUs
AMD Ryzen 9

Memory (System)
125.70GB (84.67GB free)

VM
0%

Item
Value

Remote
Dev Container: Code - OSS with X11/Wayland @ ssh://foo.bar.baz

OS
Linux x64 5.19.0-38-generic

CPUs
AMD Ryzen 9

Memory (System)
125.70GB (84.67GB free)

VM
0%

Extensions (11)

Extension
Author (truncated)
Version

vscode-empy
dir
0.1.1

jupyter-keymap
ms-
1.1.0

remote-containers
ms-
0.288.0

remote-ssh
ms-
0.100.0

remote-ssh-edit
ms-
0.84.0

remote-wsl
ms-
0.77.0

vscode-remote-extensionpack
ms-
0.24.0

remote-explorer
ms-
0.4.0

remote-server
ms-
1.0.0

vscode-eslint
dba
2.4.0

resourcemonitor
mut
1.0.7

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012cf:30540253
pynewext54:30695312
azure-dev_surveyone:30548225
vscccc:30610679
nodejswelcome1:30587005
282f8724:30602487
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
2i9eh265:30646982
vsccsb:30705552
pythonb192cf:30669361
functionswalk:30687959
pythonms35:30701012
pythonclientmvcf:30708686


Remove support for Travis and Circle CI.

These are no longer used by any official Homebrew taps so nudge people towards GitHub Actions or Azure Pipelines instead.

May I suggest to factor out all CIs into their own files which are sourced when / if necessary? The fact that Homebrew no longer uses CircleCI / Travis is fine but it feels strange that one has to manually look for pieces that correspond to a particular CI.

May I suggest to factor out all CIs into their own files which are sourced when / if necessary?

I'm open to further refactoring of brew test-bot but don't plan on doing so in the near future myself. Also, given Jenkins support will 💀 hopefully in 2020 and GitHub Actions and Azure Pipelines perform nearly identically the divergence should be minimal.


HIE doesn't work with 'simple' yesod project

Hi,
I am trying to use HIE with the current VSCode extension. HIE is started, then it dies after a couple of seconds. VSCode retries 5 times and then gives up.
The project is created via
stack new yesod-test yesod-sqlite

I can run successfully run stack build in the project, but due to bugs in GHC and the chosen LTS I cannot run stack haddock.
So I updated to LTS 13.17 which uses GHC 8.6.4 and I cherry picked https://gitlab.haskell.org/ghc/ghc/merge_requests/276/commits which fixes the GHC bug that prevents haddock from running successfully. With my fixed GHC I can now run stack haddock and stack hoogle. Nevertheless the result is the same: hie dies 5 times and then the extension doesn't try anymore.
For completeness: when upgrading to LTS 13.17 I needed to upgrade a couple of the dependencies and I needed to add haskell-src-exts-1.21.0@sha256:02421cacaa48c055551b8e5796efc543301b7ea9527a38e1385403d2b85512fb as extra-dependency to the project's stack.yaml.
This is the log output in VSCode:
info: Found Stack project at: /Users/skress/tmp/yesod-test
Using hie version: Version <IP_ADDRESS> (2579 commits) x86_64 ghc-8.6.4
info: Using Stack project at: /Users/skress/tmp/yesod-test
Using hoogle db at: /Users/skress/.hoogle/default-haskell-5.0.17.hoo
info: Found Stack project at: /Users/skress/tmp/yesod-test
info: Using Stack project at: /Users/skress/tmp/yesod-test
DEBUG: regenerating cache: /Users/skress/tmp/yesod-test/.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/setup-config.ghc-mod.cabal-components (cache missing or unreadable)
DEBUG: writing memory cache: /Users/skress/tmp/yesod-test/.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/setup-config.ghc-mod.cabal-components
DEBUG: resolveEntrypoint:
       ["-i","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build","-isrc","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h"]
DEBUG: resolveEntrypoint:
       ["-i","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/yesod-test-tmp","-iapp","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/yesod-test-tmp","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen/cabal_macros.h"]
DEBUG: resolveEntrypoint: []
DEBUG: making sure autogen files exist
DEBUG: resolvedComponentsCache: files changed: none
DEBUG: resolveGmComponent:
       ["-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h"]
DEBUG: resolveGmComponent:
       ["-i","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/yesod-test-tmp","-iapp","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/yesod-test-tmp","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/yesod-test/autogen/cabal_macros.h","-XHaskell2010","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h"]
DEBUG: resolveGmComponent:
       ["-i","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build","-isrc","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen","-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen","-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h","-XHaskell2010","-optP-include","-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h"]
DEBUG: regenerating cache: .stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/setup-config.ghc-mod.resolved-components (cache missing or unreadable)
DEBUG: writing memory cache: .stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/setup-config.ghc-mod.resolved-components
VOMIT: hide all packages(ignore .ghc.environment):: DontLoadGhcEnvironment
VOMIT: Using the following mapped files: "/Users/skress/tmp/yesod-test/src/Application.hs"
VOMIT: Using the following mapped files: "/Users/skress/tmp/yesod-test/src/Application.hs"
VOMIT: Initializing GHC session with following options: "-fbuilding-cabal-package" "-O" "-outputdir" ".stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-odir" ".stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-hidir" ".stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-stubdir" ".stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-i" "-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-isrc" "-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen" "-i.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen" "-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/global-autogen" "-I.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build" "-optP-include" "-optP.stack-work/dist/x86_64-osx/Cabal-<IP_ADDRESS>/build/autogen/cabal_macros.h" "-this-unit-id" "yesod-test-0.0.0-6DjXNe20DleW7CMppajBn" "-hide-all-packages" "-Wmissing-home-modules" "-no-user-package-db" "-package-db" "/Users/skress/.stack/snapshots/x86_64-osx/lts-13.17/8.6.4/pkgdb" "-package-db" "/Users/skress/tmp/yesod-test/.stack-work/install/x86_64-osx/lts-13.17/8.6.4/pkgdb" "-package-id" "aeson-<IP_ADDRESS>-9cSxVTttZ9O9gQQeYMFLor" "-package-id" "base-<IP_ADDRESS>" "-package-id" "bytestring-<IP_ADDRESS>" "-package-id" "case-insensitive-<IP_ADDRESS>-GGYU9CY9cs88wywgwHVKC6" "-package-id" "classy-prelude-1.5.0-9ua77cq6KAUIhfNv7qqpNw" "-package-id" "classy-prelude-conduit-1.5.0-E7fRBtKKtGQ8ttlUwXVnpL" "-package-id" "classy-prelude-yesod-1.5.0-1TnZAq8ZUafHCtlvaf8Ok0" "-package-id" "conduit-<IP_ADDRESS>-9dJdFSy5i9yEMUCfUtIeMw" "-package-id" "containers-<IP_ADDRESS>" "-package-id" "data-default-<IP_ADDRESS>-48AlmAL5bp0K1GegiZac8Q" "-package-id" "directory-<IP_ADDRESS>" "-package-id" "fast-logger-2.4.15-5ogIBC4IeSf8znicURd5U9" "-package-id" "file-embed-0.0.11-4IE3sw0bCLQ7xXwEGMUYke" "-package-id" "foreign-store-0.2-FCKu23zJ1MhKEqdHalRzFz" "-package-id" "hjsmin-<IP_ADDRESS>-7ujCE5A9usgHO0U0zlM90P" "-package-id" "http-client-tls-<IP_ADDRESS>-4Oj3XfLIB1u1YcwkJvsJyQ" "-package-id" "http-conduit-2.3.7-7GcjDE8EjpuB5TglywFQE3" "-package-id" "monad-control-<IP_ADDRESS>-MU9UBTCjrb6B3h9cgBZmE" "-package-id" "monad-logger-0.3.30-GEWCAHrLi3C16XdkA2qgQQ" "-package-id" "persistent-2.9.2-8ZsEOLdPGVyMpKk9TbNm6" "-package-id" "persistent-sqlite-2.9.3-GCcpwQxiUmBKqTffmjVCC" "-package-id" "persistent-template-2.5.4-1p3PyRQtkwjA8WlmYjgfLg" "-package-id" "safe-0.3.17-43oyx4B630gDZMbTh3Ttji" "-package-id" "shakespeare-2.0.20-GgZsrpU3qRD7IcOFzA7qLZ" "-package-id" "template-haskell-<IP_ADDRESS>" "-package-id" "text-<IP_ADDRESS>" "-package-id" "time-<IP_ADDRESS>" "-package-id" "unordered-containers-<IP_ADDRESS>-BRWkoSTuML1cQdpep6Oin" "-package-id" "vector-<IP_ADDRESS>-AoZ9EwUsgIW1yrOc105QXH" "-package-id" "wai-3.2.2-ItOaIlhStjHFO5Ka82Wde" "-package-id" "wai-extra-3.0.25-DZTrSe3T9l0HrwTFrBnu0y" "-package-id" "wai-logger-2.3.4-5sEZlyZhmcYAw79Hj8qvs" "-package-id" "warp-3.2.26-AFIGCLCiaz23mDsL3PYZV1" "-package-id" "yaml-<IP_ADDRESS>-KC6yhv4lzea9KrxGHmNBH5" "-package-id" "yesod-1.6.0-2EAJfcvA8rgCwtAJe48cVL" "-package-id" "yesod-auth-1.6.6-5h65fgi6e2A95CrbtzJi7j" "-package-id" "yesod-core-1.6.14-NXRwhm3esn34tB0knb3g1" "-package-id" "yesod-form-1.6.4-Jf50ecrTMQwLDv7EbLXrL6" "-package-id" "yesod-static-<IP_ADDRESS>-6AcQgmxsoY1G9JLY1pgT7q" "-XHaskell2010" "-Wall" "-fwarn-tabs" "-O2" "-Wno-missing-home-modules" "-O0" "-fno-warn-missing-home-modules" "-Wwarn"
DEBUG: initSession: Session not initialized, creating new one
VOMIT: Using the following targets: "/Users/skress/tmp/yesod-test/src/Application.hs" "/Users/skress/tmp/yesod-test/src/Application.hs"
DEBUG: loadTargets:
       Loading: /private/var/folders/rx/6cf2s8fd33z4pt3xm_lkgrsc0000gn/T/ghc-mod42844/Application42843-0.hs
DEBUG: loadTargets: filterModSums: True
info: loadTargets:
      Target needs interpeter, switching to LinkInMemory/HscInterpreted. Perfectly normal if anything is using TemplateHaskell, QuasiQuotes or PatternSynonyms.
hie-wrapper: callProcess: /Users/skress/.local/bin/hie-8.6.4 "--lsp" "-d" "-l" "/var/folders/rx/6cf2s8fd33z4pt3xm_lkgrsc0000gn/T/hie.log" "--vomit" (exit -11): failed
[Info  - 12:36:26 PM] Connection to server got closed. Server will restart.

This is part of the debug output of hie:
2019-04-25 12:36:20.021277 [ThreadId 4] - run entered for hie-wrapper(hie-wrapper) Version <IP_ADDRESS> (2579 commits) x86_64 ghc-8.6.4
2019-04-25 12:36:20.022045 [ThreadId 4] - Current directory:/Users/skress/tmp/yesod-test
2019-04-25 12:36:20.501057 [ThreadId 4] - Cradle directory:/Users/skress/tmp/yesod-test
2019-04-25 12:36:20.501527 [ThreadId 4] - Using stack GHC version
2019-04-25 12:36:20.934247 [ThreadId 4] - Project GHC version:8.6.4
2019-04-25 12:36:20.934341 [ThreadId 4] - hie exe candidates :["hie-8.6.4","hie-8.6","hie"]
2019-04-25 12:36:20.934593 [ThreadId 4] - found hie exe at:/Users/skress/.local/bin/hie-8.6.4
2019-04-25 12:36:20.934635 [ThreadId 4] - args:["--lsp","-d","-l","/var/folders/rx/6cf2s8fd33z4pt3xm_lkgrsc0000gn/T/hie.log","--vomit"]
2019-04-25 12:36:20.93466 [ThreadId 4] - launching ....

2019-04-25 12:36:20.951212 [ThreadId 4] - Using stack GHC version
2019-04-25 12:36:21.379566 [ThreadId 4] - Run entered for HIE(hie-8.6.4) Version <IP_ADDRESS> (2579 commits) x86_64 ghc-8.6.4
2019-04-25 12:36:21.379686 [ThreadId 4] - Current directory:/Users/skress/tmp/yesod-test
2019-04-25 12:36:21.379716 [ThreadId 4] - Enabling --vomit for ghc-mod. Output will be on stderr
2019-04-25 12:36:21.37977 [ThreadId 4] -

haskell-lsp:Starting up server ...
2019-04-25 12:36:21.379976 [ThreadId 4] - ---> {"jsonrpc":"2.0","id":0,"method":"initialize","params":{"processId":42805,"rootPath":"/Users/skress/tmp/yesod-test","rootUri":"file:///Users/skress/tmp/yesod-test","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges"
:true},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"executeCommand":{"dynamicRegistration":tr
ue},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"]}},"definition":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]},"hierarchicalDocumentSymbolSupport":true},"codeAction":{"dynamicRegistration":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true},"documentLink":{"dynamicRegistration":true},"typeDefinition":{"dynamicRegistration":true},"implementation":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true}}},"trace":"off","workspaceFolders":[{"uri":"file:///Users/skress/tmp/yesod-test","name":"yesod-test"}]}}
2019-04-25 12:36:21.38096 [ThreadId 4] - haskell-lsp:initializeRequestHandler: setting current dir to project root:/Users/skress/tmp/yesod-test
2019-04-25 12:36:21.381375 [ThreadId 10] - ****** reactor: top of loop
...

... and these are the last lines of the output:
2019-04-25 12:36:46.853527 [ThreadId 10] - ****** reactor: got message number:4
2019-04-25 12:36:46.85359 [ThreadId 10] - reactor:got CodeActionRequest:RequestMessage {_jsonrpc = "2.0", _id = IdInt 2, _method = TextDocumentCodeAction, _params = CodeActionParams {_textDocument = TextDocumentIdentifier {_uri = Uri {getUri = "file:///Users/skress/tmp/yesod-test/src/Application.hs"}}, _range = Range {_start = Position {_line = 42, _character = 18}, _end = Position {_line = 42, _character = 18}}, _context = CodeActionContext {_diagnostics = List [], only = Nothing}}}
2019-04-25 12:36:46.853644 [ThreadId 10] - ****** reactor: top of loop
2019-04-25 12:36:46.853669 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.853697 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.853717 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.85374 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.853758 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.853779 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.8538 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.853915 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.853943 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.853967 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.853985 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.854006 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.854024 [ThreadId 13] - ideDispatcher: got request 4 with id: IdInt 2
2019-04-25 12:36:46.854048 [ThreadId 13] - ideDispatcher: top of loop
2019-04-25 12:36:46.854105 [ThreadId 6] - <--2--{"result":[],"jsonrpc":"2.0","id":2}

The full hie.log can be seen here: https://gist.github.com/skress/d16c5a7e65086b86dee2170c4791e2d4
Using hie with a project generated via stack new i.e. not using any stack template seems to work.
Any ideas what might cause this problem?

I have removed everything and restarted from scratch (and did not patch GHC again). As the problems still persist, I've tried to build hie with profiling enabled. Using the --profile option did not work (the compilation failed), I did install hie as follows:
stack install --stack-yaml stack-8.6.4.yaml --work-dir .stack-work-profile --library-profiling --force-dirty
stack install --stack-yaml stack-8.6.4.yaml --work-dir .stack-work-profile --executable-profiling

I switched to a custom hie wrapper script which runs hie like ~/.local/bin/hie "$@" +RTS -xc  .
Using the VSCode plugin with a new project created via stack --resolver lts-13.15 new still works. My yesod project still fails.
The first problem was that dynamic libraries could not be loaded. The error was:
Got error while processing diagnostics: <command line>: can't load .so/.DLL for: libHSblaze-html-<IP_ADDRESS>-E0enfQtU1ZTDNQ8G8pIpJp.dylib (dlopen(libHSblaze-html-<IP_ADDRESS>-E0enfQtU1ZTDNQ8G8pIpJp.dylib, 5): image not found)

Please note the ending of that file name ...-E0enfQtU1ZTDNQ8G8pIpJp.dylib. That file is indeed not there, what is there are files which have the ghc version included, i.e. ...-E0enfQtU1ZTDNQ8G8pIpJp-ghc8.6.4.dylib.
I have absolutely no idea why it's that way. And I don't know why hie works with the simple stack project.
So I simply went to ~/.stack/snapshots/x86_64-osx/lts-13.15/8.6.4/lib/x86_64-osx-ghc-8.6.4 and created symlinks for all .dylib files to remove the -ghc8.6.4part. Additionally I needed to add that folder to DYLD_LIBRARY_PATH in my custom hie wrapper script.
Now I do not get the problem with the dynamic libraries anymore, but for the yesod project hie still fails with this error:
hie: internal error: PAP object entered!
    (GHC version 8.6.4 for x86_64_apple_darwin)
    Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Any ideas what to try next? (Filing a GHC bug doesn't seem to be a good option for now ...)

@skress Is the project public? It is possible this is a GHC bug though.

It is not a 'project' at all. All I did was to create a new yesod project from an existing template:
stack new yesod-test yesod-sqlite

That project gets created with lts-12.26 with a rather old ghc which has at least two bugs which prevents stack haddock from running, so I switched to lts-13.15 and changed a couple version boundaries for the project's dependencies. That's all I did. I did not change any line of code ...

Thanks for the detailed bug report. Sorry that HIE didn't work for you so far. Someone will look into this issue and try to reproduce it. It would be good to isolate whether this only happens on OSX for example.

I could reproduce it on NixOS, it didnt work either, so doesnt seem like OSX related problem.

Just to pipe in with a "Me too!": At first I thought the problem was with SublimeText and the Windows implementation of pipes. I tried hie-8.6.4 under Linux on VirtualBox, same problem. It seems to take about three RPCs before hie-8.6.4 craps out. It's almost as if hie's stdout got closed because debugging keeps logging responses.
This particular problem showed up about two weeks ago, and I've been trying to diagnose it when I can free cycles.

@bscottm Can you open a new issue please? It isn't clear to me that your problem is related to this at all.
In my experience errors such as
<command line>: can't load .so/.DLL for: libHSblaze-html-<IP_ADDRESS>-E0enfQtU1ZTDNQ8G8pIpJp.dylib (dlopen(libHSblaze-html-<IP_ADDRESS>-E0enfQtU1ZTDNQ8G8pIpJp.dylib, 5): image not found)

mean that the GHC that HIE was built with and version of GHC which build the shared object is different in some way. The one case I have seen this in particular is if you want to profile HIE you have to build it with a profiled version of GHC and then also have to build the project you want to load into HIE with profiling enabled.
In this case, do you have profiling enabled in your project?
I think creating symlinks and modifying the DYLD_LIBRARY_PATH isn't a way to fix it.

Can you also try building HIE so that the final executable is dynamically linked?

I changed the way how to compile hie with profiling support (see #1214). Now I did not get any dylib problems like before, so it seems to have worked better. The net result is still the same, hie works with a simple stack new testproject but it fails with stack new yesodtest yesod-sqlite, but I do not get a GHC error anymore, instead hie terminates with a segmentation fault.
These are the last lines of the VSCode output:
*** Exception (reporting due to +RTS -xc): (THUNK), stack trace:
  GhcMod.Target.loadTargets,
  called from GhcMod.Target.runGmlTWith',
  called from GhcMod.ModuleLoader.getModulesGhc,
  called from GhcMod.ModuleLoader.getModulesGhc',
  called from GhcMod.Error.gcatches,
  called from Haskell.Ide.Engine.Plugin.GhcMod.setTypecheckedModule.\,
  called from Haskell.Ide.Engine.PluginUtils.pluginGetFile,
  called from Haskell.Ide.Engine.Plugin.GhcMod.setTypecheckedModule,
  called from Haskell.Ide.Engine.Transport.LspStdio.requestDiagnosticsNormal.reqg,
  called from Haskell.Ide.Engine.Transport.LspStdio.requestDiagnosticsNormal,
  called from Haskell.Ide.Engine.Transport.LspStdio.requestDiagnostics,
  called from Haskell.Ide.Engine.Transport.LspStdio.reactor.loop,
  called from Haskell.Ide.Engine.Transport.LspStdio.reactor,
  called from Haskell.Ide.Engine.LSP.Reactor.runReactor,
  called from Haskell.Ide.Engine.Transport.LspStdio.run.dp.react,
  called from Haskell.Ide.Engine.Transport.LspStdio.run.dp.reactorFunc,
  called from Haskell.Ide.Engine.ModuleCache.withCradle,
  called from Haskell.Ide.Engine.ModuleCache.runActionWithContext,
  called from Haskell.Ide.Engine.Scheduler.ghcDispatcher.runner,
  called from Haskell.Ide.Engine.Scheduler.ghcDispatcher.runWithCallback,
  called from Haskell.Ide.Engine.Scheduler.ghcDispatcher.runIfVersionMatch,
  called from Haskell.Ide.Engine.Scheduler.ghcDispatcher,
  called from Control.Monad.Trans.Journal.runJournalT,
  called from GhcMod.Monad.runGhcModT',
  called from GhcMod.Monad.withGhcModEnv',
  called from GhcMod.Monad.withGhcModEnv,
  called from Control.Monad.Trans.Control.defaultLiftWith,
  called from Control.Monad.Trans.Control.defaultLiftBaseWith,
  called from Control.Monad.Trans.Control.control,
  called from Control.Monad.Trans.Control.liftBaseOp,
  called from GhcMod.Monad.runGmOutT',
  called from GhcMod.Monad.runGmOutT,
  called from GhcMod.Monad.runGhcModT,
  called from Haskell.Ide.Engine.PluginsIdeMonads.runIdeGhcM,
  called from Haskell.Ide.Engine.Scheduler.runScheduler.runGhcDisp,
  called from Control.Concurrent.Async.race,
  called from Control.Concurrent.Async.race_,
  called from Haskell.Ide.Engine.Scheduler.runScheduler,
  called from Haskell.Ide.Engine.Transport.LspStdio.run.dp,
  called from Language.Haskell.LSP.Core.handleMessage,
  called from Language.Haskell.LSP.Control.runWithHandles,
  called from Language.Haskell.LSP.Control.run,
  called from Haskell.Ide.Engine.Transport.LspStdio.run,
  called from Haskell.Ide.Engine.Transport.LspStdio.lspStdioTransport,
  called from Main.run,
  called from Main.main
/Users/skress/bin/my-hie-wrapper.sh: line 5:  5944 Segmentation fault: 11  $HOME/.local/bin/hie "$@" +RTS -xc
[Error - 8:34:39 PM] Connection to server got closed. Server will not be restarted.

This is worrying. I'm not sure how we can debug this though. I will try to reproduce this on linux later this week.

Not sure, but the last error mentions ghcmod and hie replaced it recently so maybe it could be fixed or at least the error will be different, @skress could you try with lastest master?

Thanks for the ping. I've tried it the last couple of hours with different settings/configurations. stack new yesodtest yesod-sqlite creates a new Yesod project that uses LTS-12.26 (GHC 8.4.4). I've used that config as well as an update to LTS-14.16 (GHC 8.6.5).
I am using VS Code with the plugin in version 0.0.31 (latest published version).
When I load the project the status bar stops at "Initializing Stack project: Settings.StaticFiles" and the logfile shows this error:
2020-01-03 09:21:38.545667 [ThreadId 5] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":0.16666666666666666,"message":"Paths_yesodtest"},"token":0},"method":"$/progress"}
2020-01-03 09:21:38.582696 [ThreadId 5] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":0.25,"message":"Settings"},"token":0},"method":"$/progress"}
2020-01-03 09:21:38.582867 [ThreadId 5] - <--2--{"jsonrpc":"2.0","params":{"value":{"kind":"report","percentage":0.3333333333333333,"message":"Settings.StaticFiles"},"token":0},"method":"$/progress"}
hie-8.6.5: loadObj: /private/var/folders/tj/8mwsk9sd6kb0b42k38t59_7r0000gn/T/ghc76435_0/ghc_16.o: file doesn't exist
2020-01-03 09:21:38.615668 [ThreadId 29] - Scheduler thread exited unexpectedly: loadObj "/private/var/folders/tj/8mwsk9sd6kb0b42k38t59_7r0000gn/T/ghc76435_0/ghc_16.o": failed

You can find the full log here: hie-2020-01-03.log
HIE doesn't crash, but when hovering over anything in the editor I only get "Loading ..." and VSCode's status bar still shows  "Initializing Stack project: Settings.StaticFiles".

Thank you for testing it again and for the detailed report, i will try to reproduce

I tried it on windows and it seems to work fine, so it could be macos specific.
does the missing file path make some sense for you? does hie wroks for simple stack based projects?

I can confirm that it also works for me on windows (tried it in a VM). On macOS I've tried the stack "servant" template and it works fine.
When opening a .hs file in the servant project a temporary folder (e.g. /private/var/folders/rx/6cf2s8fd33z4pt3xm_lkgrsc0000gn/T/ghc18597_0) gets created and within that folder files like ghc_5.o were created. Similar folders are created when running stack ghci in those projects.
For the yesod-simple project the error is loadObj "/private/var/folders/rx/6cf2s8fd33z4pt3xm_lkgrsc0000gn/T/ghc19251_0/ghc_14.o": failed but the ghc19251_0 folder does not even exist.


Add support for unknown fields

Add UnknownFieldSet type and UnknownFieldHandler
interface, and use it. Currently it's only supported for
decoding/encoding into a map, and only with the same
handle.
This implementation has the nice guarantee that
unknown fields are passed through, so that encoding with
unknown fields produces the same result as if the fields
were known.
Also add test.

Still working on this, but I think this is ready for an initial look. I don't think we need to implement this for all cases for our purposes yet.

Looks great overall!  Obviously we'll probably need to address your inline comments to get this upstreamed, if we want to try for that.

Okay, this is ready for a real look.

Looks great, thanks!


Modernize repository

Updates the pre-commit hooks and CircleCI primary image to be current
Adds the pre-commit terraform-docs markers to the README so they are auto-generated

👍


The .zip file build is conflicting on every change

The .zip file always will go into conflict, because doesn't exist a .gitattributes setting this .zip file to binary. So, git try to merge this .zip file and this cause a conflict.

We need to change the .zip releases method, at every change we have to refresh the .zip file. In this scenary if has much opened pull requests, all of then will be conflicting


[TimeSeriesCard] alert markup never actually marks up in the tooltip

What package is this for?

[x] React
[ ] Angular

Describe the bug
https://dashboard-dev.connectedproducts.internetofthings.ibmcloud.com/explore/robot_alert_table/entity/73000

You can see that the alert isn't added to the time series tooltip markup correctly any more.  Perhaps this is due to a carbon-charts upgrade

:tada: This issue has been resolved in version 2.115.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DOCS-260 - Fix step in the Azure Event Hubs Source article

Purpose of this pull request
This pull request updates this section:
/docs/send-data/hosted-collectors/cloud-to-cloud-integration-framework/azure-event-hubs-source/#vendor-configuration
Select the type of change

[x] Minor Changes - Typos, formatting, slight revisions
[ ] Update Content - Revisions, updating sections
[ ] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - .clabot, version updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

Ticket (if applicable)
DOCS-260

I can't close DOCS-260 until this pull request is merged:
https://github.com/SumoLogic/sumologic-documentation/pull/4123


Cartography should be more resilient with data dependencies

Feature request template
Title: Cartography should be more resilient with data dependencies
Description:

Describe your idea.  Please be detailed.  If a feature request, please
describe the desired behavior, what scenario it enables, and how it
would be used.

Described in this Twitter thread, but I'll reproduce here:
We sync data from many sources, and this happens in a serialized way: e.g. an AWS API can fail and crash the whole sync so we won't get GCP data. This is not ideal, and we need to pick a better long term approach.
Our sync could look like a directed-acyclic graph of dependencies. E.g. we need to load S3 buckets before we load S3 ACLs, but neither are needed to load GCP instances, so an AWS sync could run in parallel with a GCP sync to make things more speedy and reliable.
There's lots of tech we could use to do this (a hacky Makefile? Apache Airflow?), and we'd also need to research and test if Neo4j's IO can handle what we throw at it.
[optional Relevant Links:]

Any extra documentation required to understand the issue.

Just realized that this is a dupe of #166 so I'm going to close this one and keep the other one open.


enable_vpc_dns_server spoke_gateway attribute not exposed

Hello Dennis,
The spoke gateway's enable_vpc_dns_server attribute is not exposed and it defaults to false, however if you enable distributed FQDN filtering on the local spoke gateway, the controller sets this value to true. Any further terraform runs that try to set it back to false, fail, becuse you cannot set it to false if you have FQDN filtering configured on the gateway.
The ask is to expose this parameter of the spoke gateway in the module.
Thanks,
Adam

Added support for this in 1.6.4!
Thanks for raising this.
Dennis


Updated Deployment Instructions

I am trying to deploy this with HA and have looked through the initial supported Whirlpool Appliances but am unable to. How do I deploy this? I can't pull this through HACS so I think I'm missing something to connect the dots.
Can the readme be updated with better documentation or can someone help me and I can pull to update the readme after I have it deployed.

This library is part of the Whirlpool integration that is already stock on HA.

Ovens are not supported by the integration yet

Ovens are not supported by the integration yet

So how can one use oven.py as seen in the list of files?

Ovens are not supported by the integration yet

So how can one use oven.py as seen in the list of files?

Someone needs to integrate it on HA side.


Set Up Kanban Board - Final Capstone Project || Futuristic Transportation

Futuristic Transportation:
Link to Github Project.
We are 4 members in our team: @Luiscarlosvd, @Alejuda, @mrcbq and @enmanuelbayen.

Hi @Luiscarlosvd
Good job so far!
There are some issues that you still need to work on to go to the next project but you are almost there!
To highlight:

All tasks have been assigned✔

Required Changes ♻

[ ] According to the project requirements:

Nevertheless, some tasks do not have descriptions, like this one:

Therefore, kindly, ensure all tasks have descriptions in order to meet this particular requirement.

[ ] Also, according to the project requirements:

At the time of this review, these are the pointings:
@mrcbq 27
@Luiscarlosvd 21
@enmanuelbayen 28
@Alejuda 21
As you can see, @Luiscarlosvd and @Alejuda have too few points as compared to @mrcbq and @enmanuelbayen.  The rule is that no team member may have more than 5 points than any other.  Therefore, the limit is 5 points difference.
Kindly, make it so all members have less than 5 points difference as compared to each other.
That way, we will meet this other particular requirement.
tip:  Play with the numbers and/or reassign tasks in order to meet the spec.
Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Add description for all the cards. ✔
All members have less than 5 points difference as compared to each other. ✔

Hi @Luiscarlosvd,
Wow, you did it 🎉

Thank you for implementing the changes requested by the previous reviewer 💪 🥇 ㊗
Well done!
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
To highlight

All cards now have descriptions, and the pointings are equal according to the spec✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Extract func sig from more kinds of inputs

Can now call "name" with
"name"
"function name() view returns (string)"
"name() view returns (string)"
or other variants

PR-Codex overview
The focus of this PR is to enhance contract function handling by extracting canonical signatures and improving error handling.
Detailed summary

Added logic to extract canonical signatures from methods
Improved error handling for function not found in contract ABI
Refactored function retrieval logic based on method signature

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Codecov Report
Attention: Patch coverage is 2.00000% with 49 lines in your changes missing coverage. Please review.

Project coverage is 80.95%. Comparing base (1899360) to head (cf2af69).

Files
Patch %
Lines

Thirdweb/Thirdweb.Contracts/ThirdwebContract.cs
2.00%
46 Missing and 3 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #56      +/-   ##
==========================================
- Coverage   82.17%   80.95%   -1.23%
==========================================
  Files          25       25
  Lines        3243     3292      +49
  Branches      428      436       +8
==========================================
  Hits         2665     2665
- Misses        489      535      +46
- Partials       89       92       +3

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Android] Screenshare from iOS is crashing a test app of Android tablet

Environment
Flutter version: 3.6.1 https://github.com/DolbyIO/comms-sdk-flutter/tree/release/3.6.1
Client Platform: Flutter test app.
Description/Steps-to-reproduce:
-Install the QA test app on Android tablet and iOS phone
-Join to the conference with both devices
-Start screen share on iOS
Expected result:
The Android user is still in the conference
Actual result:
Test app on Android user crashes. This scenario DOES NOT reproduce when Android device is a smartphone
Devices:
DV-WRO-IOS116 iPhone SE 2nd (2020) + iOS 15.5
DV-WRO-SAM96 Samsung Tab S8 + Android 12
DV-WRO-SAM98 Samsung Tab S8 Ultra + Android 12

Fixed by @azduda


How to train a ChatRWKV model on domain-specific data

Hi! Thank you for your wonderful work!
I want to train a QA bot on my own data, and I guess I shuold train a RWKV-LM v4 model and load this model in chat.py(by change the model path).
Am I doing right? Do you have any suggestions?
Thank you very much

Hi you can finetune a RWKV-v4 model using v4neo code in RWKV-LM. Read the "large corpus" part for guide.


Devise setup - pending specs

Yup, exactly re admin. I think we could start with a boolean and go from
there.
On Tue, Mar 31, 2020, 9:14 AM lasitha<EMAIL_ADDRESS>wrote:

@exbinary approved this pull request.
Looks great! 🚀
As i think it through, since users can register, we will need some kind of
admin role, yeah? Otherwise anyone who registers will have backend access?
I think it would be great to get some request specs in place. They
wouldn't need to cover all cases since we don't need to test devise, but
just major paths to ensure everything is integrating correctly. That said,
it might be prudent to merge this and create a separate issue to backfill
specs?
In app/views/layouts/_notices_and_alerts.html.erb
https://github.com/maebeale/mutual-aid/pull/16#discussion_r400888400:

×

I don't think we have bootstrap integrated yet, so checking my
understanding that this dismiss button won't work yet, yeah?
Similarly for the css classes involved here; they won't have an impact
yet, yeah?
In config/initializers/devise.rb
https://github.com/maebeale/mutual-aid/pull/16#discussion_r400894921:

The time the user will be remembered without asking for credentials again.

config.remember_for = 2.weeks

Invalidates all the remember me tokens when the user signs out.

config.expire_all_remember_me_on_sign_out = true

If true, extends the user's remember period when remembered via cookie.

config.extend_remember_period = false

Options to be passed to the created cookie. For instance, you can set

secure: true in order to force SSL only cookies.

config.rememberable_options = {}

==> Configuration for :validatable

Range for password length.

config.password_length = 6..128

Maybe bump this up to 8?
In config/initializers/devise.rb
https://github.com/maebeale/mutual-aid/pull/16#discussion_r400896411:

:none            = No lock strategy. You should handle locking by yourself.

config.lock_strategy = :failed_attempts

Defines which key will be used when locking and unlocking an account

config.unlock_keys = [:email]

Defines which strategy will be used to unlock an account.

:email = Sends an unlock link to the user email

:time  = Re-enables login after a certain amount of time (see :unlock_in below)

:both  = Enables both strategies

:none  = No unlock strategy. You should handle unlocking by yourself.

config.unlock_strategy = :both

Number of authentication tries before locking an account if lock_strategy

is failed attempts.

config.maximum_attempts = 20

Is 20 too many? I don't have an opinion on this, just wondering.
In config/initializers/devise.rb
https://github.com/maebeale/mutual-aid/pull/16#discussion_r400898367:

==> Mountable engine configurations

When using Devise inside an engine, let's call it MyEngine, and this engine

is mountable, there are some extra configurations to be taken into account.

The following options are available, assuming the engine is mounted as:

mount MyEngine, at: '/my_engine'

The router that invoked devise_for, in the example above, would be:

config.router_name = :my_engine

When using OmniAuth, Devise cannot automatically set OmniAuth path,

so you need to do it manually. For the users scope, it would be:

config.omniauth_path_prefix = '/my_engine/users/auth'

==> Turbolinks configuration

I think turbolinks might be enabled by default in stock rails 6?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/maebeale/mutual-aid/pull/16#pullrequestreview-384700871,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2BMBLLI4JSF2HCQK2QGPTRKHUCHANCNFSM4LXQDE7A
.


Embed data files

closes:#699
Embeds data files so the hlint executable is self contained.
This allows for easy packaging with stack and cabal.
And enables hlint to be used as a library without shipping data files.
From https://github.com/ndmitchell/hlint/issues/620#issuecomment-570777653

ndmitchell would you reconsider the TH approach?
It's not just nicer for using hlint as a library it's nicer when using the executable too. I'm on a 256G laptop and I delete ~/.stack when ever it gets past 10G. I install hlint using stack install, so when I delete ~/.stack hlint has to be rebuilt, just to get 3 data files.
Here's a commit using file-embed. The TH is relegated to one file. The executable actually gets slightly smaller 48117184 to 48020968 (GHC 8.8).

TemplateHaskell is confined to src/EmbedData.hs. If it causes a problem on a particular platform, an alternative module could be conditionally compiled with the old readFile $ cmdDataDir </> "default.yaml" method.


Drop oss-parent from pom

Remove oss-parent because of it's deprecation:
http://central.sonatype.org/pages/apache-maven.html#deprecated-oss-parent
@ibaca Do you see any problems for release goals when removing it?

hehe yep, I need to apply this to rxgwt too... we will see if I detect any problem a apply/comment it here. If you want, just wait and when I apply it to my lib I just do the same here 👍.

Now it is possible to deploy directly to maven central without the need of manually close and release using the oss.sonaype.org nexus web app. But, I have not used this strategy because it requires the plugin and because hehe the manual process adds some "safety" to the process, so forces you to review if the generated artifacts are the expected one or maybe just drop the release because you see something weird in the log. Not sure, you can try the new strategy just adding this and removing the staging distribution management entry.
<plugin>
  <groupId>org.sonatype.plugins</groupId>
  <artifactId>nexus-staging-maven-plugin</artifactId>
  <version>1.6.7</version>
  <extensions>true</extensions>
  <configuration>
     <serverId>ossrh</serverId>
     <nexusUrl>https://oss.sonatype.org/</nexusUrl>
     <autoReleaseAfterClose>true</autoReleaseAfterClose>
  </configuration>
</plugin>

More info here http://central.sonatype.org/pages/apache-maven.html

Thanks, I will try it with the next release.


AES self test unconditionally runs 192-bit encryption/decryption

The AES self test unconditionally runs encryption and decryption operations with AES 192 bits. The feature is not required to be implemented when using alternative AES implementations. For example, when MBEDTLS_AES_ALT is defined and the hardware accelerator does not support AES 192, the self test will still fail.

ARM Internal Ref: IOTSSL-1443


fix hipFuncGetAttributes with VDI runtime

Fix wrong assignment of function attributes returned by hipFuncGetAttributes.
I am not sure if master-next is the right target, if not, please advise (or re-target).

Closing all existing pull requests that do not target the develop branch. In case this pull request is still valid, please rebase your changes against develop branch and resubmit.


mutatingwebhook with invalid CA after helm chart reinstall and pod restart

What commit ID of Portieris did you experience the problem with?
latest
What went wrong?
after redpolyment the helm chart mutating web hook is not fixed with the new CA in the CM
What should have happened differently?
mutatingwebhook must be updated with the new CA
How can it be reproduced?
just redeploy the portieris so new certificates are generated and restart the pods
Any other relevant information
dumoing the CM and applying the config fixes the problem but that should be automated

Hi, thanks for the report. I think the issue here is that the jobs to create the webhooks only run post-install. If we make the hook run post-upgrade as well, I think that it'll pick up these changes as expected. I'm not sure what side effects that'll have, if any, so it'll need testing.
I'd expect that portieris/helm/portieris/templates/crd-creation/create-crds.yaml needs to have:
metadata:
  annotations:
    helm.sh/hook: post-install,post-upgrade

@molepigeon yeah that's one solution we came up with .. the other one is to use already existing CA and just on upgrade to re-issue new certificates from the same CA .. maybe I can submit the PR if you want ?

I think you'd still need to have the helm hook run post-upgrade in case a user needs to change their CA cert for any reason.
Feel free to submit the PR if you're looking at it, but I'll do some experimentation anyway just to make sure it behaves as expected.


Modular version by default, fixes multiple layouts bugs

What changes:

gitignore to have kanata exe directly into the project (particularly useful to dev)
modular version by default (we might want to add a tag 1.0.0 on the previous version?)
replaced 102d by <, easier to ready what this key does
altgr layer upgraded with the latest 1dk layout version (^@ inversion)
fix azerty symbols layer for ~ and `, they were dead keys
let altgr on the numrow to allow azerty to do those symbols in dead key mod
nav et symbols layers didn’t work very well with other layouts, as letters move and numbers are sometime on shift, etc, so I made an alias file by layout and all is variablised on the different mods (there is a PC/Mac version for each layout as shortcuts and some special characters might not be the same)
I reverse back Enter and Esc to match the images but we can change it back easily if we prefer that way

Might fix #17

#13 done for Bépo

#11 also done but it might lack the proper documentation with images

replaced 102d by <, easier to [read] what this key does

I’m surprised I didn’t see that. Maybe it’s a recent feature ?


Unable to read timestamp from ReadOnlyTransaction.getReadTimestamp()

Hi,
I was trying to use ReadOnlyTransaction.getReadTimestamp() function but I keep running into exception:
"Method can only be called after read has returned data or finished"
I have returned one or two records from DB, but I can't read timestamp.
Below is sample code how and what I am doing.
IO {
      val db    = spannerClientInstance
      val rotxn = db.singleUseReadOnlyTransaction()

      val sql = "SELECT " +
        "Name " +
        "FROM Person " +
        "WHERE Name= @Name"

      val resultSet = db.singleUse.executeQuery(
        Statement.newBuilder(sql).bind("Name").to(name).build()
      )

      (resultSet, rotxn)
    }.bracket {
      case (resultSet, rotxn) =>
        IO {
          val result =
            scala.collection.mutable.Map.empty[String, Person]

          while (resultSet.next()) {
            result += (resultSet.getString(0) -> new Person(resultSet.getString(0)))
          }

          (result.toMap, rotxn.getReadTimestamp)
        }
    } {
      case (resultSet, _) =>
        IO(resultSet.close())
    }
 }

Any help would be welcomed. :)
Regards..
Edit:
I tried closing resultSet and/or rotxn with resultSet.close() and rotxn.close() and then calling rotxn.getReadTimestamp(), but didn't have much luck. I got the same error message.
Edit2:
It might be worth mentioning that I am using Spanner Java lib: com.google.cloud:google-cloud-spanner:2.0.1
Also, I am using Spanner emulator, as I am doing this locally for now.

This problem turned out to be caused by the following line:
      val resultSet = db.singleUse.executeQuery(
        Statement.newBuilder(sql).bind("Name").to(name).build()
      )

The query is not using the read-only transaction, but starts a separate single-use read-only transaction. The read-only transaction has therefore not yet been used when the call to getReadTimestamp() is executed.
The query should have been:
      val resultSet = rotxn.executeQuery(
        Statement.newBuilder(sql).bind("Name").to(name).build()
      )

Source:
https://stackoverflow.com/questions/66641889/cloud-spanner-db-unable-to-read-timestamp-from-readonlytransaction-getreadtime


Improve Handling of stopped channel stopping the Server

With this PR, we now initialise the stopped channel also for the dispatcher.
I've also added a unit test that shows that behavior and add an additional guard to not close a channel when it is already closed.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

11 of 12 (91.67%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 88.999%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ocppj/server.go
5
6
83.33%

Files with Coverage Reduction
New Missed Lines
%

ws/websocket.go
2
90.25%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
6529

Relevant Lines:
7336

💛  - Coveralls


Revert nats on telegraf

Temporary workaround for #141
reverts commits ff580277a281fff7a82557eb634cfcd81ae71d8b d7531cc9ddd1fe90b65086b4cceab55d66cc5606 and 662bb9758d130115657c3994444329693598adb0
to bring back zookeeper and kafka for telemetry.
also fix the test-storage test command in the Makefile

Tested ok, but remove the :nats tags in the IMAGES fichiers swarm

@bertrand-quenin you commented the kafka advertising, won't it break amplifier?

@ndegory the kafka workaround aws required for logs streaming, but we're using nats now.

Tested ok with Bertrand and Nicolas updates

@bertrand-quenin @freignat91 Reverted just a bit too quickly in my opinion. I would first test NATS Streaming with write acknowledgements enabled to compare it to Kafka's at-least-once delivery messaging semantics.


Teach flutter tools to find gradle

Flutter tools will now use Gradle from Android Studio, which is now found automatically.
flutter doctor will verify that Android Studio has been installed, and that the included Gradle is at least version 2.14.1.
It is still possible to manually configure the path to Android Studio (flutter config --android-studio-dir=XXX) or Gradle (flutter config --gradle-dir=XXX), but this should only be necessary if they're installed somewhere non-standard.
Only tested on Linux and macOS for now.
Fixes #8131


Build Navigation history from startup across multiple navgraphs

Hello !
For context, our app has multiple nested nav graphs. To simplify, we can put it like this :
RootNavGraph -> BottomBarNavGraph -> SettingsNavGraph
The bottom bar navigation is implemented as presented in your documentation.
From the start of the app, ie. a destination contained within RootNavGraph, we'd like to navigate to a destination within SettingsNavGraph, but also going through the BottomBarDestination, so when we press back, the backstack is "as if" all navigation was made by hand. The bottom bar should appear on destinations within BottomBarNavGraph and all nested nav graphs.
We were able to produce this behavior by finding a way so that each destination knows if it must navigate directly on opening, by storing some redirectionDestination in viewModels, etc. We find this tedious and not very clean.
The next approach we've tried is to navigate several times from the first screen, with multiple navigator.navigateTo(...) : the backstack is correct, but the bottombar doesn't appear in the final destination. My guess is that the navigation isn't really made in the nested nav graph.
Is this kind of navigation possible or not ? Are we missing something ?

Hi @mmeven !
I believe this is going to be a question for official compose navigation and not really for compose destinations. Compose Destinations doesn't mess with anything related to this, it just uses the official library.
I would google it, or open a stackoverflow question or post the question Kotlin slack #compose channel.


Revert "Stop polluting the source folders during regression tests"

Reverts chipsalliance/Surelog#3042

@hs-apotell, this changelist completely breaks -mp option.
Please remind me what is this PR supposed to do? Why is it changing so many unrelated things at the same time?

this changelist completely breaks -mp option.

All the regression tests have passed successfully across all platforms. This change doesn't do anything with -mp option. In fact, the number of changes in the CommandLineParser.cpp are minimal and repetitive. Which specific test reports problem with -mp option? Please provide more details.

Please remind me what is this PR supposed to do?

Batch tests generated their outputs in the current folder. This change moves them to the output folder. The optional cd option in individual batch job is used as a relative path within the output folder. -l was incorrectly being parsed as a path rather than just a name of the file - which this change fixes.

Why is it changing so many unrelated things at the same time?
What's unrelated here in this change. The CMake and Batch files that the Compiler.cpp generates might have quoted strings in arguments and those weren't parsed correctly by CommandLineParser.cpp and so I fixed that.

cd Surelog/third_party/tests/black-parrot/bp_top/syn$
Edit runsurelog.sh and add -mp 8
./runsurelog.sh
With your change, there is only one process doing the parsing.
With current Surelog code, there are 8 processed managed by cmake that do the parsing, significantly speeding the parse phase.
I know none of that is working on Windows, so please remove all the changes you made in your PR that touches that code since you cannot test your changes.

So there is no test that verifies this option in the regression tests? I will verify the change in WSL.

Could you suggest a different test that should work with the -mp and doesn't require verilator setup? I can't seem to get verilator working under WSL.

You don't need Verilator to run this test.
Surelog acts as Verilator.
./runsurelog.sh


datasets of nbeatsx can not download

Hi, there!   Datasets of nbeatsx can not be downloaded.
The following URL is invalid.
SOURCE_URL = 'https://sandbox.zenodo.org/api/files/da5b2c6f-8418-4550-a7d0-7f2497b40f1b/'

did you get the Datesets?

I encountered the same problem, and I found that the dataset can be downloaded from here: https://zenodo.org/records/4624805


Building Mediapipe AAR for Android App

Hello guys, I'm building mediapipe AAR in Ubuntu 18.04 LTS. If anyone knows how to fix this problem, please show  me how to fix, I sincerely thank
This is my command:
bazel build -c opt --host_crosstool_top=@bazel_tools//tools/cpp:toolchain --fat_apk_cpu=arm64-v8a,armeabi-v7a
//mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example:mp_hand_tracking_aar
This is ouput:
...
...
INFO: Analyzed target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example:mp_hand_tracking_aar (116 packages loaded, 16471 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /home/plh/.cache/bazel/_bazel_plh/10cf9176fe9665f6e255a36fbc530b0a/sandbox
ERROR: /home/plh/mediapipe/mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example/BUILD:3:14: Executing genrule //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example:mp_hand_tracking_aar_aar_manifest_generator failed (Exit 127) bash failed: error executing command /bin/bash -c ... (remaining 1 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
/bin/bash: $'\r': command not found
Target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example:mp_hand_tracking_aar failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 41.537s, Critical Path: 16.21s
INFO: 126 processes: 126 internal.
FAILED: Build did NOT complete successfully

Would you like to show us your mediapipe/examples/android/src/java/com/google/mediapipe/apps/aar_example/BUILD file to help us reproduce this issue?

Here it is:
load("//mediapipe/java/com/google/mediapipe:mediapipe_aar.bzl", "mediapipe_aar")
mediapipe_aar(
name = "mp_hand_tracking_aar",
calculators = ["//mediapipe/graphs/hand_tracking:multi_hand_mobile_calculators"],
)

I think I did have the same issue while trying to compile the aar file with WSL. It has to do with the mediapipe_aar.bzl file. That file has bash code and in my case the EOL configuration was preventing it to run correctly. It was CRLF and it has to be LF to be parse correctly.

I think I did have the same issue while trying to compile the aar file with WSL. It has to do with the mediapipe_aar.bzl file. That file has bash code and in my case the EOL configuration was preventing it to run correctly. It was CRLF and it has to be LF to be parse correctly.

THANKYOU it finally WORKS
I used dos2unix to change CRLF to LF

Hi @PLHieu  , I'm facing the same issues. Have you solved your problem? @realapril , @salvadorld0 , @cdibona or anyone who have the solution, please share here.
Thanks

We have very clear documentation on building the Android AAr here. Please reach us if you still have any further queries on the above or reopen.


Added protobuf payload converter tests

Changes being made
Added protobuf payload converter tests. They should simplify work on #117

Codecov Report

Merging #119 (19db3ba) into main (0015457) will increase coverage by 1.33%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #119      +/-   ##
==========================================
+ Coverage   36.32%   37.65%   +1.33%
==========================================
  Files         116      116
  Lines        4127     4127
==========================================
+ Hits         1499     1554      +55
+ Misses       2628     2573      -55

Files Changed
Coverage Δ

...io/temporal/protobuf/ScalapbPayloadConverter.scala
45.45% <100.00%> (+45.45%)
:arrow_up:


When a window "maximizes," make it fill all zones instead

When a grid layout has space around the zones, maximizing the window makes it fill a space that doesn't fit with the FancyZones grid. I would appreciate a check box to change the behavior of maximizing a window such that maximizing the window makes it fill all zones on the current monitor instead of making it fullscreen.

can you explain more of the scenario?  maybe some doodles?
This is an implementation ask versus really helping understand the 'why'.  Would really appreciate understanding the 'why'


Messaging to MCIOs on new orders for Azure

Describe the issue
Need a contract under which to order new Azure services. Province is in a holding pattern with MSFT on Service Order in the Cloud Brokering Service. The Public Cloud Accelerator Service is not able to meet customer requests for Azure until there is a mechanism in place for providing the space.
Additional context
Add any other context, attachments or screenshots
Definition of done

draft letter to Ministry Chief Information Officers up to eApprovals
coordinate with executive for timing

Drafted, all reviewed, with Gen pending final exec +1

@fastaudra I think this was accomplished?  Ok to close?


Black strips in GLES 3 when using SSAO

Godot version:
Godot 3.2 Beta 4
OS/device including version:
Ubuntu 19.10 Nvidia 970  435.21
Issue description:
When I add to scene world environment with enabled sky and SSAO, then with default settings I get very strange black Black strips in 3D objects.
Steps to reproduce:

Move camera close to the plane
Rotate/move camera

Minimal reproduction project:
AAAA.zip

What's your Near and Far values defined in the View menu at the top of the 3D viewport?

I looked and I had Z-Far 10000(Z-Near was untouched), because in past I probably set this value in editor settings, because default 500 is too low for me and probably for a lot of other people.

Duplicate of #13129, which is now resolved in the master branch thanks to SSAO having been rewritten.


resolve.File: isBuiltin arg is confusing

https://godoc.org/github.com/google/skylark/resolve#File
resolve.File takes an arg isBuiltIn.... I thought this was supposed to return true both for builtins in skylark.Universe, and for ones I passed in as globals, since the ones I pass in are created are of type skylark.BuiltIn.  However, when I do that, I get nil pointer panics (will create another bug for that).  I think there's a couple problems here:

Calling functions you create and pass in as globals "builtins" is very confusing. They're not "built in" per se, even if they're also not defined in the script itself.

resolve.File seems to have a different definition of what a builtIn is, which seems to want only things in skylark.Universe.  And if that's so, why do I need to pass in an argument for that at all?

The documentation could certainly be improved.
The two predicates represent different sets of identifiers.  isBuiltin reports whether an identifier is predefined in the universe; the universe is shared between all modules, and its values must be stateless.  isPredeclaredGlobal reports whether an identifier is predefined in the module's globals; the set of such identifiers may vary from one module to another, and their values can be stateful.  A typical call to resolve.File passes the StringDict.has method bound to a particular StringDict; that is, Universe.has or globals.has, though of course has is a private method so you have to write it out in full if you're outside the evaluator package.  Perhaps I should export StringDict.Has.
"Builtin" is an overloaded term in the Go API.  In addition to its use in the spec ("a function or method implemented in Go") it also means "a name in the Universe block".  Perhaps I should use the term "universal" for the latter.

See https://github.com/google/skylark/pull/11

#11 resolves this :)


Refactoring Ensure and Remove OwnerReference

These functions do not return errors as client.Object implements
meta.Accessor all the times (otherwise we have a compile error).
By removing the returned error we can clean up the code a little bit.

@jonathankingfc this is not for 3.6 but for 3.6.1 instead. This can be considered an effort towards solving PROJQUAY-2046.

This has been replaced by https://github.com/quay/quay-operator/pull/496


feat(keda): Allow using own Cert-manager Issuer/ClusterIssuer for issuing KEDA TLS certificates

Allow user to provide reference to their own Cert-manager Issuer/ClusterIssuer for issuing KEDA TLS certificates.
Checklist

[x] I have verified that my change is according to the deprecations & breaking changes policy
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] README is updated with new configuration values (if applicable) learn more
[x] A PR is opened to update KEDA core (repo) (if applicable, ie. when deployment manifests are modified)

@JorTurFer @zroubalik thanks for the review! I've updated the PR to address the comments

Could you take a look to DCO check too? It's failing: https://github.com/kedacore/charts/pull/530/checks?check_run_id=17317958846

DCO is still failing. You can check the process to fix it clicking here:

Any progress on these last steps failures?

Hey @zroubalik @JorTurFer I've addressed the comments and DCO check, could you please take a look? Thanks a lot

Thanks! Just wondering, when are you planning to release a new chart version that would include this change?

We don't have any expected date yet

I gues that we could cut a helm release. WDYT @kedacore/keda-helm-contributors ?

That would be great!

Hey @JorTurFer @kedacore/keda-helm-contributors any leads when it would be possible to have this feature released (maybe as a patch version of the chart)? It would help a lot if it would be possible to release before KEDA itself has a new version. Thanks a lot!


Crop option for thumbnail types

Takes care of #3909
Added a crop option to the thumbnail type system
It should be backward compatible
It also takes care of modifications during C5 install.
Check this video: https://www.youtube.com/watch?v=-Xn9z_WFHZ4

This also needs a migration to be written.

I have to admit Doctrine, migration, all that, you have to be more explicit. My understanding is the entity is modified and will add the necessary fields to the table.
Is there anything else to do?

@Mnkras I removed the comment, added the two t() functions and modified CustomThumbnail to work with the new system without having t modify the other stuff that use it.

Once one of the core team takes a look at this we can write the migration, it should be pretty straight forward.

Hi again @Mnkras. I modified it again, the sizing mode parameter comes last now and has a default value and I made sure everywhere the class was instantiated, proper parameters were in place.

@mlocati and @Mnkras you both made the same comment asking what about using $height and $width that I didn't understand.
Do you mean using if ($width) and if ($height) instead of if ($width > 0) and if ($height >0)?
If that's it, again, I kept what the core team had in place, should I modify it?

I meant code like this
$height = intval($request->request->get('ftTypeHeight'));
// [...]
if ($height > 0) {
    $type->setHeight($request->request->get('ftTypeHeight'));
}

can be rewritten as
$height = intval($request->request->get('ftTypeHeight'));
// [...]
if ($height > 0) {
    $type->setHeight($height);
}

and I'm pretty sure @Mnkras meant the same

Usually, when the core team does something a certain way I leave it like that in case it's the way they like it

Here's what I think:

the previous code may me literally ten years old
the previous code can be written by contributors, not only by the core team

So, when I see some code that can be improved and/or optimized, I do it

@mlocati this is embarrassing. I kept staring at those lines and couldn't understand for the life of me what was wrong until you pointed it out. I guess sometimes when you're too close to something it's all a blur. It's corrected now.
I'm going to also correct the other little things.

I guess sometimes when you're too close to something it's all a blur.

I totally agree: that's why github reviews are so helpful :wink:

ok. Should be good now...

Uh oh, I think I broke this one with the merging of #5424

ok @aembler and @Mnkras I think conflicts are resolved on this one

I don't know why Travis is failing. It seems to be a generalized problem

Thanks! I added a migration


ci: check on Java 14 instead of 13

:tada: This PR is included in version 1.0.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


The production (distributed) version of Realtime is still pending

We need to add kafka for the distributed realtime feature. Also we need not rely just on kafka, we can use any message broker with an at least once semantics for this task. Something like the pluggable backend for the file store module.

@YourTechBud Great idea.
I can help with a  NATS or NATS Streaming module, so users can use Kafka or NATS.
Do you guys have a gitter channel ?

Not really. But you can join us on discord. Here's the link: https://discord.gg/ypXEEBr.
This is a super important feature and I would love to work with you to get this done!

There is a full Change Data Capture in TiDB.

Lets not make this implementation database specific. Won't help us scale in terms of databases we support!

I was not intending to.
It was because the pattern for making it DB agnostic are there.
Here is a what i mean: https://www.cockroachlabs.com/docs/stable/change-data-capture.html
You can see all the issues and design.
We need a Unified CDC API.
Then adapters / drivers for each DB type.
We connect to their DB and so there is no need for a GRPC API on their side.
On our side a GRPC API feeding into the Queues.

Makes sense. Would this work in a DBaaS environment (for something like AWS RDS)? We will not have access to the VM the database is running on in that case.

Fixed


Lot of unecessary space above and below the form.

Hello @abhay-raj19
There's so much unnecessary space which is left not being used, Removing it will enhance the UI.

I am a GSSoC'24 contributor.

Go for it @sharmi4590

I can fix it up, please @abhay-raj19 assign this task to me. I am a GSSoC contributor.


Update 5_cross-chain-with-layerzero.md

Update LayerZero V2 documentation links
File changed: apps/base-docs/tutorials/docs/5_cross-chain-with-layerzero.md
Old link:
https://docs.layerzero.network/contracts/oapp
New link:
https://docs.layerzero.network/v2/contracts/oapp
Reason: LayerZero has upgraded to V2 and moved documentation to new structure. Updated links to ensure users can access current documentation.

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1

@brendan-defi
Update LayerZero V2 documentation links to fix broken URLs in cross-chain tutorial. The old links are no longer valid after LayerZero's V2 upgrade.

Review Error for brendan-defi @ 2024-12-11 01:11:22 UTC
User failed mfa authentication, see go/mfa-help


Setup GHA

Swift 6.x is apparently not yet supported by the action https://github.com/swift-actions/setup-swift/issues/683


Fix the responsiveness of placeholder of search bar.

I want to work on this issue. Please assign it to me.

I would like to work on this issue could u please assign it to me?

Hey @geeky01adarsh you can work on it.
Assigned it to you.

@divya-nshi you can check out the 5th step of readme.md, hope it helps
This issue has been assigned as he asked first so.

Yep Thank u :)... I'll add my playlist and will try to figure out 235 issue

please assign me this


Automated cherry pick of #3337: Update prometheus operator permissions to v0.73.2

Cherry pick of #3337 on release-v1.34.
#3337: Update prometheus operator permissions to v0.73.2

/merge-when-ready delete-branch

OK, I will merge the pull request when it's ready, leave the commits as is when I merge it, and delete the branch after I've merged it.

Removing "merge-when-ready" label due to new commits


Browserless v2 support

Hey and thank you for this node.
Do you have plans to do a rewrite/ adaptation for browserless version 2?
Since'old browserless' might be gone by 2025 this would be amazing.
There are quite a few changes but adapting this node could be feasible without too much work?
I could offer looking into the joi schema changes for v2, if it helps.
Thanks!

New version of n8n-nodes-browserless has been released, let check it out to see if the issue had been fixed
https://www.npmjs.com/package/n8n-nodes-browserless/v/1.0.0
thank you!


intersect method throws ArrayIndexOutOfBoundsException after serialize/deserialize

Describe the bug
intersect method on Mutable/Immutable Roaring Bitmap throws ArrayIndexOutOfBoundsException after serialization / deserialization.
To Reproduce
import java.io.*;

import org.roaringbitmap.RoaringBitmap;
import org.roaringbitmap.MutableRoaringBitmap

public class Main {
    public static void main(String[] args) throws IOException {
        MutableRoaringBitmap source = MutableRoaringBitmap.bitmapOf(25286760);
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        source.serialize(new DataOutputStream(outputStream));

        ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
        MutableRoaringBitmap test = new MutableRoaringBitmap();
        test.deserialize(new DataInputStream(inputStream));
        test.intersects(26244001, 27293761);
    }
}

edit: Seems like the difference between the objects is that the source has 4 elements in each array (keys and values inside highLowContainer) while the test has only one element in each array, so it's probably related to the deserialization method not using the extendArray method.
If you fail to provide the necessary information for us to reproduce the issue, we may reject your bug report.
RoaringBitmap version: Latest (0.9.49-SNAPSHOT)
Java version: Temurin-11.0.17+8 (aarch64)

Thanks for the report and the test case. I can take a look at this today.

Consider upgrading to the latest version where the bug fix now appears.


Vite version added to Svelte integrations

Added bash section for people not familiar installing Svelte on Vite. Remove at will if you find it not in line with instructions for other versions.

@alexanderniebuhr Can you check this one?

/lgtm @hannoeru


Fix Imports

Imports seem to be broken. environment.yml
name: xeus-python-kernel
channels:
  - conda-forge
  - nodefaults
dependencies:
  - matplotlib:
      channels:
        - https://repo.mamba.pm/emscripten-forge
  - numpy:
      channels:
        - https://repo.mamba.pm/emscripten-forge
  - pandas:
      channels:
        - https://repo.mamba.pm/emscripten-forge
  - tqdm:
      channels:
        - conda-forge

gives:

Not sure it makes sense to specify anything any channels beyond the QuantStack Mamba servers in the first place. Also, while the syntax
  - numpy:
      channels:
        - https://repo.mamba.pm/emscripten-forge

does not throw an error during build, it does not seem to be canonical (or mentioned in the documentation of Conda). For now, best to use a recipe like used in the xeus-python-kernel template:
name: xeus-python-kernel
channels:
  - https://repo.mamba.pm/emscripten-forge
  - https://repo.mamba.pm/conda-forge
dependencies:
  - numpy
  - matplotlib
  - ipycanvas


Whitelisting socketTimeout parameter and added Googlebot

You should not add the Googlebot user agent to the list of user agents being checked. Checking Googlebot by their user agent could get you penalized for cloaking.
Google follows the escaped fragment crawling protocol so if you add <meta name="fragment" content="!"> to the <head> of your pages then Google will access the ?_escaped_fragment_= URL

@thoop thanks. Will remove googlebot