How to get instance ID of created EC2 instance

Note: for support questions, please first reference our documentation, then use Stackoverflow. This repository's issues are intended for feature requests and bug reports.

I'm submitting a ...

[ X ] :question: support request => Please see note at the top of this template.

What is the current behavior?
If the current behavior is a :beetle:bug:beetle:: Please provide the steps to reproduce

Trying to get the instance ID of an EC2 instance created by CF (generated by AWS CDK), this used to work in at least v0.28:
    const natInstance1 = new CfnInstance(this, 'NatInstance1', {
      imageId: NAT_AMI_ID,
      instanceType: NAT_INSTANCE_TYPE,
      subnetId: vpc.publicSubnets[0].subnetId,
      keyName: NAT_SSH_KEY,
      sourceDestCheck: false,
      securityGroupIds: [
        publicSecurityGroup.securityGroupId
      ]
    });

    new ec2.CfnEIPAssociation(this, 'NatEip1', {
      eip: NAT_EIP_POOL[0],
      instanceId: natInstance1.instanceId
    });

This no longer works in v0.37.0, get error: Property 'instanceId' does not exist on type 'CfnInstance'.ts(2339)

What is the expected behavior (or behavior of feature suggested)?

What is the motivation / use case for changing the behavior or adding this feature?

Please tell us about your environment:

CDK CLI Version: 0.37.0 (build c4bdb54)
Module Version: xx.xx.xx
OS: OSX Mojave
Language: TypeScript

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. associated pull-request, stackoverflow, gitter, etc)

Figured it out:
    new ec2.CfnEIPAssociation(this, 'NatEip1', {
      eip: NAT_EIP_POOL[0],
      instanceId: natInstance1.ref
    });


Update zlib library to version 1.3.1

Please note that versions of zlib < 1.3.1 fail to build on macOS with upcoming clang 18.

Thanks a lot for your help!
I validated that the commit is indeed belonging to v1.3.1 of the libz source repository when checking it out locally.
commit 51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf (HEAD, tag: v1.3.1, origin/master, origin/HEAD)

I will release it soon under v1.1.15.


npx init fails

Hello,
I'm trying to follow the getting started guide but am running into a wall.  When I run npx create-keystone-next-app it throws an error (no such file or directory) after filling in the requested info.
Windows 10
Node 10.16.3
npm 6.9.0
Screenshot:

I believe I meet all the node/npm version requirements as laid out.  Not sure what's going wrong.

@Tyler-RCSD same here, Windows 10, Node v14.15.4, NPM 6.14.11.
I tried and yard does not work either.
May be .gitignore file is really missing from CLI? BTW I checked the C:\Users\Peti\AppData\Roaming\npm-cache\_npx\19476\node_modules\create-keystone-next-app\starter folder and it is totally empty.

@jesstelford @mitchellhamilton Hi, can somebody check or help us to try out keystone? CLI is not working on Windows, see above.

Hey @fodurrr Thanks for confirming this issue. I've passed this on to the folks who are woking on this part of the codebase. Hopefully they can debug and find a solution for you.
In the meantime, can you try remove the directory C:\Users\Peti\AppData\Roaming\npm-cache\_npx\19476\node_modules\create-keystone-next-app\starter, then run the command again?
If that still doesn't work, you can download just the starter directory directly using this link: https://downgit.github.io/#/home?url=https://github.com/keystonejs/create-keystone-next-app/tree/main/create-keystone-next-app/starter, then:

Unzip that folder (iut's the same folder you would otherwise get by running npx create-keystone-next-app)
Edit keystone.ts to replace lines 18 & 37 with actual values
Run npm install to install the dependencies
Run npm run dev

Hey @fodurrr Thanks for confirming this issue. I've passed this on to the folks who are woking on this part of the codebase. Hopefully they can debug and find a solution for you.
In the meantime, can you try remove the directory C:\Users\Peti\AppData\Roaming\npm-cache\_npx\19476\node_modules\create-keystone-next-app\starter, then run the command again?
If that still doesn't work, you can download just the starter directory directly using this link: https://downgit.github.io/#/home?url=https://github.com/keystonejs/create-keystone-next-app/tree/main/create-keystone-next-app/starter, then:

Unzip that folder (iut's the same folder you would otherwise get by running npx create-keystone-next-app)
Edit keystone.ts to replace lines 18 & 37 with actual values
Run npm install to install the dependencies
Run npm run dev

I tried and deleted the roaming folder before but it did not help. It creates a new ..._npx\{random number}\... folder anytime you start the CLI  but the starter folder is empty.
Thanks for the manual download tip :)

Hi @Tyler-RCSD and @fodurrr
I had a look into this and am not able to reproduce this.
I'm very curious especially because @fodurrr mentioned that the starter folder was empty in C:\Users\Peti\AppData\Roaming\npm-cache\_npx\19476\node_modules\create-keystone-next-app\starter.
Can either of you help me out and try this to see if this is an npm caching issue:
Please install create-keystone-next-app globally and run it then via the command line.
npm install create-keystone-next-app -g

After the install is finished and in the folder you want to create your project in:
create-keystone-next-app

Let me know if that works at all. Thank you.

Hi @dominikwilkowski.  I installed it globally as you suggested and was met with the same result:

The folder mentioned in that screenshot is C:\Users\me\AppData\Roaming\npm\node_modules\create-keystone-next-app\starter this time and if I go there this is the listing:

Looks like it's trying to copy .gitignore and that file not in the folder.

Thank you @Tyler-RCSD that helps a lot.
Let me get back to you when we have a fix.

Ok @Tyler-RCSD and @fodurrr
I found a fix that I have tested in my VM.
this change has been merged now and will be published on Monday.
Let me check in with you then again to see if this all worked as I hope.
Thank you for reporting this.

Ok the package has been published now to version 1.2.0.
Please let me know if you find any issues with the solution.


An error occurred. please try again later. (playback id xyz.....)

We are getting this error in some device with deffirent playback ids

@DkKhan786 have you solved this issue ?


Don't use travis_apt_get_update and invoke apt-get update manually

Something goes wrong in very rare cases when using travis_apt_get_update,
but no debug output is printed. We could use "travis_apt_get_update debug"
but I prefer to do the call manually as it makes more clear what's
happening. Also, travis_retry with travis_apt_get_update causes the "rm -rf"
to be re-executed for each try, making us start from the beginning again
and again which also increases the chance of multiple failures in a row.

FYI, this is meant to fix or at least debug build failures as seen in https://travis-ci.org/dashpay/dash/jobs/595696047.

@UdjinM6 Not sure I like the commit. It allows every MITM to swap keys and our build would happily accept any modified package ;)

I also feel it's more likely the "Hash Sum mismatch" error seen in the build logs. The GPG error is probably ignored later as we never try to install something from the repo with the missing key

Closing in favor of #3143


App Comparison

Code: https://github.com/codrops/ProductComparison/
Demo: https://tympanus.net/Blueprints/ProductComparison/
Comparison Data: https://www.slant.co/versus/1026/999/~grav_vs_wordpress
Maybe add Features, Pros and Cons in App Manifest.

Hi @MatheusRV,
While this could be cool, we are a long way away from the point where comparing apps in this way would make sense, and we don't have resources to devote to the app market currently. Again, if you're interested in leading app market development in new directions, let me know.


Add a base image for distroless

Prototype of a distroless image extended with UID/GID
[ ] Configuration Infrastructure
[ ] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@sdake: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
aff232426d012ee5d229febd748d471d5d11e2ab
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test gencheck_istio

one thing I was unclear about and many people may have opinions on this. I renamed base to ubuntu. I was struggling with some problems related to the build system, although they are fixable.
What do we want these base dockerfiles named?


streaming example: help required

@AMontagu and @legau,
I added streaming examples: The first one should stream all books (in stead of a list), the second one should use two-directional streaming as in the original example of @AMontagu.
Could you please check, if the code looks correct ?
Could you please draft, how a client for the first example looks like ?
(I guess for the second one I need the queuing, like you did it in the old questionstream example, @AMontagu ?)
Merci

Hi @markdoerr
I reviewed directly on the MR
Let's talk about it in the MR

:+1:


input shapes not equal?

I am trying the demo code on pascal_voc
./experiments/scripts/test_vgg16.sh $GPU_ID pascal_voc
but I get:
Traceback (most recent call last):   File "./tools/test_vgg16_net.py", line 89, in <module>     tag='default', anchor_scales=anchors)   File "/home/brian/tf-faster-rcnn/tools/../lib/nets/vgg16_depre.py", line 481, in create_architecture     rois, cls_prob, bbox_pred = self._vgg16_from_imagenet(sess, training)   File "/home/brian/tf-faster-rcnn/tools/../lib/nets/vgg16_depre.py", line 350, in _vgg16_from_imagenet     rpn_cls_score_reshape = self._reshape_layer(rpn_cls_score, 2, "rpn_cls_score_reshape")   File "/home/brian/tf-faster-rcnn/tools/../lib/nets/vgg16_depre.py", line 181, in _reshape_layer     reshaped = tf.reshape(to_caffe, tf.concat([[self._batch_size], [num_dim, -1], [input_shape[2]]], 0))   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py", line 1075, in concat     dtype=dtypes.int32).get_shape(   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 669, in convert_to_tensor     ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py", line 836, in _autopacking_conversion_function     return _autopacking_helper(v, inferred_dtype, name or "packed")   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/ops/array_ops.py", line 799, in _autopacking_helper     return gen_array_ops._pack(elems_as_tensors, name=scope)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1975, in _pack     result = _op_def_lib.apply_op("Pack", values=values, axis=axis, name=name)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/op_def_library.py", line 759, in apply_op     op_def=op_def)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 2242, in create_op     set_shapes_for_outputs(ret)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1617, in set_shapes_for_outputs     shapes = shape_func(op)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/ops.py", line 1568, in call_with_requiring     return call_cpp_shape_fn(op, require_shape_fn=True)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 610, in call_cpp_shape_fn     debug_python_shape_fn, require_shape_fn)   File "/home/brian/.local/lib/python3.5/site-packages/tensorflow/python/framework/common_shapes.py", line 675, in _call_cpp_shape_fn_impl     raise ValueError(err.message) ValueError: Dimension 0 in both shapes must be equal, but are 2 and 1 	From merging shape 1 with other shapes. for 'vgg16_default/rpn_cls_score_reshape/concat/concat_dim' (op: 'Pack') with input shapes: [1], [2], [1].
any ideas?

Maybe you can check the shape of tensors at _reshape_layer?

Please update the tensorflow version. I heard this solved the problem.

@endernewton , Hi can you let us know which version of tensorflow are you using to run the code.
Thanks,


allowDuplicates variable does not exist in version 3.0.0

I have looked for the variable in the documentation and code and I have not found it. How can I avoid scanning the same code multiple times?

It is now called detectionSpeed.


Force update feature

Is there any way to update the data manually from a button in the UI like the lock/unlock one?
Right now i have to force the refresh from the app and then reload the integration inside HA

create a button on UI and call kia_uvo.force_update action (aka service)

worked, thanks!


use installed JEP DLL rather than packaged DLL

This PR addresses #49 and makes Ghidrathon substantially easier to install: it relies on the jep.dll built during pip install jep and therefore doesn't require a Gradle build step by the user. Instead, everyone can use the same pre-built Ghidrathon.zip. An example is attached. In theory it should be a drop-in replacement for whatever Ghidrathon.zip you have already.
The PR updates the interpreter configuration to search for the jep.dll in three places:

when PYTHONPATH is set, which a user may do to specify a specific virtualenv,
when VIRTUAL_ENV is set, such as when a virtualenv is "activated",
all the entries from sys.path used by whatever python3 uses

This works on my Windows system, Ghidra 10.3. I need to test this further, especially on my m1 Mac Mini. We should also setup testing in CI/CD to demonstrate this works on those platforms. Finally, documentation updates are needed if this PR is approved.
TODO:

[ ] manual testing on linux
[ ] manual testing on macOS (x86)
[ ] manual testing on macOS (arm64)
[ ] CI/CD testing
[ ] docstrings on all functions
[ ] handle VIRTUAL_ENV only scenario

If merged, this supercedes #4 #46 and #48 and closes #1 #3 #10 #27 #34 and #49
ghidra_10.3_PUBLIC_20230613_Ghidrathon-50.zip

when only VIRTUAL_ENV is present then we'll need to update the python search path. i'm not sure if we can set the PYTHONPATH environment variable from java or we need to shim the interpreter loading to update sys.path.

one rough spot i encountered during development was when JEP crashed, such as when the python interpreter fails to load (missing JEP module), and it brings down all of Ghidra immediately. this was one of the reasons using JNI was discouraged by the Ghidra devs - that bugs make the whole program unreliable versus a single component crashing.
to avoid this, we should consider invoking python (and loading JEP) as a subprocess and asserting that it doesn't crash before trying to start the embedded interpreter. if it does crash, we can warn the user and bail safely.

when only VIRTUAL_ENV is present then we'll need to update the python search path. i'm not sure if we can set the PYTHONPATH environment variable from java or we need to shim the interpreter loading to update sys.path.

We can use PyConfig to configure things like PYTHON_HOME before the first Python interpreter is created.

one rough spot i encountered during development was when JEP crashed, such as when the python interpreter fails to load (missing JEP module), and it brings down all of Ghidra immediately. this was one of the reasons using JNI was discouraged by the Ghidra devs - that bugs make the whole program unreliable versus a single component crashing.
to avoid this, we should consider invoking python (and loading JEP) as a subprocess and asserting that it doesn't crash before trying to start the embedded interpreter. if it does crash, we can warn the user and bail safely.

Was the crash occurring because Ghidrathon did not bail early enough after not being able to locate the Jep module?

We can use PyConfig to configure things like PYTHONHOME before the first Python interpreter is created.

Initially I used this; however, I learned that PYTHONHOME is not the same thing as PYTHONPATH and is basically useless (it doesn't have a meaning on Windows and represents a fragment of a path to the library directory on Unix. its not what i thought). in fact, i don't know why JEP supports this because i can't find a use for this setting.
setting PYTHONPATH is probably needed. I think we can prep the new interpreters by running import sys; sys.path.append(...) if necessary.

Was the crash occurring because Ghidrathon did not bail early enough after not being able to locate the Jep module?

I think the crash came from within JEP (java side) as it created the Python embedded interpreter, which looked for JEP (python side) that wasn't accessible (such as if I had PYTHONPATH wrong). then the interpeter raised an exception (python side) and JEP (java side) somehow crashed. im not exactly sure of the details since all of Ghidra would disappear from the screen and no logs are written. wrapping the JEP interpreter creation in try/catch Exception had no effect.
in the above scenario, jep.dll is located and invoked; however, the python configuration is incomplete. i think probably the java side tries to reach into the python side, but can't because the python side libraries don't load. ...or something.
it might be nice to triage this, and if its a JEP edge case, fix it upstream. in the meantime, i propose trying to detect a correctly install JEP (python side) via subprocess before creating the embedded interpreter.

Are we concerned with the overhead of locating the Jep shared library, especially with using subprocesses? Is this something we should resolve once and store for future use?

i expect the overhead to be a fraction of a second (walk a few file system directories, create a short lived python process), which I think is reasonable. we could do a bit better by short circuiting upon finding the first jep.dll (at the expense of less debugging details, no big deal).
im quite wary of caching the results because of the complexity involved in detecting changes to the environment. i think we should explore this option if we determine Ghidrathon startup time is too long - but not before then.

Are we going to package jep.jar with the Ghidrathon extension?

yes.
i agree there is then the potential for version mismatching. i'll need to research to see if JEP verifies the versions or if we need to do this. i hope and expect its the former.
since jep.jar is available on maven, i suspect that jep.jar should be portable across OS, architectures, and java versions. i'll confirm by using the same Ghidrathon.zip across the different hardware i have available.

Was the crash occurring because Ghidrathon did not bail early enough after not being able to locate the Jep module?

I think the crash came from within JEP (java side) as it created the Python embedded interpreter, which looked for JEP (python side) that wasn't accessible (such as if I had PYTHONPATH wrong). then the interpeter raised an exception (python side) and JEP (java side) somehow crashed. im not exactly sure of the details since all of Ghidra would disappear from the screen and no logs are written. wrapping the JEP interpreter creation in try/catch Exception had no effect.
in the above scenario, jep.dll is located and invoked; however, the python configuration is incomplete. i think probably the java side tries to reach into the python side, but can't because the python side libraries don't load. ...or something.
it might be nice to triage this, and if its a JEP edge case, fix it upstream. in the meantime, i propose trying to detect a correctly install JEP (python side) via subprocess before creating the embedded interpreter.

Gotcha' - in the past when Ghidra has crashed a file named along the lines of hs_err_pid<pid>.log is generated that may give us a better idea of the cause. I've experienced Jep crash Ghidra because of actions carried out after the interpreter has been created but not during/before its creation so this is definitely interesting.

Are we going to package jep.jar with the Ghidrathon extension?

yes.
i agree there is then the potential for version mismatching. i'll need to research if JEP verifies the versions or if we need to do this. i hope and expect its the former.
in any case, we'll have to ask users to do something like: pip install jep==4.1.1 and emphasize that the version must match. in theory we could make multiple Ghidrathon builds each with a different jep.jar version, but i can't imagine that our users feel very strongly about which JEP version they're using, so its not useful. we could also potentially bundle many jep.jar versions into the same extension and pick at runtime, but the added complexity of figuring out which python version is present is non-trivial, and against doesn't solve a likely problem. so, lets just tell people to use the right version and show an error dialog with the same details when they do something wrong.
since jep.jar is available on maven, i suspect that jep.jar should be portable across OS, architectures, and java versions. i'll confirm by using the same Ghidrathon.zip across the different hardware i have available.

We should also consider situations where multiple Python installs exist on a system where each install includes Jep e.g. a user has Python 3.9 and Python 3.10 installed both w/ Jep version 4.1.1. How do we choose? I think ideally it would be up to the user, but this poses additional challenges. Do we prompt every time or cache the choice? What happens in Ghidra headless mode e.g. Ghidra is configured into an analysis pipeline?

when only VIRTUAL_ENV is present then we'll need to update the python search path. i'm not sure if we can set the PYTHONPATH environment variable from java or we need to shim the interpreter loading to update sys.path.

Unfortunately virtual environments do not work on Windows due to the way Ghidra is invoked. We lose virtual environment env variables when a child process is created for Ghidra e.g. VIRTUAL_ENV does not exist once Ghidra has been started even if we invoke ghidraRun.bat from within the virtual environment.

Thank you for your contribution - this has been superseded by https://github.com/mandiant/Ghidrathon/commit/32f3969e09a5d29197cabbc28d93dc9c572d7e45.


Flip actions

Enable actions flip horizontal and vertical for more than one element
Flip elements

#3366
@dwelle
I think we need to skip the arrows/lines that are connecting elements as you can see in the image below .
Please do let me know your thoughts.

As @dwelle showed, the goal is for it to appear as though you are treating the bounding box for the group as a single, rectangular element and have flipping behave appropriately. The unfortunate thing is that kind of manipulation for groups isn't currently allowed/supported, so it's not as simple as treating the bounding box as a single element.

The unfortunate thing is that kind of manipulation for groups isn't currently allowed/supported, so it's not as simple as treating the bounding box as a single element.

I think we should completely disregard groups and consider everything as just elements.

The unfortunate thing is that kind of manipulation for groups isn't currently allowed/supported, so it's not as simple as treating the bounding box as a single element.

I think we should completely disregard groups and consider everything as just elements.

@dwelle.
I think, as a user doesn't want to flip all elements as group upside down, they want to flip the individual elements which rather than clicking on individual element one by one, they can select all and flip.

I think we should completely disregard groups and consider everything as just elements.

@dwelle, I agree to you point.
And I think as a user, doesn't want to flip all elements as group upside down, they want to flip the individual elements which rather than flipping one by one, they can select all and flip.

I'm not sure whether we're talking about the same thing though, so just to clarify: it should work like my proposal above, but we should disregard element.groupIds or appState.selectedGroupIds as I believe it's immaterial (unless I'm wrong).

Closing for now so that others can attempt this. @narendrasinghrathore lemme know if you're still working on this!


Analyze DefaultAlgorithm logging output in AutoMLSearch and match with IterativeAlgorithm

Currently IterativeAlgorithm logging outputs n pipelines ready for search in the logger when running AutoMLSearch. However, DefaultAlgorithm does not have such output. There could be more places where there are inconsistencies in output and this issue should track investigating where inconsistencies and how to resolve them.

@jeremyliweishih were there specific things you were thinking of?  Or is this a general ask and you think there's some parity that can be achieved between the logging of both algos?

@chukarsten I put this up as a general ask since I didn't do the investigation on what else is different yet. The example I put in the description is just one discrepancy I noticed! I was thinking that this issue would track investigating and if the differences are minimal or acceptable we can just close this issue as well.


new signal-exit handles process.exit() in process.on('exit')

upgrades signal-exit to version that better handles:
process.on('exit', function () {
  process.exit(5);
})

CC: @isaacs

Coverage decreased (-0.01%) to 99.27% when pulling b39dec5a7fb9004be72d024d5d1df2984dd21a52 on signal-exit-2.1.0 into c465e9ee5c0a245c9b01527f284bc25a691f9816 on master.

Coverage decreased (-0.01%) to 99.27% when pulling 741cf8c20c9c5f9a6ca481e0c6c413889fd43b36 on signal-exit-2.1.0 into c465e9ee5c0a245c9b01527f284bc25a691f9816 on master.


error: failed to extract archive (truncated gzip input)

I have a flake for a simple script. It was working fine for a while but now it's not.
{
	description = "XXX";

	inputs = {
		nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
		flake-utils.url = "github:numtide/flake-utils";
		mach-nix.url = "github:DavHau/mach-nix";
	};

	outputs = { self, nixpkgs, mach-nix, flake-utils }:
	flake-utils.lib.eachDefaultSystem (system: let
		python = "python39";

		pkgs = import nixpkgs { inherit system; };
		mach = import mach-nix { inherit pkgs python; };

		python-env = (mach.mkPython {
			requirements = ''
				notebook
				yt-dlp
			'';
			packagesExtra = [ ];
			ignoreCollisions = false;
		});
	in {
		devShell = pkgs.mkShell {
			nativeBuildInputs = with pkgs; [
				python-env
			];
			buildInputs = [ ];
		};
	});
}

Now when direnv runs, it gives the following error:
error: failed to extract archive (truncated gzip input)

I solved the issue by deleting the following directories before rebuilding:

~/.cache/nix
~/.cache/direnv
Local .direnv in the project directory

I encountered the same issue but unfortunately the resolution above did not resolve it for me.


More reliable tests, new landing pages, misc

Major tests overhaul. Tests are now much easier (and safer) to run locally, also more predictable.

Adjusted delays and healthcheck waits in tests
Disabled cron during tests

Only enabling cron during the cron test.

Replaced test project init script - much simpler now (tests/create_test_projects.sh)
Test project configs are now committed in the repo in tests/projects (not using external repos)
Projects mounts is now in tests/projects_mount, which is recreated when tests are run (copied from tests/projects)
proxyctl cleanup will now only cleanup projects within the /projects mount
Running cleanup upon start in Makefile
Improved make curl command

Using a hack to pass arguments to make directly on command line

Symlinked nginx binary to /usr/sbin/nginx
Makfile and tests are now compatible with a custom docker command. When using VirtualBox mode in Docksal, run export DOCKER='fin docker' prior to running make commands.
Updated LICENSE year
Added docs for permanent environments (io.docksal.permanent=true)
Use HTTP_ACCEPTED (202) instead of HTTP_OK (200)
Added proxyctl lookup command

TODO: since lookup is faster than start, it can be used to output the 202 status once lookup succeeds, then proceed with the start in the background

Ignore client connection aborts

See https://github.com/openresty/lua-nginx-module#ngxeof

New 202 and 404 landing pages using embedded SVGs

New landing pages: https://take.ms/XomdU
cc @achekulaev

Updated landing pages (removed extra instructions): https://take.ms/A0NTA


Step towards the ability to dynamically bind/unbind ports in response to target cluster topology

Type of change
Select the type of your PR

Enhancement / new feature

Description
Ability to dynamically bind/unbind ports in response to target cluster topology.  Design is described by #271.
The main part of this change is the introduction of an EndpointRegistry which is responsible for associating network endpoints with broker/bootstrap addresses of virtual clusters. It allows endpoints to be shared by more than one virtual cluster (for the SNI case - allowing to expose a cluster on a single port) or for a port per broker pattern (required for non-SSL).  In this PR, the EndpointRegistry is wired into the KafkaProxy and the KafkaProxyInitializer.
The next step (follow up PR) will be to actually add EndpointRegisty#reconcile(vurtualCluster, nodeIdSet) which will reconcile the desired set of broker endpoints (discovered from the metadata response) which those that are actually bound right now, with ports been bound/unbound as necessary.  At that point, Kroxylicious will dynamically adjust itself to the target cluster's topology (the desired endstate).  To make this step I first need https://github.com/kroxylicious/kroxylicious-junit5-extension/issues/84 so I'm able to write end to end tests to test this functionaly.
Additional Context
Why are you making this pull request?

@robobario @SamBarker please take a look

@SamBarker @robobario I was reflecting over the weekend on the EndpointRegistry.  There's quite a lot of complexity in the implementation and that's making me uneasy.   It occurs to me that one or the reason why it is so complex is the need to support both the SNI routing and the port-per-broker in a single registry.
I think it is unlikely that a user would ever want to single instance of kroxylicious configured with both port-per-broker and SNI routing  at the same the time.  Surely the user is going to choose one approach and apply it to all their virtual clusters?
So that makes me wonder if it would be better if EndpointRegistry was a pluggable interface with two implementations: SniRoutingEndpoitRegistry and PortPerBrokerEndpointRegistry.  The former would have to deal with a single shared port and a bunch of SNI routing strings, the latter would have a model where every broker gets its own port.
EndpointRegistry configured at the top-level of Kroxy's configuration.   There would be a validation between EndpointRegistry and the ClusterEndpointConfigProvider.  EndpointRegistry implement would know about which ClusterEndpointConfigProvider types they support.
WDYT?

I think it is unlikely that a user would ever want a single instance of kroxylicious configured with both port-per-broker and SNI routing at the same the time. Surely the user is going to choose one approach and apply it to all their virtual clusters?

I think your intuition is right for manually configured clusters, as in a human is making decisions about the configuration, they are going to pick a strategy but I'm less convinced that holds when we think about a world where Kroxylicious is implementing the Gateway API spec and acting as the ingress option. At which point the overheads of forcing TLS (mostly certificate management) probably become a bigger problem.
I need to go have another read of the PR, specifically the endpoint registry, but I would generally favour pulling out the two implementations but keep the interface have have a composite registry which would delegate to the appropriate one internally.
On that front I wonder if there is a need for a third type of registry ProxyProtocalEndpointRegistry which acts in a similar fashion to the SNI registry but makes the routing decisions based on the vhost preamble.


change physics exception to log a warning instead

Workaround for issue #88.  Logs a Warning instead of throwing an exception.  Easily to reproduce via:

In TopDownRPG, punch a cube, pick up coins, issue is triggered.
In PhysicsSample, change scenes to trigger.

While playing with PhysicsSample, I started to get the feeling that it was related to objects disappearing from the scene, but not being fully removed from the physics simulation?

Thanks!


anime.list not updating

Until yesterday noon it worked flawlessly, but after that it is not updating, like no anime slug and name. Can you please look into it. Thanks

getopts :hlda:s:e:r:t:o: opt
set_var
++ command -v curl
_CURL=/usr/bin/curl
++ command -v jq
_JQ=/usr/bin/jq
++ command -v fzf
_FZF=/bin/fzf
++ command -v node
_NODE=/tools/node/bin/node
++ command -v ffmpeg
_FFMPEG=/usr/bin/ffmpeg
[[ 1 -gt 1 ]]
_HOST=https://animepahe.com/
_ANIME_URL=https://animepahe.com/anime
_API_URL=https://animepahe.com/api
_REFERER_URL=https://kwik.cx/
+++ realpath /content/animepahe-dl/animepahe-dl.sh
++ dirname /content/animepahe-dl/animepahe-dl.sh
_SCRIPT_PATH=/content/animepahe-dl
_ANIME_LIST_FILE=/content/animepahe-dl/anime.list
_SOURCE_FILE=.source.json
_COOKIE=__ddg2=
[[ -n '' ]]
download_anime_list
/usr/bin/curl --compressed -sS https://animepahe.com/anime -H 'Cookie: __ddg2='
sed -E 's/.anime//[/;s/" title="/] /;s/">.//'
grep /anime/
[[ -z '' ]]
++ /bin/fzf
++ remove_brackets
++ awk '-F]' '{print $1}'
++ sed -E 's/^[//'

Its stuck here forever

Hey @love4589, there were some changes on the server side. The script needs to adapt to those changes in order to work again...

It seems the same to me. I got it. Will be looking forward. Ciao

Hey @love4589, the fix is added in the latest commit. It now requires to install additional npm packages. Please read https://github.com/KevCui/animepahe-dl#installation for more details. The script should work again.


feat: upgrade ESLint from v8 to v9

Summary of changes:

Install eslint@9.
Point ESLint to use the lib/eslint.config.js configuration file.
Switch eslint.config.ts file to export default eslintConfig syntax.
Create separate eslint-plugins directory for additional ESLint tooling, including typescript-eslint configuration.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Refresh docs index/landing page

Related to https://github.com/treeverse/lakeFS/issues/5617
Doesn't close out the above but takes a first pass at it.
Focus is on getting the user into the hands-on quickly and moves the big scary diagram lower down the page

@michalwosk adding you as reviewer as I think some of the content was previously added by you.


use v2 in module

Description
Problem
A short description of the problem this PR is addressing.
Solution
A short description of the chosen method to resolve the problem
with an overview of the logic and implementation details when needed.
Notes
Other notes that you want to share but do not fit into Problem or Solution.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 76.259%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
106

Relevant Lines:
139

💛  - Coveralls


Deprecation warning for set-output command

I've just found that the deprecation warning is displayed in the GitHub Actions workflows for eslint-plugin-import.

https://github.com/import-js/eslint-plugin-import/actions/runs/3768297080/jobs/6406611863

Warning: The set-output command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

I believe the following code in this repository has something to do with it, is that right?
https://github.com/ljharb/actions/blob/d90a9d324b9dac81dc3fd2a93f98118c9db1e515/node/run/index.js#L36-L38
https://github.com/ljharb/actions/blob/6c38ef617880bbadc9f65479221121d69a51081e/node/install/index.js#L62-L64

Yep, exactly right :-) i haven’t gotten around to fixing it yet because it’s not easy to test (without breaking hundreds of repos).

Altho in this case the warnings are actually because i haven’t updated the github core package past .10 - for the same reason (testing and breakage)

I believe 63baadd has fixed this.


Add secp binding files from python-bitcointx and python-elementstx

Thanks for letting me use bindings :). The first commit adds the binding files as-is from python-bitcointx and python-elementstx. The second file requests an update to the license.
After a green signal from your commit in the merge commit, I can cherry-pick these commits(including the merge commit) and build my updates to integrate to bitcoin test-framework on top of it.

Hmm, I don't see my merge commit for some reason

I'll update, please wait

Done, the merge commit https://github.com/dgpv/elements/commit/1bb8fcbc5f324ed7017b015bbaf1867f683123f2 states my explicit permission to relicense

you can now pull the https://github.com/dgpv/elements/tree/relic branch back.

Made a force-push, now actual merge commit is https://github.com/dgpv/elements/commit/8bd9269b7a1918da177753aed2585ccbcc215504
changed from "use and distribute" to "use, modify and distribute"


Temporarily remove Windows from sbt-github-actions CI

Currently the CI is broken for Windows (see in progress PR at https://github.com/sbt/sbt-github-actions/pull/121 trying to diagnose why). I have tried to setup this project on a Windows machine to help in finding out the problem but ended up failing to do so due to https://github.com/sbt/sbt-github-actions/issues/122.
@eed3si9n @armanbilge Do you have any qualms in disabling this project on Windows for now? I don't think anyone is developing this plugin on Windows and its very easy to enable later on (just need to adjust https://github.com/sbt/sbt-github-actions/blob/main/build.sbt#L30).

I don't think anyone is developing this plugin on Windows

The reason for Windows in CI is not for development, but for projects that are actually using this plugin on Windows. For example, Cats Effect includes Linux, macOS, and Windows in its CI matrix. If I recall correctly there are some subtle issues with line endings and such that need to be accounted for.

If I recall correctly there are some subtle issues with line endings and such that need to be accounted for.

So I am trying to solve this in https://github.com/sbt/sbt-github-actions/pull/121 but as far as I can tell it doesn't have anything to do with line endings but rather just finding a specific file.

If fixing the test on Windows is not easy, then I think it's fine to comment Windows CI out rather than blocking all other PRs.

So I managed to fix the basic issue with the project not being able to load on Windows with https://github.com/sbt/sbt-github-actions/pull/125 however I am now getting problems regarding the tests failing. These problems are different to the CI problems and seems be due to what @armanbilge was mentioning earlier, i.e.

If I recall correctly there are some subtle issues with line endings and such that need to be accounted for.

I will make a separate issue for this specifically.

So after fixing some line break problems in https://github.com/sbt/sbt-github-actions/pull/127 and getting sbt-github-actions to pass all tests on my local Windows machine I think the core problem is something else. When you look at the failures at https://github.com/sbt/sbt-github-actions/actions/runs/3587764952/jobs/6038462004 you can see there are a lot of socket connection issues, i.e.
Error:  java.net.ConnectException: Connection refused: connect
Error:  	at java.base/java.net.PlainSocketImpl.connect0(Native Method)
Error:  	at java.base/java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:101)
Error:  	at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412)
Error:  	at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255)
Error:  	at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237)
Error:  	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
Error:  	at java.base/java.net.Socket.connect(Socket.java:609)
Error:  	at java.base/java.net.Socket.connect(Socket.java:558)
Error:  	at java.base/java.net.Socket.<init>(Socket.java:454)
Error:  	at java.base/java.net.Socket.<init>(Socket.java:264)
Error:  	at xsbt.IPC$.client(IPC.scala:21)
Error:  	at sbt.BasicCommands$.readMessage(BasicCommands.scala:472)
Error:  	at sbt.BasicCommands$.doRead(BasicCommands.scala:448)
Error:  	at sbt.BasicCommands$.$anonfun$read$2(BasicCommands.scala:435)
Error:  	at sbt.Command$.$anonfun$applyEffect$4(Command.scala:150)
Error:  	at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145)
Error:  	at sbt.Command$.process(Command.scala:189)
Error:  	at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:245)
Error:  	at scala.Option.getOrElse(Option.scala:189)
Error:  	at sbt.MainLoop$.process$1(MainLoop.scala:245)
Error:  	at sbt.MainLoop$.processCommand(MainLoop.scala:276)
Error:  	at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:163)
Error:  	at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289)
Error:  	at sbt.State$StateOpsImpl$.process$extension(State.scala:325)
Error:  	at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:163)
Error:  	at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
Error:  	at sbt.MainLoop$.next(MainLoop.scala:163)
Error:  	at sbt.MainLoop$.run(MainLoop.scala:144)
Error:  	at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:119)
Error:  	at sbt.io.Using.apply(Using.scala:27)
Error:  	at sbt.MainLoop$.runWithNewLog(MainLoop.scala:112)
Error:  	at sbt.MainLoop$.runAndClearLast(MainLoop.scala:66)
Error:  	at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:51)
Error:  	at sbt.MainLoop$.runLogged(MainLoop.scala:42)
Error:  	at sbt.StandardMain$.runManaged(Main.scala:218)
Error:  	at sbt.xMain$.$anonfun$run$11(Main.scala:133)
Error:  	at sbt.internal.util.Terminal$.withStreams(Terminal.scala:[381](https://github.com/sbt/sbt-github-actions/actions/runs/3587764952/jobs/6038462004#step:8:382))
Error:  	at sbt.xMain$.withStreams$1(Main.scala:87)
Error:  	at sbt.xMain$.run(Main.scala:121)
Error:  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Error:  	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
Error:  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
Error:  	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
Error:  	at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:56)
Error:  	at sbt.xMain.run(Main.scala:46)
Error:  	at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
Error:  	at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
Error:  	at xsbt.boot.Launch$.run(Launch.scala:149)
Error:  	at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
Error:  	at xsbt.boot.Launch$.launch(Launch.scala:159)
Error:  	at xsbt.boot.Launch$.apply(Launch.scala:44)
Error:  	at xsbt.boot.Launch$.apply(Launch.scala:21)
Error:  	at xsbt.boot.Boot$.runImpl(Boot.scala:78)
Error:  	at xsbt.boot.Boot$.run(Boot.scala:73)
Error:  	at xsbt.boot.Boot$.main(Boot.scala:21)
Error:  	at xsbt.boot.Boot.main(Boot.scala)

I think the problem here is that the Windows image in the CI is restricting the default port that is being used by the sbt server/client. @eed3si9n Maybe you have some idea here?

So I found out from the sbt discord that this is not an isolated issue, it appears that scripted tests in general don't work in the github actions Windows CI, so I made a general issue on sbt at https://github.com/sbt/sbt/issues/7082


Fixing Cred Suspension Bug

Fixed the suspension issue not reflecting back to the user.
Updated unit tests
Created suspension integration test
Added UnRevoke and UnSuspend integration test

Fixes - https://github.com/TBD54566975/ssi-service/issues/473


Moved lines compare becomes broken when double clicking

Testing #191508

VS Code Version:
Version: 1.82.0-insider
Commit: f7973f357e7c316a88e8817886f41a843021fe74
Date: 2023-08-28T05:03:24.392Z (15 hrs ago)

Steps to Reproduce:

Create a moved code block
Click "compare" button to enable compare mode, arrow becomes orange and editors become scrolling synced
Double-click "compare" button again - compare mode disabled and enabled again, but the editor shakes and left and right sides become non scrolling synced

https://github.com/microsoft/vscode/assets/22894169/90d6f8d4-3176-4538-a707-72e1b69fb9e3
Example

Thanks for reporting this!

I found one similar bug: after opening diff editor containing moves form SCM, if I click on "compare" button, then the editor shakes the same as in the video, but the compare mode is not activated at all (even compare button is not highlighted). It happens only once after each diff editor opening. Unfortunately, I cannot reproduce this bug outside of vscode (i.e. in online sandbox).

@hediet sorry to bother you, is there a chance of this being addressed?


Remove Circle CI config (rely fully on Github actions)

As discussed in our router sync up today, we've decided to get rid of Circle CI and move fully to Github actions in this repo. Main reasons:

they're almost the same, and we have GH actions working for all levels of testing (both unit + functional) while circle doesn't include functional testing yet, and we're having trouble getting existing tests working in Circle with the micro nor cal changes
GH actions has better manual workflow tooling - we might not use it once, but already have places where it would be great (eg building the GTFS validator image, which I'm adding as a manual GH actions workflow)
This repo is pretty separate from the model repo, where we'll keep using Circle. Our workflows in this repo aren't too complicated, so it shouldn't be a big context-switching cost for devs who need to update the CI in this repo down the road

cc reviewers @kaelgreco @hardisty

I think I need someone to hit the "stop building" button in circle to get the tests to stop attempting to run there. Anyone know who has admin access there?
https://app.circleci.com/settings/project/github/replicahq/graphhopper?return-to=https%3A%2F%2Fapp.circleci.com%2Fpipelines%2Fgithub%2Freplicahq%2Fgraphhopper


PSCore-Preview.3 - Fix Ubuntu 18.04 missing PWSH path when calling PowerShell.

Steps to reproduce
After installing deb package, type 'pwsh'.
maxt@ubuntu:~$ pwsh

Command 'pwsh' not found, did you mean:

  command 'wsh' from deb wcc
  command 'ppsh' from deb ppsh
  command 'posh' from deb posh
  command 'pdsh' from deb pdsh

Try: sudo apt install <deb name>

maxt@ubuntu:~$

Expected behavior
type: pwsh, then will open PowerShell Core.

Actual behavior
pwsh can't be found to execute

Workaround
Type the full path:
/opt/microsoft/powershell/6-preview/pwsh

Environment data
----------------

<!-- provide the output of $PSVersionTable -->

```powershell
PS /home/maxt> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.3
PSEdition                      Core
GitCommitId                    v6.1.0-preview.3
OS                             Linux 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

PS /home/maxt> cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
PS /home/maxt>

Hi @MaximoTrinidad ! Did you try what was listed in the release notes?

Note: In order to be able to deliver the PowerShell Core preview release and not deliver it to users expecting the stable release, we have renamed the preview package to powershell-preview and allowed it to be installed side by side with the stable package. This resulted in the symbolic link which exposes PowerShell to the Unix systems to be renamed. It was renamed to pwsh-preview for both macOS and Linux. We are considering something similar for Windows.

mark@posh-ubuntu:~$ pwsh-preview
PowerShell v6.1.0-preview.3
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS /home/mark> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.1.0-preview.3
PSEdition                      Core
GitCommitId                    v6.1.0-preview.3
OS                             Linux 4.4.0-128-generic #154-Ubuntu SMP Fri May 25 14:15:18 UTC 2018
Platform                       Unix
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@markekraus
Not really! I went straight to the instruction docs and then did the deb package installation.
I will check the release notes!  Hehe
:)

@MaximoTrinidad The instruction docs are for release versions. Preview and RC's live and die by the release notes. 😃

Ah! Got it now!
Well, a little bit of pain won't hurt. I'm guessing that's why the deb package is available.
Thanks for clarifying!
:)


Access to modify codepush deployment targets by user or team

Describe the solution you'd like
I want to be able to set which users and teams have access to each codepush deployment within an app.
Additional context
The use case is restricting developers from being able to push bundles to non-staging deployments, but allowing those with access, such as a release management team, to promote bundles to production deployments in the same app using the web interface.
It's possible to work around this issue by pulling bundles down and pushing them to another app from an account that has exclusive access to that second app using command line tools, but that's not ideal.

Thanks @mungeparty for submitting this feature request! I'll let @botatoes comment more about this.


⚠ Turnos 24x7 has degraded performance

In 0684a39, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 1063 ms

Resolved: Turnos 24x7 performance has improved in 93d0b98.


The handshake/read operation timed out

I've started running into an issue lately where trying to scan-client on deluge will time out after about 10 minutes.
Its running against over 6k torrents so there might be short hangups now and then but it seems at2 will time out the connection and break the scan.
heres the verbose error log
DEBUG:deluge_client.client:152:Calling reqid 6 method 'core.get_torrents_status' with args:({'id': ['xxx']}, ['name', 'files', 'file_progress']) kwargs:{}
INFO:deluge_client.client:96:Connecting to <IP_ADDRESS>:58846
Traceback (most recent call last):
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/libtc/clients/deluge.py", line 185, in get_download_path
    with self.client as client:
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 273, in __enter__
    self.connect()
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 84, in connect
    self._connect()
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 98, in _connect
    self._socket.connect((self.host, self.port))
  File "/usr/lib64/python3.9/ssl.py", line 1342, in connect
    self._real_connect(addr, False)
  File "/usr/lib64/python3.9/ssl.py", line 1333, in _real_connect
    self.do_handshake()
  File "/usr/lib64/python3.9/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
socket.timeout: _ssl.c:1112: The handshake operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/user/appdata/autotorrent2/bin/at2", line 8, in <module>
    sys.exit(cli())
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/__main__.py", line 760, in scan_clients
    indexer.scan_clients(clients, full_scan=full, fast_scan=fast)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/indexer.py", line 116, in scan_clients
    self._scan_client(name, client, not full_scan and fast_scan)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/indexer.py", line 132, in _scan_client
    download_path = client.get_download_path(torrent.infohash)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/libtc/clients/deluge.py", line 191, in get_download_path
    raise FailedToExecuteException(
libtc.exceptions.FailedToExecuteException: Failed to fetch download_location from Deluge

Appears to just need a bit better error handling to skip the entry that it timed out on, increase the timeout timer, and/or retry the entry.

also getting "the read operation timed out"
Traceback (most recent call last):
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/libtc/clients/deluge.py", line 227, in get_files
    with self.client as client:
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 273, in __enter__
    self.connect()
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 86, in connect
    self._detect_deluge_version()
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/deluge_client/client.py", line 125, in _detect_deluge_version
    result = self._socket.recv(1)
  File "/usr/lib64/python3.9/ssl.py", line 1226, in recv
    return self.read(buflen)
  File "/usr/lib64/python3.9/ssl.py", line 1101, in read
    return self._sslobj.read(len)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/mnt/user/appdata/autotorrent2/bin/at2", line 8, in <module>
    sys.exit(cli())
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/__main__.py", line 760, in scan_clients
    indexer.scan_clients(clients, full_scan=full, fast_scan=fast)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/indexer.py", line 116, in scan_clients
    self._scan_client(name, client, not full_scan and fast_scan)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/autotorrent/indexer.py", line 139, in _scan_client
    files = client.get_files(torrent.infohash)
  File "/mnt/user/appdata/autotorrent2/lib64/python3.9/site-packages/libtc/clients/deluge.py", line 233, in get_files
    raise FailedToExecuteException("Failed to fetch files from Deluge")
libtc.exceptions.FailedToExecuteException: Failed to fetch files from Deluge

Very similar thing on qBittorrent.

My guess is that the client is working too hard which makes the API too slow. The only solution is to make autotorrent wait longer.
Not sure if that just puts more work on the torrent client or what. Not really sure what the solution is here.


Panic during AerospikeCluster upgrade

Issue Title:
AerospikeOperator panic: runtime error: invalid memory address or nil pointer dereference during server upgrade from 6.2 to 6.4.
Issue Description:
During the upgrade process of my aerospike cluster from 6.2 to 6.4 - the aerospike operator paniced 5 times
panic: runtime error: invalid memory address or nil pointer dereference[signal SIGSEGV: segmentation violation code=0x1 addr=0x48 pc=0x187c1a0]goroutine 632 [running]:github.com/aerospike/aerospike-client-go/v6.(*Connection).IsConnected(0x1ed34fb?) /go/pkg/mod/github.com/aerospike/aerospike-client-go/v6@v6.14.0/connection.go:338github.com/aerospike/aerospike-management-lib/info.(*AsInfo).doInfo(0xc0000ac230, {0xc000c3a090, 0x1, 0x1}) /go/pkg/mod/github.com/aerospike/aerospike-management-lib@v1.1.0/info/as_parser.go:232 +0x109github.com/aerospike/aerospike-management-lib/info.(*AsInfo).RequestInfo(0x23c2060?, {0xc000c3a090, 0x1, 0x1}) /go/pkg/mod/github.com/aerospike/aerospike-management-lib@v1.1.0/info/as_parser.go:194 +0x93github.com/aerospike/aerospike-management-lib/deployment.(*cluster).infoCmd(0xc0010fef68?, {0xc000ff32d0?, 0xc000c7bd58?}, {0x1e700c9, 0xa}) /go/pkg/mod/github.com/aerospike/aerospike-management-lib@v1.1.0/deployment/cluster.go:760 +0xd7github.com/aerospike/aerospike-management-lib/deployment.(*cluster).infoOnHosts.func1({0xc000ff32d0, 0x10}, 0xc00015fe90?) /go/pkg/mod/github.com/aerospike/aerospike-management-lib@v1.1.0/deployment/cluster.go:787 +0x85created by github.com/aerospike/aerospike-management-lib/deployment.(*cluster).infoOnHosts /go/pkg/mod/github.com/aerospike/aerospike-management-lib@v1.1.0/deployment/cluster.go:784 +0x2d2

Expected Behavior:
No panic of the operator during upgrade
Steps to Reproduce (if applicable):

Change aerospike server version in the AerospikeCluster CRD from 6.2 to 6.4
apply the CRD

Environment Details (if applicable):

Cloud: AWS
Aerospike Operator Version: 3.2.1
EKS Version: 1.25

Hi @noam-ma-ma, thanks for raising the issue.
We are looking into it and will try to reproduce it.

This issue seems intermittent. We'll fix this in the upcoming release.

Hi @abhishekdwivedi3060. Do you have a schedule for when it will arrive? The operator is always in the crash loop due to the nil pointer.

Hey @mjoehl,
We released AKO3.2.2 three days ago, which includes the fix for this issue. You can upgrade your operator and give it a try.

Hi @tanmayja
I saw the new release but maybe I overlooked the hint on "whats changed" regarding this issue. I'm pretty sure that this was not listed today morning. But anyway. I have installed the new version now and am testing the fix.
Thanks for the update.


selenium-standalone-server broken since JENKINS-37987 was fixed

selenium-standalone-server is broken since JENKINS-37987 Image.inside fails for images specifying ENTRYPOINT.
This means that it becomes cumbersome to use selenium with docker-pipeline
See
https://github.com/CloudBees-community/game-of-life/blob/cloudfoundry-pipeline/Jenkinsfile#L51
https://github.com/jenkinsci/docker-workflow-plugin/commit/5b0586d6bd87fc4f108693ee9361252a24eb37d1

cc @schottsfired


The client sends an event to obtain results in real time

hi, yukibtc
I have been using nostr for many days and have learned a lot. Thank you very much.
I am currently writing the program to send note, but I have encountered a problem that when I send to multiple relays, I can only get the result after all relays have been sent.  I would like to ask if we have designed any method to monitor the sending result of each relay in real time.
The method I'm using so far is send_event
  let builder = EventBuilder::text_note(content, tags).custom_created_at(Timestamp::now());
  let event = signer.sign_event_builder(builder).await?;
  let eid = client.send_event(event).await?;

I guess you can setup client.handle_notification to monitor send_event
client.handle_notifications(|notification| async {
  if let RelayPoolNotification::Message { message, relay_url } = notification {
    if let RelayMessage::Event { event, subscription_id, .. } = message {
      // Do something
    }
  }
}).await

Yes, with something like this:
// Build event
let event: Event = EventBuilder::text_note("Text note from rust-nostr", [])
        .to_event(&my_keys)?;

// Get event ID (needed to filter the `OK` messages)
let id = event.id;

// Compose notification listener (WITHOUT CALL `.await`!)
let notifications = client
    .handle_notifications(|notification| async {
        if let RelayPoolNotification::Message { relay_url, message } = notification {
            if let RelayMessage::Ok { event_id, status, message} = message {
                if id == event_id {
                    println!("Received OK message from {relay_url}: status={status}, message={message}");
                }
            }
    }
    Ok(false)
});

// This will wait that one of the 2 future terminate.
// `handle_notifications` terminate only on shutdown or if `true` is returned inside the closure
// so the code execution will continue when `send_event` terminate.
tokio::select! {
    output = client.send_event(event) => {
        let output = output?;
        println!("{output:?}");
    }
    _ = notifications => {}
}

Thank you very much, this way has solved my problem very well.


Add v1.47.0 release of grpc-go to interop matrix

@jtattermusch it seems like the adhoc run failed - what's the protocol here?

Details

It seems that the only test failed in the adhoc run are  python-related, so that seems unrelated to grpc-go 1.47.x release.

It seems that the only test failed in the adhoc run are python-related, so that seems unrelated to grpc-go 1.47.x release.

It seems that the only test failed in the adhoc run are python-related, so that seems unrelated to grpc-go 1.47.x release.

@jtattermusch it seems like the adhoc run failed - what's the protocol here?

It seems that the only test failed in the adhoc run are python-related, so that seems unrelated to grpc-go 1.47.x release.
I'd say this one is safe to merge.


make uniform lines beneath change code here

For challenges where it said "change code below this line" and there wasn't a blank line, I added one.
Many challenges had a varying number of lines between "change code below this line" and "change code above this line" so I made all of those have one blank line for uniformity.
Lastly, on React_38 I added a space before the CSS style to make the code more readable.

This looks good, thank you!


[zn-cn] Fix typo in replicalimit-param.yaml

This is a Bug Report

Problem:
Spelling of namespace in wrong
Proposed Solution:
It should be correct
Page to Update:
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/validating-admission-policy/

/language zh

file to update:
https://github.com/kubernetes/website/blob/main/content/zh-cn/examples/validatingadmissionpolicy/replicalimit-param.yaml

/assign

Fix by PR https://github.com/kubernetes/website/pull/44193
/close


Removed old button widget references from dev/manual_tests

Updating the manual tests per https://github.com/flutter/flutter/pull/59702

I agree. I think there's a place for a kinder simpler ButtonBar, not sure if the existing one can become that. Will try.


Group plugin and dependency configuration in 1 pom file

We've currently got multiple places where plugins and profiles are configured:

https://github.com/camel-labs/camel-labs/blob/master/pom.xml
https://github.com/camel-labs/camel-labs/blob/master/bom/pom.xml
https://github.com/camel-labs/camel-labs/blob/master/iot/components/pom.xml

I would like to suggest to:

use the BOM (Bill Of Materials) only for DependencyManagement like the maven docs for the import scope suggests [1], and move the plugin and profile config to the project parent pom.

or

remove the separate bom and merge its content with the project parent pom (like Camel)

@hekonsek @davsclaus @gautric @jkirklan
What do you think?
[1] https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope

The second option seems fine for me. I.e. using the Camel approach. We can just keep the name bom, instead of parent, as the former is more friendly for the users importing that module as Bill Of Materials.

I've changed the structure of the project, to follow the ASF Camel one. Now we need to move some things from BOM to root POM, but we can do it with in the next release. This is may be finished in the next release.


Add support, in Dict.merge, for merging of "sub"-dictionaries

This allows for merging of dictionaries one level deeper than previously. This could be useful e.g. for /Resources dictionaries, where you want to e.g. merge their respective /Font dictionaries (and other) together rather than picking just the first one.

/botio unittest

/botio test

Please stop
Pada tanggal Sen, 31 Agt 2020 02.28, Tim van der Meij <
<EMAIL_ADDRESS>menulis:

@timvandermeij commented on this pull request.
In src/shared/compatibility.js
https://github.com/mozilla/pdf.js/pull/12296#discussion_r479805811:

@@ -390,4 +390,13 @@ if (
}
Object.values = require("core-js/es/object/values.js");
})();

// Provides support for Object.entires in legacy browsers.

entires -> entries
In src/shared/compatibility.js
https://github.com/mozilla/pdf.js/pull/12296#discussion_r479805819:

@@ -390,4 +390,13 @@ if (
}
Object.values = require("core-js/es/object/values.js");
})();

// Provides support for Object.entires in legacy browsers.
// Support: IE, Chrome<54
(function checkObjectValues() {

checkObjectEntries
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mozilla/pdf.js/pull/12296#pullrequestreview-478227765,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQZJC7IGHQH7XHZ3QQM7BXTSDKR5TANCNFSM4QNQKNHQ
.

Thank you for implementing support for this!


Ionic v2 Virtual scroll doesn't work on ios

Short description of the problem:
Virtual scroll doesn't work correctly. When i scroll, i see blank line.
Steps to reproduce:

Put a virtual scroll

Other information:

Which Ionic Version?
Ionic v2 beta 10

Is already an (unfortunately unfixed) issue.
See here #6766 and here #6999

Hello, thanks for opening an issue with us! I will be closing this issue as a duplicate of #6999 . Thanks for using Ionic!


NoSuchMethodError: The getter 'declaredElement' was called on null in ResolutionMapImpl.elementDeclaredByCompilationUnit

Analyzer Feedback from IntelliJ
Version information

IDEA AI-181.55<IP_ADDRESS>14246
2.1.0-edge.a2eb050044eec93f0844667b8b6132e858467e4e
AI-181.55<IP_ADDRESS>14246, JRE 1.8.0_152-release-1136-b06x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.13.6 unknown, screens 1440x900

Exception
Please append the contents of:
file:///private/var/folders/97/j96btsj95357rvm4xhg5b1nw0000gn/T/report.txt
Dart analysis server, SDK version 2.1.0-edge.a2eb050044eec93f0844667b8b6132e858467e4e, server version 1.20.5, FATAL error: Failed to handle request: {id: 7, method: edit.getAssists, params: {file: /Volumes/Ye Min Naing HD/Flutter Tensor Programming/gridview_tabs_steppers/lib/main.dart, offset: 391, length: 0}, clientRequestTime:<PHONE_NUMBER>608}
NoSuchMethodError: The getter 'declaredElement' was called on null.
Receiver: null
Tried calling: declaredElement
#0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
#1      ResolutionMapImpl.elementDeclaredByCompilationUnit (package:analyzer/src/dart/ast/resolution_map.dart:50:12)
#2      EditDomainHandler.getAssists (package:analysis_server/src/edit/edit_domain.dart:179:25)
<asynchronous suspension>
#3      EditDomainHandler.handleRequest (package:analysis_server/src/edit/edit_domain.dart:342:9)
#4      AnalysisServer.handleRequest.<anonymous closure>.<anonymous closure> (package:analysis_server/src/analysis_server.dart:750:45)
#5      _PerformanceTagImpl.makeCurrentWhile (package:analyzer/src/generated/utilities_general.dart:210:15)
#6      AnalysisServer.handleRequest.<anonymous closure> (package:analysis_server/src/analysis_server.dart:746:50)
#7      _rootRun (dart:async/zone.dart:1124:13)
#8      _CustomZone.run (dart:async/zone.dart:1021:19)
#9      _runZoned (dart:async/zone.dart:1516:10)
#10     runZoned (dart:async/zone.dart:1500:12)

It seems that AnalysisResult returned from AnalysisDriver.getResult() did not have unit filled. It might be because of some race condition in performWork() that was doing some async work. Now, this asynchronous is gone, and the error is probably fixed.


Pass in path to yaml config to specify params

Hi! First of all, thank you for the wonderful cli tool!
Currently, I am playing around with it and wondering if there is any way to specify a path to the .yaml config file which contains (possibly, not with every params specified) to populate/edit the default config determined via dataclass? For example, in pyrallis there is --config_path

Hi!
We don't have Pyrallis-style YAML support unfortunately, although similar functionality should be very doable.
I think options are basically:

Move away from YAML files entirely, a simple dictionary of configs is often enough: https://brentyi.github.io/tyro/examples/03_config_systems/01_base_configs/

Implement the YAML loading logic manually. You could parse the --config_path argument before calling tyro.cli(), this is kind of what kaolin-wisp does (docs, example code), and use it to manipulate the default passed to tyro.cli(). An environment variable also works. The exact details here depends on the specific YAML structure you want to use.


Should support text alignment.

In SwiftUI.TextField text alignment is set via .multilineTextAlignment(_:) and it is only applied on setup.

The environment multilineTextAlignment value is exposed, so the question is if it should be set by .multilineTextAlignment(_:), ProxyTextField, or both.

As a side note: .font is also exposed through the environment, but it is not possible to convert SwiftUI.Font to UIFont ...sigh.

I think it is best to make it as SwiftUI-y as possible, but a proxy equivalent wouldn't hurt.

UITextField's equivalent is \.textAlignment: NSTextAlignment. It is left-right-based rather than leading-trailing-based, so I'll have to see look up how to best make the conversion.

There seem to be two alternatives for reading the layout direction:
extension NSTextAlignment {
    static var invNatural: NSTextAlignment {
        return UIApplication.shared.userInterfaceLayoutDirection == .rightToLeft ? .left : .right
    }

extension UIView {
    var isRightToLeftLayout: Bool {
        return UIView.userInterfaceLayoutDirection(for: self.semanticContentAttribute) == .rightToLeft
    }
}

https://stackoverflow.com/questions/32245986/nstextalignment-inverse-of-natural

Proposed solution introduced in: 830e492c3569b270845f52a1caafd073b40c427a.


crc23c

Please support crc32c
Implementation:
https://stackoverflow.com/questions/17645167/implementing-sse-4-2s-crc32c-in-software/17646775#17646775
https://github.com/google/crc32c
Spec:
https://tools.ietf.org/html/rfc4960#section-6.8
https://cloud.google.com/storage/docs/hashes-etags#_CRC32C

crc32 should be supported by https://github.com/rhash/RHash/commit/0b6a50af31cf953f78c8303de0f0a485a35d83e8


opening_hours_tests fails

Running 23 test cases...
../3party/opening_hours/opening_hours_tests/opening_hours_tests.cpp:877: error: in "OpeningHoursYearRanges_TestParseUnparse": check parsedUnparsed == rule has failed [:CAN'T PARSE: != 1995]
../3party/opening_hours/opening_hours_tests/opening_hours_tests.cpp:1274: error: in "OpeningHours_TestIsActive": check Parse("2011", ranges) has failed
******** errors disabling the alternate stack:
        #error:22
        Invalid argument
unknown location:0: fatal error: in "OpeningHours_TestIsActive": memory access violation at address: 0x00000000: invalid permissions
../3party/opening_hours/opening_hours_tests/opening_hours_tests.cpp:1279: last checkpoint

*** 3 failures are detected in the test module "OpeningHours"

./opening_hours_supported_features_tests
[CUT]
../3party/opening_hours/opening_hours_supported_features_tests/opening_hours_supported_features_tests.cpp:101: error: in "OpeningHours_TestJS": Incorrect syntax which should throw an error [Nov 31; 00:23-00:42 unknown "warning at correct position?"] is valid
../3party/opening_hours/opening_hours_supported_features_tests/opening_hours_supported_features_tests.cpp:101: error: in "OpeningHours_TestJS": Missing information (e.g. country or holidays not known to opening_hours.js) [PH] is valid
../3party/opening_hours/opening_hours_supported_features_tests/opening_hours_supported_features_tests.cpp:101: error: in "OpeningHours_TestJS": Missing information (e.g. country or holidays not known to opening_hours.js) [SH] is valid
Total JS tests: 532

*** 268 failures are detected in the test module "OpeningHoursSupportedFeatures"

./opening_hours_integration_tests
Running 1 test case...
../3party/opening_hours/opening_hours_integration_tests/opening_hours_integration_tests.cpp:127: fatal error: in "OpeningHours_CountFailed": Can't open ./opening-count.lst: No such file or directory

*** 1 failure is detected in the test module "OpeningHoursIntegration"

I think my issue has something to do with this. Because of that I poste it here:
Organic Maps does not understand opening hours containing a PH (public holiday).

@NelDav see #310.


Scala Native support

Hi there.
I would like to start to work on Scala Native support.
Would you accept a PR?

@david-bouyssie
Yes
PR of Scala Native support is welcome!

👍

Solved by PR https://github.com/takayahilton/sql-formatter/pull/23

I opened another issue in the vertical-blank project:
https://github.com/vertical-blank/sql-formatter/issues/17
The long-term goal is to have quill on SN.


New k8s operator

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


Sveltekit / Server-side Rendering Support

Hi - Does this package work with Sveltekit? I have a basic Sveltekit app set up and the SalteAuth import fails with the following error.
Thanks!
import { SalteAuth } from "@salte-auth/salte-auth";
ReferenceError: self is not defined
at /Users/ericchen/Projects/sahale/frontend/node_modules/@salte-auth/salte-auth/dist/salte-auth.min.js:8:28373
at /Users/ericchen/Projects/sahale/frontend/node_modules/@salte-auth/salte-auth/dist/salte-auth.min.js:8:69
at Object. (/Users/ericchen/Projects/sahale/frontend/node_modules/@salte-auth/salte-auth/dist/salte-auth.min.js:8:233)
at Module._compile (node:internal/modules/cjs/loader:1103:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at ModuleWrap. (node:internal/modules/esm/translators:168:29)
at ModuleJob.run (node:internal/modules/esm/module_job:197:25)
at async Promise.all (index 0)

Makes sense. I suspect there's some work to get things working with Vite. Thanks for the prompt response and heads up!

Is the long tail of maintenance mode to eventually archive the project?  No worries either way, I'm just trying to understand the direction.  Meaning are you feature complete, and only doing bug fixes?  However, the project is still very much active.
This is a great library.  Thank you for your efforts!

@wolfie82
At this point we're considering it feature complete and just implementing bug fixes.
The primary reason I'm keeping feature requests around in spite of that is if I ever decide to recreate this project from scratch on my own.
However, at this point, I'm not ready to commit to owning a library like salte-auth.
Hopefully this provides a little more clarity around the projects state! ❤


Background imagery disappears when zoomed in too much

https://github.com/Zverik/every_door/assets/10835147/574f8899-22ab-45e1-963f-d886f5771ee8
This is very annoying when I want to position a newly added element.

That happens when a satellite imagery layer is added to the layer index with maxZoom higher than it actually provides. I won't, and probably cannot, write a detection algorithm to fix that kind of a mistake.
Please check if the iD editor behaves similarly at that place with that imagery.

It does not, you can test it pretty much anywhere in Poland.
Screenshot taken from max iD zoom level: 24.
We are talking about this layer:
https://raw.githubusercontent.com/osmlab/editor-layer-index/3c493f8c7ed65b046b76351013cb69d31711b4dc/sources/europe/pl/Geoportal2Orthophotomap(aerialimage)_WMTS.geojson

I believe this issue has been closed a little too quickly

This also happens with bing, it's not geoportal-specific issue it seems.

AFAIK this only happens with the Geoportal WMTS and not with the WMS imagery. Not sure if it's exactly true, but I always attributed it to a purported feature of WMTS that it responds with an error (or with blank tiles?) if the request has a zoom level beyond a certain threshold. You can deduce from getCapabilties that there seem to be different limits on zoom levels depending on projection, maybe this is where a difference between iD and EveryDoor exists?
Also note that the grey tiles for Bing have no-photo watermarks across them while the Geoportal ones don't, which shows that it's not the app that is the origin of the situation.

Also note that the grey tiles for Bing have no-photo watermarks

This is the result of zooming in too much, when zooming out on bing it works as usual. Geoportal displays white tiles, bing displays this. It's just a different way of handling such too much zoom cases.

This is the result of zooming in too much.

I understood you were implying the grey background is an artifact coming from the app, sorry.

Screenshot taken from max iD zoom level: 24.

iD may be working at level 24, but as you can see looking up async requests in the browser, for the Geoportal WMTS it doesn't ever display tiles for levels bigger than 19. Requests for higher levels such as this one for zoom 23 or this one for zoom 20, which to my limited knowledge of WMTS look correct (matrix, row and col are according to bounds specified in GetCapabilties), return exactly nothing. I can imagine two different things causing this: either Geoportal doesn't actually have imagery for levels bigger than 19 and thus the response of GetCapabilities, and in consequence editor-layer-index is wrong, or there is something going on with the way the WMTS service is queried. For context, please note that iD (what about EveryDoor?) doesn't actually support the WMTS standard. The editor-layer-index entry you linked uses the WMTS endpoint and represents it as if it was a TMS service and that's how iD is using it. I'm not familiar with the intricacies of the standards and can't tell right now for sure if using the Geoportal WMTS as actually intended would change anything.
So as I understand, a client may simply stop making requests for tiles at zoom levels greater than a certain threshold and fall back to bluntly scaling the image obtained at the assumed or discovered max zoom level. @Zverik communicated above that he's not willing to this, but iD seems to be. Oddly enough, the effective maximum zoom level for this layer in iD seems to be (as stated above) 19, not level 23 which is documented in editor-layer-index and in GetCapabilities for EPSG:3857 or level 16, which is indicated as the max in  GetCapabilities for EPSG:4326 and EPSG:2180. Possibly, iD manages to fallback to scaling the highest-zoom tile available after discovering the requests to get tiles at higher zoom levels fail.
Another possible explanation of why iD doesn't suffer and EveryDoor does is the choice of projection. I already asked before (without luck) for confirmation on EveryDoor's projection selection logic and since we're at it, I'd like to kindly ask @Zverik once more to have a look at this. I don't have means to test it in practice, but looking at the code it seems the app can use both EPSG:3857 and EPSG:4326. Is it possible that EveryDoor effectively uses the latter one, which according to GetCapabilities doesn't go beyond zoom level 16?

I can imagine two different things causing this: either Geoportal doesn't actually have imagery for levels bigger than 19 and thus the response of GetCapabilities

But because this also happens with Bing layer, I don't think this is a Geoportal issue.

I can now confirm that the problem with Geoportal's standard resolution WMTS can be reproduced in QGIS. Requests for zoom levels bigger than 19 result in an empty response (no body).

But because this also happens with Bing layer, I don't think this is a Geoportal issue.

If my assumption was true and Geoportal didn't serve images beyond zoom level 19 how wouldn't it be a Geoportal issue?

But because this also happens with Bing layer, I don't think this is a Geoportal issue.

If my assumption was true and Geoportal didn't serve images beyond zoom level 19 how wouldn't it be a Geoportal issue?

But isn't that strange that this issue happens for Bing and Geoportal (didn't test any other layers)? Bing layer is so widely used, surely someone must have noticed something by now.

It is a good remark that might help corroborating assumptions about the problem. I haven't myself checked Bing in any application yet though. Looking at the editor-layer-index definition now, we may have a hard time checking it out, because it's not a WMS or WMTS, but a type of its own. Looking at web requests made by iD, you can see that the URL has even nothing to do with the Bing URL listed in ELI and doesn't indicate in an obvious way what zoom level is requested. In the end it might even be a different problem at the root cause.
And only on top of that you have the secondary question, could EveryDoor recognize problems with getting imagery and fall back to scaling whatever it has at hand. That's very likely possible as iD seems to be doing just that, but @Zverik indicated it's too much complexity to be worth it.

Thank you for your detailed explanation, it does make sense :-). For the sake of it, I tested all remaining layers available here in Poland and it looks like the esri layer has the same issue. It does not look like fixing each individual layer would be beneficial. Adding some sort of fallback will work the best here in terms of zero maintenance. Also, some regions may have higher zoom limits, some lower, depending on a layer which will be just a pain.

That's very likely possible as iD seems to be doing just that, but @Zverik indicated it's too much complexity to be worth it.

This shouldn't be too hard: Check image size (or response code) and if needed scale back and update the current limit. Then keep that limit in memory until the application is restarted.

If Every Door supported scaling of imagery, that would also help solve this issue (via second bullet): https://github.com/Zverik/every_door/issues/589


docs: fix simple typo, objet -> object

There is a small typo in src/dictionary.c, src/dictionary.h.
Should read object rather than objet.

Thanks!


Minor: Remove non standard footer from LICENSE.txt / reference to Apache Aurora

Which issue does this PR close?
N/A
Rationale for this change
While working on https://github.com/apache/arrow-rs/issues/6233 I noticed there was a NOTICE section in the bottom of the license.
I believe this is left over from when we moved the arrow-rs code out of the arrow mono repo and the code in arrow-rs never used anything from apache aurora

What changes are included in this PR?
remove content from footer of license

Are there any user-facing changes?

Thanks for the reviews @crepererum and @Xuanwo


ConvTranspose2d giving incorrect output

When applying ConvTranspose2d with stride and dilation, the output is incorrect.
Working through a simple example:

Input Shape: 1x3x3
Kernel size: 3x3
Padding: Same (i.e.2x2 in this case)
Stride: 2x2
Dilation: 2x2

Manual Calculation

MXNet Output
We get a different output from MXNet, which I believe is incorrect. Output is offset at top and left sides, and then clusters on bottom and right sides.
...
conv = mx.gluon.nn.Conv2DTranspose(in_channels=1, channels=1,
                                   kernel_size=(3,3), padding=(2,2),
                                   strides=(2,2), dilation=(2,2))
....

[[[[ 0.  0.  0.  0.  0.]
   [ 0.  1.  0.  2.  3.]
   [ 0.  0.  0.  0.  0.]
   [ 0.  4.  0.  5.  6.]
   [ 0.  7.  0.  8.  9.]]]]
<NDArray 1x1x5x5 @cpu(0)>

PyTorch
Also, PyTorch returns an output that matches the manual calculations above. Code for this can be found below too.
...
conv = torch.nn.ConvTranspose2d(in_channels=1, out_channels=1,
                                kernel_size=(3,3), padding=(2,2),
                                stride=(2,2), dilation=(2,2))
...

tensor([[[[ 1.,  0.,  2.,  0.,  3.],
          [ 0.,  0.,  0.,  0.,  0.],
          [ 4.,  0.,  5.,  0.,  6.],
          [ 0.,  0.,  0.,  0.,  0.],
          [ 7.,  0.,  8.,  0.,  9.]]]])

Environment info (Required)
(mxnet_p36) ubuntu@ip-172-31-68-231:~$ python diagnose.py
----------Python Info----------
Version      : 3.6.4
Compiler     : GCC 7.2.0
Build        : ('default', 'Jan 16 2018 18:10:19')
Arch         : ('64bit', '')
------------Pip Info-----------
Version      : 10.0.1
Directory    : /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/pip
----------MXNet Info-----------
Version      : 1.2.0
Directory    : /home/ubuntu/anaconda3/envs/mxnet_p36/lib/python3.6/site-packages/mxnet
Commit Hash   : 297c64fd2ee404612aa3ecc880b940fb2538039c
----------System Info----------
Platform     : Linux-4.4.0-1057-aws-x86_64-with-debian-stretch-sid
system       : Linux
node         : ip-172-31-68-231
release      : 4.4.0-1057-aws
version      : #66-Ubuntu SMP Thu May 3 12:49:47 UTC 2018
----------Hardware Info----------
machine      : x86_64
processor    : x86_64
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
Stepping:              1
CPU MHz:               2699.984
CPU max MHz:           3000.0000
CPU min MHz:           1200.0000
BogoMIPS:              4600.08
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              46080K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single retpoline kaiser fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm rdseed adx xsaveopt
----------Network Test----------
Setting timeout: 10
Timing for MXNet: https://github.com/apache/incubator-mxnet, DNS: 0.0040 sec, LOAD: 0.3429 sec.
Timing for Gluon Tutorial(en): http://gluon.mxnet.io, DNS: 0.0385 sec, LOAD: 0.3615 sec.
Timing for Gluon Tutorial(cn): https://zh.gluon.ai, DNS: 0.4978 sec, LOAD: 0.3804 sec.
Timing for FashionMNIST: https://apache-mxnet.s3-accelerate.dualstack.amazonaws.com/gluon/dataset/fashion-mnist/train-labels-idx1-ubyte.gz, DNS: 0.0207 sec, LOAD: 0.1522 sec.
Timing for PYPI: https://pypi.python.org/pypi/pip, DNS: 0.0027 sec, LOAD: 0.0859 sec.
Timing for Conda: https://repo.continuum.io/pkgs/free/, DNS: 0.0284 sec, LOAD: 0.0201 sec.

Package used (Python/R/Scala/Julia):
I'm using Python
Minimum reproducible example
MXNet (giving incorrect output):
import mxnet as mx

data = mx.nd.array(((0,0,0),
                    (0,1,0),
                    (0,0,0)))
kernel = mx.nd.array(((1,2,3),
                      (4,5,6),
                      (7,8,9)))

data_batch = data.expand_dims(0).expand_dims(0)
weight = kernel.expand_dims(0).expand_dims(0)
# initialize and set weight
conv = mx.gluon.nn.Conv2DTranspose(in_channels=1, channels=1,
                                   kernel_size=(3,3), padding=(2,2),
                                   strides=(2,2), dilation=(2,2))
conv.initialize()
conv.weight.set_data(weight)
print(conv(data_batch))

[[[[ 0.  0.  0.  0.  0.]
   [ 0.  1.  0.  2.  3.]
   [ 0.  0.  0.  0.  0.]
   [ 0.  4.  0.  5.  6.]
   [ 0.  7.  0.  8.  9.]]]]
<NDArray 1x1x5x5 @cpu(0)>

PyTorch (giving correct output):
import torch

data = torch.tensor(((0,0,0),
                     (0,1,0),
                     (0,0,0)), dtype=torch.float32)
kernel = torch.tensor(((1,2,3),
                       (4,5,6),
                       (7,8,9)), dtype=torch.float32)

data_batch = data.expand(1,1,-1,-1)
weight = kernel.expand(1,1,-1,-1)
conv = torch.nn.ConvTranspose2d(in_channels=1, out_channels=1,
                                kernel_size=(3,3), padding=(2,2),
                                stride=(2,2), dilation=(2,2))
conv.weight.data = weight
print(conv(data_batch).round())

tensor([[[[ 1.,  0.,  2.,  0.,  3.],
          [ 0.,  0.,  0.,  0.,  0.],
          [ 4.,  0.,  5.,  0.,  6.],
          [ 0.,  0.,  0.,  0.,  0.],
          [ 7.,  0.,  8.,  0.,  9.]]]])

This does look like a bug. We should fix it with high priority

@piiswrong Agreed, would be very hard to pick this up with non-trivial examples.
And could cause serious downstream effects in networks with upsampling.

As the convtranspose is the backward of conv, It may also has a bug in the conv's backward with this settings.

I am looking into this.

@szha #20292 resolved this issue (and introduced a test for this)

Only on master, for now - I may backport it to v1.x

So if I build from master it should have this fix?  I will test this weekend.
It would be really nice, if the docs online said something like, "Conv2dTranspose does not work as expected on a cpu.  You must build from master if you need Conv2dTranspose.  Installations from conda or pip will not work."  I lost many, many hours to this, and building work-arounds for this.

Ok.
I'm looking at master, and it seem mxnet is getting rid of onnx.import_model.
So in order to do this, I will need to have 1.x installed: import from there, then export to mxnet
Then load master or whatever, and import the mxnet
Torch -> onnx -> import mxnet 1.x -> mxnet.json -> mxnet-master
Also it seems like SymbolBlock is replacing Module (or something like this).
(because Module has disappeared on master)
Is this what I should be doing?  Am I missing something to more simply import models from torch?

Ran tests under mxnet 1.x.
There is still something wrong in mxnet.  The outputs aren't even close.
I have a bunch of tests to try to find it, but it takes considerable time, and I'm not being paid to do this- so not sure.
Anyhow, it would probably be a good thing if mxnet had a bunch of models that were generated via torch and tensorflow - import them via onnx - and see if the outputs are close.


Google Fonts is not loaded

Hi, I have tested the chromeless with a page, and the fonts is not loading...
The screenshot is fine, but the fonts loaded for example with webfont loader, is not working...
This is the example:
const chromeless = new Chromeless({ remote: true, viewport: {width: 800, height: 1600} })

const screenshot = await chromeless
  .goto('https://www.genial.ly/View/Index/5901d777ba1ab76840eafbcc')
  .wait(5000)
  .screenshot()

console.log(screenshot)

await chromeless.end()

And this is the link, and you can check that the font is loaded in Chrome.
Any ideas? Thanks.

Hi @adieuadieu, did you check this? Can I help with something? Thanks!

Hi @chemitaxis how do you know the fonts didn't load? Missing text in the screenshot? (could you share that?). Does it work if you increase the wait time?

You can check in the example provider ;)

Hi @adieudieu I have tested with more time without success... any ideas? Thanks!

Hi @adieuadieu, here you have two screenshot, the good one, and the bad one... thanks.
Good version with font-loaded from URL:

Bad version from Chromeless without fonts:


Problems with Relation Trait

Hi there,
great ext, thanks. I'm happily using it, with a couple of issues though:

in RelationTrait.php ("dev-master" in my .composer.json) lines 156-162 read

$relModel->deleteAll($compiledNotDeletedPK);
try {
     $relModel->deleteAll($compiledNotDeletedPK);
     }
catch (\yii\db\IntegrityException $exc) {
    $this->addError($name, "Data can't be deleted because it's still used by another data.");
    $error = true;
}

Is duplicating the call to deleteAll by purpose or...?

it looks like my behaviors in related model do not apply, specifically the standard TimeableBehaviour. I use yii2 advanced tempate. I built two related models, Magazineissue and Magazineissuecsvline, I've generated CRUD code for the former using yii2-enhanced-gii and that includes code to create/delete new Magazineissuecsvlines models from Magazineissue form.
In my Magazineissuecsvlines model file I have

    public function behaviors()
    {
        return [
            'timestamp' => [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
                'value' => new \yii\db\Expression('NOW()'),
            ],
            'blameable' => [
                'class' => BlameableBehavior::className(),
                'createdByAttribute' => 'created_by',
                'updatedByAttribute' => 'updated_by',
                'value' => Yii::$app->user->id,
           ],
        ];
    }

And in my MagazineissueController, actionUpdate looks like this
    public function actionUpdate($id)
    {
        $model = $this->findModel($id);

        if ($model->loadAll(Yii::$app->request->post()) && $model->saveAll()) {
            return $this->redirect(['view', 'id' => $model->id]);
        } else {
            return $this->render('update', [
                'model' => $model,
            ]);
        }
    }

I do not show involved fields in the update form, only the three required fields

<?php
use kartik\grid\GridView;
use kartik\builder\TabularForm;
use yii\data\ArrayDataProvider;
use yii\helpers\Html;
use yii\widgets\Pjax;

$dataProvider = new ArrayDataProvider([
    'allModels' => $row,
    'pagination' => [
        'pageSize' => -1
    ]
]);
echo TabularForm::widget([
    'dataProvider' => $dataProvider,
    'formName' => 'Magazineissuecsvline',
    'checkboxColumn' => false,
    'actionColumn' => false,
    'attributeDefaults' => [
        'type' => TabularForm::INPUT_TEXT,
    ],
    'attributes' => [
        "id" => ['type' => TabularForm::INPUT_HIDDEN, 'visible' => false],
        'page' => ['type' => TabularForm::INPUT_TEXT],
        'sponsor_name' => ['type' => TabularForm::INPUT_TEXT],
        'sponsor_link' => ['type' => TabularForm::INPUT_TEXT],
        'del' => [
            'type' => 'raw',
            'label' => '',
            'value' => function($model, $key) {
                return Html::a('', '#', ['title' =>  Yii::t('publitec', 'Delete'), 'onClick' => 'delRowMagazineissuecsvline(' . $key . '); return false;', 'id' => 'magazineissuecsvline-del-btn']);
            },
        ],
    ],
    'gridSettings' => [
        'panel' => [
            'heading' => false,
            'type' => GridView::TYPE_DEFAULT,
            'before' => false,
            'footer' => false,
            'after' => Html::button('' . Yii::t('publitec', 'Add Magazineissuecsvline'), ['type' => 'button', 'class' => 'btn btn-success kv-batch-create', 'onClick' => 'addRowMagazineissuecsvline()']),
        ]
    ]
]);
echo  "
\n\n";
?>

Still, saving the form yelds a validation error on the created_by field, being emtpy.
Do yo have suggestions or tips...?
TIA,
rash*

It's my fault, I should remove line 156. Thanks!
Please ALLOW NULL on your created field and re-generate.

Thank you, again, for the extension!
mmmh... I tried that (found in closed issues), without regenerating though, just manually solving diffs. I'll try again then!

Thanks a lot!
rash*


MODELIX-814 Newly created child nodes aren't properly persisted in MPS

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


support picking using physics

createRay - dCollide - deleteRay

handle editor picking in a more simple and fast (but less accurate way) by calculating AABB for all renderables and picking those