Add handle_nans to linestrings and linearrings

This is a draft implementing the ideas in #1573 for ignoring / raising / allowing NaN values in geometry constructors.
Please let me know what you think about this.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

15 of 16 (93.75%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 84.758%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

shapely/creation.py
15
16
93.75%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
2191

Relevant Lines:
2585

💛  - Coveralls

This generally looks good to me!
While working on https://github.com/shapely/shapely/pull/1559, I realized that recent versions of GEOS actually convert NaN coordinates to empty Point (for point construction):
In [28]: shapely.points([[1, 2], [np.nan, np.nan]])
Out[28]: array([<POINT (1 2)>, <POINT EMPTY>], dtype=object)

vs
In [29]: shapely.linestrings([[1, 2], [np.nan, np.nan]])
Out[29]: <LINESTRING (1 2, NaN NaN)>

So that also makes that the "allow" option is still somewhat different depending on the actual geometry type.

Ah, and I suppose we should also add handle_nans option to the points ufunc? (at least to allow the "raise" option, "ignore" is probably not an option since that changes output size)

@jorisvandenbossche  I dusted of this old PR, it should be good to merge now (just for the linearrings and linestrings)

Thanks for your quick reply @jorisvandenbossche !

In the C code, there seem to be quite some unrelated formatting changes. Maybe you could do a separate PR doing a pass with the formatter on all C files? (we could maybe also add a clang format check in CI / in pre-commit, to enforece this) That would make the diff here a bit smaller.

Of course, sorry about the noise

For the tests, do we already have sufficient coverage for the default of "allow"? (it seems most of the new tests are for the other options). Also, it might be worth adding a test case where the NaN is in the z dimension? (for this case, users might also want to to ignore just that specific dimension, but I assume you can do that manually by just only passing x and y)

We didn't actually have tests that checked for the default handle_nans="allow". I added them. There was a bit of a surprise in the 3D NaN coordinates, which probably came up earlier: the behaviour for 3D NaN coordinates is currently such that if you pass a (N x 3) coordinate array with the first z coordinate being NaN, the geometry will be considered 2D (has_z == 2), but all the z coordinates are actually there if you fetch them using get_coordinates(..., include_z=True).
The new handle_nans="ignore" option doesn't special case the Z coordinate, so if you supply only-NaN z coordinates, you will get an empty geometry (and not a 2D geometry). And you will get an error if you do handle_nans="error". We could detect all-NaN z coordinates and assume 2D in that case? Not sure about that.

There was a bit of a surprise in the 3D NaN coordinates, which probably came up earlier: the behaviour for 3D NaN coordinates is currently such that if you pass a (N x 3) coordinate array with the first z coordinate being NaN, the geometry will be considered 2D (has_z == 2), but all the z coordinates are actually there if you fetch them using get_coordinates(..., include_z=True).

Didn't test right now, but I think this has been improved on latest GEOS (currently main branch, so will only be in 3.12). Dan Baston did quite some work on refactoring the CoordSequence (also better support Z, M and ZM coords), and I think a CoordinateSequence should now correctly set its dimension when it is being constructed, without relying on checking a coordinate for NaN (it will fall back to this check if it was not constructed with explicit dimensionality).

I think this has been improved on latest GEOS

To illustrate this, using released GEOS
In [2]: line = shapely.linestrings([[0, 1, float("nan")], [2, 2, float("nan")]])

In [3]: line
Out[3]: <LINESTRING (0 1, 2 2)>

In [4]: line.has_z
Out[4]: False

In [5]: shapely.get_coordinate_dimension(line)
Out[5]: 2

vs latest GEOS main:
In [2]: line = shapely.linestrings([[0, 1, float("nan")], [2, 2, float("nan")]])

In [3]: line
Out[3]: <LINESTRING Z (0 1 NaN, 2 2 NaN)>

In [4]: line.has_z
Out[4]: True

In [5]: shapely.get_coordinate_dimension(line)
Out[5]: 3

In [6]: shapely.geos_version
Out[6]: (3, 12, 0)

Do you think that we should consider linestring with all-NaN z values as 2 dimensional?

Not once they are created that way, I would say. I think the new behaviour with latest GEOS is better (and more consistent, not depending on checking the first coordinate), keeping track of the dimensionality how it was created.
So the question is then if we would want to detect all-NaN z values inside the construction code, and in that case create a 2D coordseq. I am not sure that is something we should do (and would it then be another option, or fall under one of the existing ones?)
The question is when users would get such coordinates with all-NaN z values. You can easily get that using get_coordinates if you specify include_z=True for 2D geometries. But I think the answer here is: don't do that? (and we should maybe change the default for that to depend on the dimensionality of the geometry, like we did for to_ragged_array)
Although one case I can think of: if you have an array of mixed 3D and 3D geometries, and call get_coordinates with include_z=True, the subset for 2D geometries will have all-NaN z values. So if you want to roundtrip that (preserving the mixed dimensionality), having the option to ignore the all-NaN z values could be useful (eg in transform)

Should we indeed also use this new parameter to handle Inf values? NaN and inf are conceptually different and it seems a bit random to me to disallow Inf and allow 1.4E+308.

No strong opinion. If treating NaNs, my feeling is that it makes sense to also handle Inf, although the NaN case is probably more common.
(I am wondering if you can get Inf values eg when reprojecting?)

What do you think about the naming of the new argument. Maybe “handle_nonfinite”? Singular “handle_nan” or plural “handle_nans”?

Yeah, I had been thinking the same while reviewing. If we keep it handling both NaN and Inf, that would make the keyword more "correct". But on the other hand, NaN will be the general case, and so using a name that reflects that might be more user friendly.

The “ignore” enum value actually confused me when I looked at the PR after a few months. It could be interpreted as “ignore the fact that a value is NaN, just insert all of them into the linestring”. I think “skip” is slightly better.

Indeed, "ignore" could easily be interpreted like that. +1 on using "skip" instead.

@jorisvandenbossche  I pushed changes per your suggestions, I think it is ready for merge now.

@jorisvandenbossche OK to merge?


Autoreload on Code Change

Hi, is there anyway to have the cluster auto-reload whenever the code is updated (basically what the standard Django instance does)?
The current workaround is to manually reload it every time I make a change.

Hey bro.
Why do not ask your question in the Django Q2 repo?
It is a maintained fork of this package.
Repo link:
https://github.com/django-q2/django-q2


feat: Hardhat Script to deploy Verifier, Resolver and create EAS Schemas

Feature Request
Schemas
Here you will make a forge script to deploy the Resolver, create the Badge Schemas in the EAS Registry (after the Resolver Deployment), and, after the Schema creation, the forge deployment script will get the schemaUIDs and set the Schemas UIDs into the Badge Resolver. After that the task is done! Congrats
The Badge Schemas (For Badge Creation) are:

The Badge issuance Schemas (For Badge Issuance) are:

Describe the Feature Request

Describe Preferred Solution

Describe Alternatives

Related Code

Additional Context

blocked by #100

Estimate suggestion: 5
@lgahdl @RafaDSan


Add tests for pkg_deb output file names

Make sure that the changes file correctly matches the file basename of the .deb file
Add the ability to test for expected names
Do some cleanup of deb tests in general

move dummy inputs from tests/testsdata to tests/deb

cc: @motiejus

This is also ready for review again.


[WIP] Fix mixThemeWithProps TS definition return type

I missed something with the last PR, here's a fix.

Hey @shiro, I've rewritten modules in Typescript, so probably this PR should be declined.
You are welcome to check type for correctness!

Alright, nice ^^
If I spot something I'll open a new ticket, so this should be closed.


Update pulumi dockerfile to multiarch

I would like to setup devcontainers for use by the developers when they are working on my custom provider. Currently since there isn't an arm64 version, the experience is slow and painful on Apple Silicon. This change updates the Dockerfile so that all that is needed is the --platform=linux/arm64 in the build and it will take care of switching out all the places needed to build. Note: The build matrices will need to be updated if this is something you would consider adding.
Thanks.

I believe I addressed all of the comments. Looking at the addition of nonroot, I think I all is well there as well.

This looks great! I think we also need to matrix the arch in ci.yml. That's only running the tests, so shouldn't need all the work for the docker manifests.
Annoyingly, there's also sync-ecr.yml and sync-ghcr.yml that push the images to the GitHub and amazon registries, which probably need to recreate the manifests again.

BTW regarding the build failure, seems like a transient GH issue https://github.com/orgs/community/discussions/139743

Added the code for gcp and aws. Didn't touch the ci one since it looks like all the other ones just use the amd64 version for testing.

I think we do test the language specific images on arm64, but I'll create a separate issue for myself to look into this for the kitchen sink image. There will likely be some issues due to us using qemu to test arm64, I know at lest dotnet can't run under qemu, and there might be some issues with nodejs also.

Test failure on this PR are because we aren't setup well for running tests for external contributions. I ran the code changes on this branch here https://github.com/pulumi/pulumi-docker-containers/actions/runs/11035725145/job/30690370889?pr=285

Unfortunately we had to disable the release builds of these images on arm64, because it takes too long to install the Python versions provided by the image when running in Docker + QEMU.
Tracking re-enabling these here https://github.com/pulumi/pulumi-docker-containers/issues/297
In the meantime, the images can be built locally on an arm64 machine.

Alright, looks like they plan on opening it up to open source by EOY. I went ahead and built the images and pushed them to my ECR so I can get my internal devs the ability to use devcontainers. I'll keep my eye on that #297


TSC Open Meeting - June 27th

NOTE: This meeting is on Thursday at 9am - 10am PT, 4pm-5pm UTC
Zoom Meeting link: https://zoom.us/j/975841675
In order to give some more visibility into the topics we cover in the TSC meetings here is the planned agenda for the next meeting.  Hopefully this will allow people to plan to attend meetings for topics that they have an interest in.  And for folks who cannot attend they can comment on this issue prior to the meeting.  Feel free to suggest other potential agenda topics.
*Please submit comments below for topics or proposals that you wish to present in the TSC meeting

Topic
Owner
Decision/NextStep

Latest JSON Schema updates and compatibility with OAS Schema
Phil S.

Message level security
Phillipe (if available)

/cc @OAI/tdc Please suggest items for inclusion

Suggested topic https://github.com/OAI/OpenAPI-Specification/issues/1953

Seems safe to close.


Bash shell overwrites itself when window set to half screen

VSCode Version: Code 1.5.3 (5be4091987a98e3870d89d630eb87be6d9bafd27, 2016-09-22T08:50:42.185Z)
OS Version: Windows_NT ia32 10.0.14931

Steps to Reproduce:

Open code
Set bash as your terminal, then laun terminal window
pin code to half of your screen (drag to right of window)
Start typing a line of code i.e. bash -n debug_03.sh one two
The last part of the line of text will overwrite the start of the line of text..  i.e<EMAIL_ADDRESS>become one<EMAIL_ADDRESS>
This is only intermittent :(

Just an image to further document this: I was trying to write "cd website"

I believe the OP's issue has been resolved.


Include the google protos for notifications service

notifications.log
@jaym The notifications service is crashing on startup. Log attached. I checked out your branch and merged with master and deployed the notifications-service in my dev env.

I tested the latest commit with the servicenow development environment and notifications are now working

@satellite15 confirmed this fixed the problem


Autowired does not work outside of Cucumber StepDefinitionsClass

Hello,
I am new to citrus, cucumber and spring. I am trying to build a test framework for our product using Cucumber and Citrus. So far, I have been liking it. But, currently i am stuck with an issue explained below. I need to demonstrate this to my management next week. Any help would be appreciated.
I have a serviceregistry that maintains the list of services. Currently My stepdefinitions class looks as below :
@Autowired
@Qualifier("workServiceEndpoint")
private HttpClient workServiceEndpoint;

@When(API)
public void invokeAPI() {
    manager = ServiceRegistryFactory.getHttpServiceRegistryInstance();
    service = manager.getService("work-service");
    api = service.getAPI("health-check");
    api.invoke(designer.http(), workServiceEndpoint, null);
}

This works perfectly.. But, I do not want to pass the APIEndpoint as a parameter from the StepDefinition class. Each service can have a different type of endpoint and hence the Service class needs to inject the endpoint. However, when I do that , my test fails.
My step definition will look as below :
@When(API)
public void invokeAPI() {
    manager = ServiceRegistryFactory.getHttpServiceRegistryInstance();
    service = manager.getService("work-service");
    api = service.getAPI("health-check");
    api.invoke(designer.http(), service.getClient(), null);
}

And in my Workservice Class, I want to do the auto-wiring of the endpoint .
public class Workservice {
    @Autowired
    @Qualifier("workServiceEndpoint")
    @CitrusEndpoint
    private HttpClient httpClient;

    // TODO: This will be loaded by config manager.For now, it is hardcoded.
    public Workservice() {
        apis.put("health-check", new GetAPI("health-check", HttpMethod.GET, webappContext + "/health"));
    }
}

But the test fails with below exception -
2018-04-12 14:47:17.484 [main] INFO  com.consol.citrus.report.LoggingReporter -
2018-04-12 14:47:17.484 [main] ERROR com.consol.citrus.report.LoggingReporter - TEST FAILED src/test/resources/features/workservice/demo1.feature:21 <com.consol.citrus.dsl.design> Nested exception is:
com.consol.citrus.exceptions.CitrusRuntimeException: Neither endpoint nor endpoint uri is set properly!
at com.consol.citrus.actions.SendMessageAction.getOrCreateEndpoint(SendMessageAction.java:176) ~[citrus-core-2.7.4.jar:?]
at com.consol.citrus.actions.SendMessageAction.isDisabled(SendMessageAction.java:137) ~[citrus-core-2.7.4.jar:?]
at com.consol.citrus.dsl.actions.DelegatingTestAction.isDisabled(DelegatingTestAction.java:60) ~[citrus-java-dsl-2.7.4.jar:?]
at com.consol.citrus.TestCase.executeAction(TestCase.java:230) [citrus-core-2.7.4.jar:?]
at com.consol.citrus.TestCase.doExecute(TestCase.java:153) [citrus-core-2.7.4.jar:?]
at com.consol.citrus.actions.AbstractTestAction.execute(AbstractTestAction.java:46) [citrus-core-2.7.4.jar:?]

How can I autowire the httpClient outside of my StepDefinitions class?

Hey @pmurali1,
have you been able to solve the issue?
BR,
Sven

Hi!
I assume that the issue has been solved.
If you've any questions, please don't hesitate to open a new issue!
BR,
Sven


Any plans for publishing checkpoints/code of the LTRe model ?

Thanks a lot for sharing this work and I have successfully reproduced the MRR@10 metrics on the MS Marco Passage ranking task using your published checkpoint.  I'm wondering if you are planning on sharing the checkpoint or code on how to reproduce the new LTRe model which achieves better MRR accuracy after training.  https://arxiv.org/abs/2010.10469
Again, thanks a lot for sharing this work.

Thank you for your attention to this work.
I'm very happy that you also notice our recent work, which we believe is a very good combination of performance and latency.
Personally speaking, since LTRe is neither officially published nor on the MS Marco leaderboard, I think not many people notice this work. Thus, I haven't worked on my 'messy' code yet 🤦♂. I will share it when it is officially published or it catches many researchers' attention.
BTW, recently I trained another document encoder with a very simple method and use LTRe to further train the query encoder. It achieves much better performance than the LTRe(ANCE) model reported in the arxiv paper.
May I ask how you noticed LTRe?

Thank you for the quick reply,
I found this repo and the original paper from search 👍  The results in the LTRe paper is pretty close to SOTA for dense single state retrieval on MS Marco passage. Looking forward to your publication and MS Marco submission. I work on Vespa.ai and we have worked with dense retrievers for question answering apps (e.g see https://blog.vespa.ai/efficient-open-domain-question-answering-on-vespa/) but currently looking at doing a sample app for MS Marco passage/document ranking.

Close this issue since codes and trained models are available at https://github.com/jingtaozhan/DRhard.


Update README.md api endpoint urls

Hey i'm looking to make my first contribution here. I am well versed in java programming language and would love to make contribution to this repo whether it be code or documentation. Just let me how I can help.

If you would like to help with documentation, some of the endpoints in the README.md have not been updated to match the paths in the controllers. If you wanted to update some of the endpoints for Stocks, Index Funds or Accounts that would be great! You can find the updated paths in each of their controllers in the src folder.
As for coding contributions, I am not entirely sure what features I want to add yet. I was thinking of adding Options Trading and a Trading Bot, however I haven't planned out how I wanted to do it yet. If you have any ideas that you think would be interesting, you can let me know

Okay I will look into README.md and update the outdated links. Unfortunately I don't think I can help you much with the coding contributions, sounds too complicated for me.


plays with many hosts fail with too many open files error on macOS

Which version of Ansible are you running?

ansible 2.7.7
  ansible python module location = /usr/local/lib/python3.7/site-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.7.2 (default, Feb 19 2019, 14:40:12) [Clang 10.0.0 (clang-1<IP_ADDRESS>)]

Is your version of Ansible patched in any way?
No
Are you running with any custom modules, or module_utils loaded?
No
Have you tried the latest master version from Git?
Yes
Do you have some idea of what the underlying problem may be?
https://mitogen.rtfd.io/en/stable/ansible.html#common-problems has
instructions to help figure out the likely cause and how to gather relevant
logs.
I have no problem when I do it to one host. With -f 1 it worked till host 48 and then all hosts failed with

fatal: [some-host]: UNREACHABLE! => {"changed": false, "msg": "Child start failed: [Errno 24] Too many open files. Command was: ssh -o \"LogLevel ERROR\" -l root -o \"Compression yes\" -o \"ServerAliveInterval 15\" -o \"ServerAliveCountMax 3\" -o \"BatchMode yes\" -o \"StrictHostKeyChecking yes\" -C -o ControlMaster=auto -o ControlPersist=60s some-host /usr/bin/python -c \"'import codecs,os,sys;_=codecs.decode;exec(_(_(\\\"eNqFkU1Lw0AQhs/Nr8htdunSbmr9CiwoPYgHEYKYgxbJx8YuprvLJmmsv95pIjapBw8L8zDvzDu8G7FYmGpmlZWEeo61A1KFj1AY90Fo6E2wzhu7IJwFnNMjR2xIDrtBz1lpKkmiIbghxENoEdCw2qN9mdTouvWF8CFPXKs0+InOu6b8lFlTJ2kpu/a8qdw8VXpu9/XGaMA7JyeyqegGd9JVyuiX8Gzd2Uq9Uw4ZbqO7Zw5rMR7rNYglGTfYGKdAtqo271KHyaa5wRcul8uLKwrUww2tU7UkAYOH+6dHzvmrBnTOTI4BU28l3sgh4txYqTFYcCnQmZNJToLzy2tOGXwpi5sKK466mEGbwiH1wv4YrLq6T/JE3f6n/ntlML7y948W9BvKaq7Q\\\".encode(),\\\"base64\\\"),\\\"zip\\\"))'\"", "unreachable": true}

Mention your host and target OS and versions
host: macOS 10.14.2
targets: mostly CentOS Linux release 7.6.1810 (Core)
Mention your host and target Python versions
host: 3.7.2
targets: 2.7.5

This is vaguely related to #470. How many hosts are you targeting?
It's not mentioned in the docs anywhere, and I simply haven't had a chance to add a (simple) error message for it yet. Quite a lot of file descriptors are currently required
Increase your ulimit -n to at least 32 + 8 + (2 * number of hosts), and preferably double that again.

This happens for two reasons, the first already mentioned: due to some messy internal handling that is very subtle to fix without breaking stuff, we currently use 2 file descriptors for every connection. It's "simple" to fix this, but anything relating to changing file descriptor lifecycle must be done very carefully :)
The second reason is because unlike with normal Ansible, there is a single process that really has connections to every machine, and file descriptor limits are per-process, not per-user. In normal Ansible, those descriptors are usually spread out across many child tasks, but for that reason, Ansible cannot keep the connections it creates open across the lifetime of a single task

Yes, thanks! Setting the ulimit -n higher helped.

Going to keep this open for now as a reminder to add a useful error hint! Thanks for reporting this

I've started adding hints for the most easy to reproduce cases, but there is no central place where all possible file limit errors can be trapped -- they happen all over the Python standard library, for example.
I've also added a change to automatically increase the Ansible run's soft file limit to the configured hard limit. At least on distributions like Ubuntu, the default soft limit is 1024 while the default hard limit is closer to 1 million. That should drastically cut down on the number of users who ever bump into this.
Thanks again for reporting!


Example for conditional return values

Trying to use fungus for a simple little algorithm thing. The algorithm returns a tree structure with branches and leaves. Those states are stored with adtEnum. Now I have a toTree procedure which is a recursive thing that either returns branches or leaves. The only problem is that I can't quite find a good way to populate result without using to everywhere in the branches. What would be the best way to handle this? I tried to have my condition set result to the right type, and then match over result, but it didn't like catching result into a mut.

Basically a bit something like this:
import fungus

adtEnum(Tree):
  Branch: tuple[branches: seq[Tree]]
  Leaf: tuple[value: string]

proc toTree(collection: seq[string]): Tree =
  if collection.len == 1:
    result = Leaf.init(collection[0])
  else:
    result = Branch.init(@[])
  match result:
  of Leaf as mut result:
    result.value.add "."
  of Branch as mut result:
    result.branches.add collection[0..<collection.len div 2].toTree
    result.branches.add collection[collection.len div 2..^1].toTree

echo @["Hello", "world", "this", "is", "some", "data", "to", "be", "put", "into", "a", "tree"].toTree

What I currently use is something like this, which I find a bit ugly:
import fungus

adtEnum(Tree):
  Branch: tuple[branches: seq[Tree]]
  Leaf: tuple[value: string]

proc toTree(collection: seq[string]): Tree =
  if collection.len == 1:
    result = Leaf.init(collection[0])
    result.to(Leaf).value.add "."
  else:
    result = Branch.init(@[])
    result.to(Branch).branches.add collection[0..<collection.len div 2].toTree
    result.to(Branch).branches.add collection[collection.len div 2..^1].toTree

echo @["Hello", "world", "this", "is", "some", "data", "to", "be", "put", "into", "a", "tree"].toTree

What I first looked for of course was something like this:
import fungus

adtEnum(Tree):
  Branch: tuple[branches: seq[Tree]]
  Leaf: tuple[value: string]

proc toTree(collection: seq[string]): Tree =
  if collection.len == 1:
    with result as Leaf:
      result.value.add "."
  else:
    with result as Branch:
      result.branches.add collection[0..<collection.len div 2].toTree
      result.branches.add collection[collection.len div 2..^1].toTree

echo @["Hello", "world", "this", "is", "some", "data", "to", "be", "put", "into", "a", "tree"].toTree

https://github.com/beef331/fungus/blob/master/tests/ttree.nim seems to be a sufficient means of handling this.


[Enhancement] Add reqeust payer option to S3 input stream

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #
https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html
Problem Summary(Required) ：

LGTM. However, do we need this feature now?

LGTM. However, do we need this feature now?

No customer demands that now


Catch an exception from FMU if solver failed and continue estimation

Currently, when the FMU solver fails the estimation stops. FMU solver sometimes fails only for certain sets of parameters . The estimation could discard these parameters and continue the estimation.
For this to work, we would have to add Exception handling to the optimization algorithms, e.g. https://github.com/krzysztofarendt/modestga
In addtion, this feature would depend on the correct elevation of FMU exceptions to Python in the FMU backend (currently FMPy).

Related issue in ModestGA: https://github.com/krzysztofarendt/modestga/issues/39

Issue solved in ModestGA. Ready for testing.

FMU needs reinitialization after a failed simulation.

This issue is being solved in branch: https://github.com/sdu-cfei/modest-py/tree/issue68/fmu-reinit

Related PR: https://github.com/sdu-cfei/modest-py/pull/69


add ScanNetworks step to CHIPDeviceController

Problem

There is no way to trigger a scanNetworks during commissioning
There is no way for apps using the iOS/Android libraries to access the network type of the client (ReadCommissioningInfo data), or access the scan results in order to choose the best network credentials for the device.
There is no way to pause the commissioning flow in the event that async processing (user or cloud) is needed to select and input the best network info.

Change overview

Added an optional commissioning step for performing the ScanNetworks
Added PairingDelegate callbacks for receiving the ReadCommissioningInfo and Scan results
Added pauseCommissioning/resumeCommissioning commands to DeviceCommissioner
Added glue to make this functionality available to Android
TODO: glue to make this functionality available to iOS

Testing

Tested using chip-tool and sample apps.
Tested with efr32

Can the use of ScanNetworks command be made configurable and skipped by default? And/or can this change go in after the 1.0 release?
Not commenting on the substance of the change but rather on the functionality it touches: This is a very high risk change as it affects most platforms and most test cases. As an example, it unmasks this bug: https://github.com/project-chip/connectedhomeip/issues/21248 and there is no telling what else can surface. Given that we are very close to SVE I think it would be reasonable to delay this.

Can the use of ScanNetworks command be made configurable and skipped by default? And/or can this change go in after the 1.0 release?
Not commenting on the substance of the change but rather on the functionality it touches: This is a very high risk change as it affects most platforms and most test cases. As an example, it unmasks this bug: #21248 and there is no telling what else can surface. Given that we are very close to SVE I think it would be reasonable to delay this.

In the latest, its turned off by default when thread credentials are provided

Android chip-tool needs to fixed up due to this commit changing the API.


Use of MAPPDK Logger

Hello
Can we omit the mappdk_logger and start only with mappdk_server to interact with the robot? Can you explain what will be the after-effects if we are not using the logger?
Also, any methods to start and stop the running mappdk_server after some time in the TP code?

@qboticslabs you can do that. The only reason mappdk_logger exist is for simultaneously running robot commands and logging data. For example, if you want to perform some robotic movement motions and at the same time log the data, then you need mappdk_logger. In essence, mappdk_logger is just a copy of mappdk_server which listens on a different port.


post a nested object

I am trying to post a nested object. As I do myRestangularObject.save() I am running into an TypeError: converting circular structure into JSON.
Somewhere Restangular is doing a JSON.stringify(myRestangularObject) to send it as a JSON.
I am wondering how to do to be able to change this to
var unNest = function(key, value){
  if(key == 'parent'){
    return;
  } else{
    return value;
  }
};

JSON.stringify(myRestangularObject, unNest)

Issue closed :) I used setRequestInterceptor


JS Selection Slider debouncer somehow causes LS (default) and RS (pin mapping) to oscillate at debounce time

so if I have default let to LS, buttons set to DP and RS, if I hold the DP button the lever always registers DP (as expected), if I hold the RS button the lever seemingly randomly oscillates between registering LS and RS (I say randomly because it's not entirely even, I think it's picking RS most of the time)
this is the same as what IA reported
if I recompile with #define JSLIDER_DEBOUNCE_MILLIS 0, no oscillation, RS button works as it should
so something in the addon's debouncer is acting strange
going to try a huge value and see what happens
yup
if I set it to 250ms, I see LS activating far less in my tester
I'm only eyeballing it, but I could believe it's 4 times a second
so something in the debouncer is momentarily setting the mode back to LS
I'm in the middle of trying another thing (and I guess figuring out why my webconfig is crashy, so two things), so I can't look at that code right now, but I would look at the bitwise operations inside if ((uNowTime - uDebTime) > JSLIDER_DEBOUNCE_MILLIS)

I have mine set DP as default.
the LS slider works fine, DP slider works fine, but the RS inputs both LS and RS rapidly.


x/vgo: internal directories inconsistently handled from package main in repo root

What version of Go are you using (go version)?
go version go1.10 darwin/amd64
Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/pdp/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/pdp/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/vs/7q9nz5955_z7b7zxfz437zrm0000gn/T/go-build533554610=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
I tried to set up an existing dummy application to be vgo-compatible.
The application is go get go.pennock.tech/dummyapp cloneable directly as https://github.com/PennockTech/dummyapp (a mutable implementation detail).
The application does not use an import declaration.
First attempt was a setup within my existing $GOPATH directory, for maximum compatibility:
% pwd
/Users/pdp/go/src/go.pennock.tech/dummyapp
% vgo build
vgo: finding golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5
vgo: finding golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4
vgo: finding github.com/sirupsen/logrus v1.0.4
vgo: finding github.com/heroku/x v0.0.0-20171004170240-705849e307dd
vgo: resolving import "go.pennock.tech/dummyapp/internal/logging"
vgo: finding go.pennock.tech/dummyapp (latest)
vgo: adding go.pennock.tech/dummyapp v0.0.1
vgo: finding go.pennock.tech/dummyapp v0.0.1
vgo: downloading go.pennock.tech/dummyapp v0.0.1
vgo: downloading github.com/sirupsen/logrus v1.0.4
vgo: downloading golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4
vgo: downloading golang.org/x/sys v0.0.0-20180202135801-37707fdb30a5
main.go:30:2: use of internal package not allowed
main.go:31:2: use of internal package not allowed
main.go:32:2: use of internal package not allowed
% touch go.mod
% vgo build
main.go:30:2: use of internal package not allowed
main.go:31:2: use of internal package not allowed
main.go:32:2: use of internal package not allowed

After confirming that the app is go get compatible, and double-checking https://golang.org/cmd/go/#hdr-Internal_Directories to be sure that my usage is correct per normal go rules, I tried a build from a place without $GOPATH set; this at least got me much better diagnostics, so that after making one change I finally got a working build.
% touch go.mod
% vgo build
vgo: cannot determine module path for legacy source directory /Users/pdp/tmp/gv/dummyapp (outside GOROOT, no import comments)

then:
% vi main.go #...
% git diff -U0 |cat
diff --git a/main.go b/main.go
index 726fae5..bf430d8 100644
--- a/main.go
+++ b/main.go
@@ -15 +15 @@
-package main
+package main // import "go.pennock.tech/dummyapp"
% vgo build
vgo: resolving import "github.com/sirupsen/logrus"
vgo: finding github.com/sirupsen/logrus (latest)
vgo: adding github.com/sirupsen/logrus v1.0.4
vgo: resolving import "golang.org/x/crypto/ssh/terminal"
vgo: finding golang.org/x/crypto (latest)
vgo: adding golang.org/x/crypto v0.0.0-20180222182404-49796115aa4b
vgo: resolving import "golang.org/x/sys/unix"
vgo: finding golang.org/x/sys (latest)
vgo: adding golang.org/x/sys v0.0.0-20180222210305-c1138c84af3a
vgo: finding golang.org/x/sys v0.0.0-20180222210305-c1138c84af3a
vgo: finding golang.org/x/crypto v0.0.0-20180222182404-49796115aa4b
vgo: downloading golang.org/x/crypto v0.0.0-20180222182404-49796115aa4b
vgo: downloading golang.org/x/sys v0.0.0-20180222210305-c1138c84af3a
vgo build  18.33s user 5.41s system 178% cpu 13.314 total

Applying the same import path constraint to the version inside $GOPATH did not help and still errored:
% pwd
/Users/pdp/go/src/go.pennock.tech/dummyapp
% git diff -U0 | cat
diff --git a/main.go b/main.go
index 726fae5..bf430d8 100644
--- a/main.go
+++ b/main.go
@@ -15 +15 @@
-package main
+package main // import "go.pennock.tech/dummyapp"
% vgo build
main.go:30:2: use of internal package not allowed
main.go:31:2: use of internal package not allowed
main.go:32:2: use of internal package not allowed

What did you expect to see?

Within a normal $GOPATH setup, the use of internal package not allowed error should not have happened, or the language specification needs refining to clarify that this usage is wrong.
The error message (outside GOROOT, no import comments) looks buggy; behavior differed from that seen when inside GOPATH, I suspect that the wrong variable is being mentioned in the error.
The hard-requirement for a package import declaration for vgo to work outside of any tree listed in $GOPATH should be documented.
The prohibition on access to internal, even with an import declaration, but only if currently inside $GOPATH, should not have happened

What did you see instead?
No way to have this go get compliant code work with vgo when inside $GOPATH, though I can at least make it work outside.

I found issue #23970 while searching for an existing bug before filing this one, but it appeared to me to be a distinct issue which just happens to affect internal, so I opened a new bug.

I tried this and reproduced your failure. In my case, it happened because vgo picked the wrong module path, which made it go look elsewhere for the go.pennock.tech imports, which then were not importable from the github path. That is, after the failure I had:
$ cat go.mod
module "github.com/PennockTech/dummyapp"

require (
	"go.pennock.tech/dummyapp" v0.1.0
)
$

If I start with the module path into the go.mod file, everything is fine:
echo 'module "go.pennock.tech/dummyapp"' >go.mod
vgo build

The auto-initializer is not perfect, unfortunately.


Undocumented but required parameter (az network route-table update)

Some commands' documentation are simply wrong. E.g. az network route-table route update expects a parameter --route-parameters that is not even documented on this page.
NOTE: No further information is available. This is a duplicate of a VSTS ticket filed from verbatim text.

There is no --route-parameters argument for route-table update and the command runs fine. There's nothing actionable here so I'm closing this and you can cite this to close the VSTS ticket.


refactor reloader.bash for better error handling

Description
This PR seeks to:

Apply linting for shfmt and shellcheck
Ensure all tests use double bracket expansion ([[]])
Modify the loader loop to handle any scripts that may lead to an exit

This is done using recursion
Protects users from having a shell that unexpectedly exits before presenting a prompt

This approach has the side-effect of allowing plugin developers to not think about explicit returns

Devil's advocate:  It's possible that the complexity here isn't worth it. I think an alternate route could be to add an EXIT trap to bash_it.sh to short-circuit if a subshell leads to an exit, which would allow us to assume all plugins will only result in implicit or explicit returns, and reduce a lot of this complexity. I have not tested this idea though...
Motivation and Context
@NoahGorny asked about logging success conditions, and I said I'd rather centralize that. This addresses that, and more.
How Has This Been Tested?
Locally
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] If my change requires a change to the documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] If I have added a new file, I also added it to clean_files.txt and formatted it using lint_clean_files.sh.
[ ] I have added tests to cover my changes, and all the new and existing tests pass.

I have an improvement that I want to investigate before merging. Hold off.

I have an improvement that I want to investigate before merging. Hold off.

ping @cornfeedhobo

ping @cornfeedhobo

@NoahGorny I've had some family stuff came up. I'll get back to everything as soon as possible,

@NoahGorny I've had some family stuff came up. I'll get back to everything as soon as possible,

@NoahGorny I've had some family stuff came up. I'll get back to everything as soon as possible,

No worries, no need to feel rushed :smile:
I hope you are doing okay, and have a great day!

@NoahGorny I've had some family stuff came up. I'll get back to everything as soon as possible,

No worries, no need to feel rushed :smile:
I hope you are doing okay, and have a great day!

@NoahGorny sorry. I need more time. I have other priorities at the moment.

@NoahGorny sorry. I need more time. I have other priorities at the moment.

@NoahGorny sorry. I need more time. I have other priorities at the moment.

I think you misunderstood me :cry:
I meant that you do not need to feel rushed to do anything here, I totally appreciate the time you contribute to Bash-it, but thats your own time. If you need time for yourself, thats completely fine, I just hope you and your family situation will get better!

@NoahGorny sorry. I need more time. I have other priorities at the moment.

I think you misunderstood me :cry:
I meant that you do not need to feel rushed to do anything here, I totally appreciate the time you contribute to Bash-it, but thats your own time. If you need time for yourself, thats completely fine, I just hope you and your family situation will get better!

@NoahGorny No problem at all. I emailed you to explain :)

@NoahGorny No problem at all. I emailed you to explain :)

I'm going to add some tests for this. Hold on to your butts

I'm going to add some tests for this. Hold on to your butts

My testing was going smooth until I added a canary to test for a silent failure. I'm going to take a different route. This might take a while. don't wait up.

My testing was going smooth until I added a canary to test for a silent failure. I'm going to take a different route. This might take a while. don't wait up.

@NoahGorny Well, for now I've pushed the tests I'm working against. You let me know if these cases make sense to you.

@NoahGorny Well, for now I've pushed the tests I'm working against. You let me know if these cases make sense to you.

Hi @cornfeedhobo , nice changes. I think that the test plugins you added should only be present when running the tests, maybe we should store them inside the test directory and copy them to the plugin directory on setup?

Hi @cornfeedhobo , nice changes. I think that the test plugins you added should only be present when running the tests, maybe we should store them inside the test directory and copy them to the plugin directory on setup?

@NoahGorny I think you might have looked at this on your phone or maybe missed that these plugins are in test/fixtures/

@NoahGorny I think you might have looked at this on your phone or maybe missed that these plugins are in test/fixtures/

Whoops, my bad. I will take a look now

Whoops, my bad. I will take a look now

Hey @cornfeedhobo, I have made some small changes in order for everything to work, lemme know what you think

Hey @cornfeedhobo, I have made some small changes in order for everything to work, lemme know what you think

@NoahGorny Sounds good. Let's leave this PR open for discussion before making any moves. I'm not in a rush and I'm not sure how I feel about the approach. I'm happy to protect users from exits, but I wish it wasn't at the cost of double loading, which I could see becoming expensive for plugins that do things like query brew, which has a very long start time.

@NoahGorny Sounds good. Let's leave this PR open for discussion before making any moves. I'm not in a rush and I'm not sure how I feel about the approach. I'm happy to protect users from exits, but I wish it wasn't at the cost of double loading, which I could see becoming expensive for plugins that do things like query brew, which has a very long start time.

@NoahGorny oh, if you were trying to make the tests happy, they worked before I pushed and went to bed. Since these don't have pressure to make progress quickly, please don't feel the need to make edits or push it along. I'll get to the tests at my next free time. This is nowhere near the final state I'd like it in anyways. Thanks!

@NoahGorny oh, if you were trying to make the tests happy, they worked before I pushed and went to bed. Since these don't have pressure to make progress quickly, please don't feel the need to make edits or push it along. I'll get to the tests at my next free time. This is nowhere near the final state I'd like it in anyways. Thanks!

@NoahGorny were the tests failing before you made your changes? Is that why you made edits?

@NoahGorny were the tests failing before you made your changes? Is that why you made edits?

@NoahGorny were the tests failing before you made your changes? Is that why you made edits?

Oh, my bad, I had weird "bash: trap: ./enabled/350---pip.completion.bash: invalid signal specification" lines whenever I reloaded bash-it, so I changed the trap line to use single quotes, this prevented the lines, but fails the test. I should have noticed that....sorry
Do you know why the test fails when using only single quotes in the trap line?

@NoahGorny were the tests failing before you made your changes? Is that why you made edits?

Oh, my bad, I had weird "bash: trap: ./enabled/350---pip.completion.bash: invalid signal specification" lines whenever I reloaded bash-it, so I changed the trap line to use single quotes, this prevented the lines, but fails the test. I should have noticed that....sorry
Do you know why the test fails when using only single quotes in the trap line?

The scripts variable would have to be a global for the trap to expand at the time of signalling, so I do the expansion up-front.
Looks like you got an error when manually testing?

The scripts variable would have to be a global for the trap to expand at the time of signalling, so I do the expansion up-front.
Looks like you got an error when manually testing?

f

The scripts variable would have to be a global for the trap to expand at the time of signalling, so I do the expansion up-front.
Looks like you got an error when manually testing?

I got this error every time I reloaded bash-it, in general usage.. I can add a pic if you want

f

The scripts variable would have to be a global for the trap to expand at the time of signalling, so I do the expansion up-front.
Looks like you got an error when manually testing?

I got this error every time I reloaded bash-it, in general usage.. I can add a pic if you want

@NoahGorny I see it. I'll keep chipping away, but I'm not really in a rush. I'm probably going to pause on this and refocus on the language plugins, which is what I hear about the most with my users.

@NoahGorny I see it. I'll keep chipping away, but I'm not really in a rush. I'm probably going to pause on this and refocus on the language plugins, which is what I hear about the most with my users.

$0.02: I'm very much against subshells. They reduce performance, increase resource usage, and cause weird issues like making it difficult to redirect stdout. If we're running scripts from outside this project, then it entirely makes sense that they should be run independently rather than sourced, but if we're importing things from outside that are intended to improve our interactive shell experience (as is the purpose of this project) then we ought to demand that those outside scripts are reliable and predictable.
I've actually just (barely) started on a PR to try to improve use of bash's own features to reduce calling out to external tools and subshells, but now that I've found this one I may need to rebase here and see how things go.
Alsö, I would heavily object to any sourced script ever calling exit. I'd come out mega-grumpy on their bug tracker.

@gaelicWizard I gotta be honest, I haven't touched this in six months, and I'm completely confused by your comment and it's context.
Only your last paragraph made sense to me, and I can only say that I have no control over what a user does. My use case is I have users at a company, and they source a script with exit in it. They have zero control over this. I would much rather a loader that never leaves the shell unusable. Most users will not know how to debug once they find themselves with a shell that exits on load.

My use case is I have users at a company, and they source a script with exit in it. They have zero control over this. I would much rather a loader that never leaves the shell unusable. Most users will not know how to debug once they find themselves with a shell that exits on load.

This makes so much more sense now.
Alsö, literally just yesterday I found a cursed technique to abuse shell commands, so I may offer a simple (and fun!) PR that might address your use case. 😃

@cornfeedhobo
this sounds mad silly...but...try this? It won't work if the exit is inside a function...
alias exit=return
source /the/bad/script
unalias exit

Does that work?

It's crazy, but I'm willing to explore the idea. Thanks for sharing!!
Luckily, this isn't a rushed item. I was able to work with each user to identify and fix their problems, but it's what made me consider a generalized loader to handle this.

interesting- I am waiting for a followup from this :smile:

Sorry I missed the fun here but wanted to share my ultimate exit vs return hack:
exit-or-return.sh
#!/usr/bin/env bash

(return 0 2> /dev/null) && return ${1:-0} || exit ${1:-0}

usage
$ /tmp/exit-or-return.sh ; echo $?
0

$ /tmp/exit-or-return.sh 7 ; echo $?
7

$ source /tmp/exit-or-return.sh ; echo $?
0

$ source /tmp/exit-or-return.sh 127 ; echo $?
127

Cheers !

Here's what I use to determine if the script is being sourced or executed:
stuff() { :; }

if [[ "${BASH_SOURCE[0]}" != "$0" ]]
then # We are being sourced.
: # do anything necessary for external usage
else # we are being executed
: # run main function with "$@" and exit
fi

I like it because I can have one file with both ends of a client/server setup (e.g., screen) functions and whatnot.


PropertySortOrder - Why by default height property is before width?

Hi, I know now we can do custom order: https://github.com/sasstools/sass-lint/pull/113
I am wondering why by default height property is before width? Didn't get any information related to this topic but it would be great that some one can explain this.

If you enable the the PropertySortOrder rule but don't specify a particular ordering then the default sort order is alphabetical,
https://github.com/sasstools/sass-lint/blob/develop/docs/rules/property-sort-order.md

oh, thank you @BPScott.


Expand textarea instead of scrolling in an already-scrolling window

textarea already has an overflow: hidden directive above that is overridden here, causing the issue on Linux.
By making the textarea simply grow in length instead of staying a constant length and scrolling, the window still scrolls as you would expect and scrollbars on the textarea don't mess up the colored highlighting (#6).
This works on Linux, but I haven't tested it on Windows or OS X.

Awesome, thanks @drusepth!
One last thing, I applied the same changes to readability, could you check for me if that works too? If so, thank you!

@wooorm Just double checked and it looks like it works there also. :+1:

On a related note, I didn't realize you had these other projects as well. They are somewhat similar to a project I've been working on on-and-off for a little that is open source, so the code might be helpful (or inspirational!).
The repo is at dactyl and it started out as a suite of ways to analyze text (here's an example), but now it lets you "write more" like the text you just analyzed. Basically, if you were to paste in a bunch of Gary Provost, it gives you an editor that shows you some metrics on your writing and how it compares to Gary (with some suggestions on how to change it). Here's an example.
It looks like the strong suits of what you've made here are exactly what the project is missing (a nice, clean UI and text highlighting), so I just wanted to share it in case you found it helpful to you, or wanted to help out with it, or anywhere in-between. Sharing tools is fun, and I'm happy to help whenever! :)


"Not the most performant way to do a corner radius"

Hey guys, found out about LayoutKit from Realm today, looks incredible. We've been having serious issues with auto layout performance and also use a lot of corner radius's in our views, can you provide a link to something more performant?
Re: http://layoutkit.org/building-ui/#defining-composite-layouts

@AndrewBarba more effective way to round an UIViewis to assign an CAShapeLayerwith desired UIBezierPath. Something like this:
let radius: CGFloat = 5
let path = UIBezierPath(roundedRect: bounds, byRoundingCorners: corners, cornerRadii: CGSize(width: radius, height: radius))
let mask = CAShapeLayer()
mask.path = path.cgPath
self.layer.mask = mask

We've been having serious issues with auto layout performance and also use a lot of corner radius's in our views

Make sure you measure perf using instruments so you know what the actual performance problem is. For example, if you disable all occurrences of corner radius in your cells, does FPS go up during scroll? If yes, then it is worth fixing; if no, then don't bother.

can you provide a link to something more performant

The two general solutions that I am aware of are:

Masking, like what @Jauzee suggested
Processing the image so that it is actually a circle (transparent corners). Processing could be done on the server or on the client depending on your requirements.

Hope that helps.

@Jauzee @nicksnyder Thank you guys, all great tips


RuntimeError: Cannot find callable dinov2_vits14_reg in hubconf

I am able to load the ones without register. However, I couldn't load the one with register using torch.hub.load('facebookresearch/dinov2', 'dinov2_vits14_reg') and it always shows RuntimeError: Cannot find callable dinov2_vits14_reg in hubconf.  Really eager to know the reason.
The reason why I want to switch from vits14 to vits14_register is because under vits14, black background is brighter than the digit (target is darker), which is the opposite of what I expected. It may be encoding something in the black areas.

See #296 and #309: don't forget to specify force_reload=True in the call to torch.hub.load() (if you have previously used DINOv2 backbones w/o registers), otherwise your code will hit the outdated PyTorch Hub local cache.


DFRPG - Trying to fix merge failure

Despite the pull request creation page claiming this could be merged without issue, the pull request itself claimed there were conflicts; going to try again in a bit.


Update blogs.json

Thanks for this. Unfortunately I don't see any posts on your blog about iOS development and so this is probably not a great fit for this directory! Thanks for the submission though!
Dave


fix: cyclic rendudency

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


What is the difference between kinetic-devel and master branches?

The question might be silly. But what is the difference between kinetic-devel and master branches? I am running ROS kinetic. Can I use master version of ur_modern_driver? Thanks

Hi.
Yes, one of the differences is that plain master will not compile on Kinetic.
But apart from that the version in kinetic-devel is also a complete rewrite of ur_modern_driver. So it's not functionally equivalent (but that is intentional, it's hopefully better than the master version).
The rewrite will be announced in the near future as the replacement for the older version. We're working towards that now.


getCurrentInstance broken with Vue Composition API 1.0.0-beta.22

Hi @antfu, big thanks for providing Vue Demi.
Since the breaking change introduced in Vue Composition API 1.0.0-beta.22 getCurrentInstance only works with the following workaround in Vue 3:
const vm = isVue3 ? getCurrentInstance() : getCurrentInstance().proxy
const lazy = vm.attrs.modelModifiers.lazy // will crash with getCurrentInstance().proxy

Can you share a minimal repro repo? Thanks.

Vue 2: https://codesandbox.io/s/happy-ives-ybd68?file=/src/CustomInput.vue
Vue 3: https://codesandbox.io/s/solitary-fog-6irjl?file=/src/CustomInput.vue
With Vue 2 + Composition API 1.0.0-beta.22 the syntax has changed to
const vm = getCurrentInstance().proxy

This should be encapsulated by vue-demi since it does not work in Vue 3 or do I get something wrong here?

The breaking change introduced in the Vue 2 plugin is trying to align with Vue 3.
Your usage actually has multiple breaking changes in Vue 3 involved.

$listener get removed in Vue 3 and present in $attr
v-model changes
vdom changes

This is really tricky to polyfill and it's not the responsibility of VCA plugin nor Vue Demi. I would suggest you use the if (isVue2) to handle the version-specific logic here, which is simpler and more clear.

Just realized that I mixed up the Vue 3 types ComponentInternalInstance and ComponentPublicInstance and now understanding the background of the alignment. Closing this. Thank you!


Spyder crashes after installing Anaconda

Problem Description
I installed Anaconda recently.
When I run Spyder I get an error message stating Spyder crashed during the last session.
What steps reproduce the problem?
What is the expected output? What do you see instead?
Simply opening Spyder makes the problem showing up.
I followed the troubleshooting guidelines:

Restarting the computer => issue not solved
Upgrading Spyder => ok
Updating Spyder's dependencies and environment => the following issue appears:

"Executing transaction: - DEBUG menuinst_win32:__init__(199): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\aguiot\AppData\Local\Anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\aguiot\AppData\Local\Anaconda3\pythonw.exe, args are ['C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\cwp.py', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\pythonw.exe', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Scripts\\spyder-script.py']
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\aguiot\AppData\Local\Anaconda3\python.exe, args are ['C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\cwp.py', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\python.exe', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Scripts\\spyder-script.py', '--reset']
DEBUG menuinst_win32:__init__(199): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\aguiot\AppData\Local\Anaconda3', env_name: 'None', mode: 'user', used_mode: 'user'
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\aguiot\AppData\Local\Anaconda3\pythonw.exe, args are ['C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\cwp.py', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\pythonw.exe', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Scripts\\spyder-script.py']
DEBUG menuinst_win32:create(323): Shortcut cmd is C:\Users\aguiot\AppData\Local\Anaconda3\python.exe, args are ['C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\cwp.py', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\python.exe', 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Scripts\\spyder-script.py', '--reset']
done
Rolling back transaction: | menuinst Exception
Traceback (most recent call last):
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\conda\gateways\disk\create.py", line 246, in make_menu
    menuinst.install(join(prefix, win_path_ok(file_path)), remove, prefix)
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\menuinst\__init__.py", line 74, in install
    _install(path, remove, prefix, mode='user')
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\menuinst\__init__.py", line 33, in _install
    data = json.load(open(path))
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Menu\\spyder_shortcut.jso- menuinst Exception
Traceback (most recent call last):
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\conda\gateways\disk\create.py", line 246, in make_menu
    menuinst.install(join(prefix, win_path_ok(file_path)), remove, prefix)
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\menuinst\__init__.py", line 74, in install
    _install(path, remove, prefix, mode='user')
  File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\menuinst\__init__.py", line 33, in _install
    data = json.load(open(path))
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\aguiot\\AppData\\Local\\Anaconda3\\Menu\\spyder_shortcut.jsodone

[WinError 87] The parameter is incorrect"

I got this other error message when I launch Spyder from Anaconda console:
Traceback (most recent call last):
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3718, in main
mainwindow = run_spyder(app, options, args)
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3559, in run_spyder
main.setup()
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 961, in setup
self.completions.start_client(language='python')
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\plugins\completion\plugin.py", line 306, in start_client
client_started = client_info['plugin'].start_client(language)
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\plugins\completion\languageserver\plugin.py", line 212, in start_client
language_client['instance'].start()
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\site-packages\spyder\plugins\completion\languageserver\client.py", line 262, in start
env=new_env)
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "C:\Users\aguiot\AppData\Local\Anaconda3\lib\subprocess.py", line 1207, in _execute_child
startupinfo)
OSError: [WinError 87] The parameter is incorrect

Versions

Spyder version: 4.0.1.
Python version: 3.7.6.
Qt version: 5.9.6.
PyQt version: 5.9.2.
Operating System name/version: Windows 10

Dependencies
Unfortunately, I cannot paste the dependencies... Doesn't work.

Hi @statixx, thanks for reporting this issue, by looking at your description, it seems that you have some issues with your Anaconda installation, have you tried to uninstall and delete all the folders and try to install it again?

Hi I just joined because i'm having a similar issue but all of this tech-talk is kind of going over my head as i'm new to this myself and don't want to create a new thread unnecessarily. How does one go about uninistalling anaconda on a mac? Simply going to applications and dragging to trash bin suffices?

Hi @andfoy, I think I have serious installation issues as well as dependency ones.
I actually uninstall Anaconda (from Control Panel\Programs\Programs and Features) 3 times and reinstall it using the 64bit and Python 3.7 version installer. I always get the same error messages.
The thing is I am not sure about how clean is the uninstall process through \Programs and Features). Is it clean? Is there any better way to cleanly uninstall Anaconda?

As I wrote, I already uninstalled. Please, read my post before feeding it.

The thing is I am not sure about how clean is the uninstall process through \Programs and Features). Is it clean? Is there any better way to cleanly uninstall Anaconda?

I notice that, after unstalling it, I still have some Anaconda or Spyder-related folders on my C:...
Sorry for not being more clear, but you were asking about a clean uninstall. removing the anaconda3 folder, C:\Users\aguiot\AppData\Local\Anaconda3 in your case, should be a clean uninstall.

Ah ok, thank you. I usually do uninstall from Control Panel\Programs\Programs and Features (I use Windows) so I don't need to care where the files are located. How do you uninstall?

How do you uninstall?

I usually use Linux, but on Windows I usually do the same as you. Anaconda can be a little different though.

So, as I wrote, I uninstalled many times. It doesn't solve my issue. Any suggestion?

Do you have Kite installed? That can install separately from Anaconda.

No, I don't. Ok I will try to donwload it. Thanks

I don't think that installing it will help. I was thinking that if it was installed separately from Anaconda it could be causing you trouble.

Ok. Does anyone can solve this issue?

Hey @statixx , sorry for the long delay before replying; I just happened to notice this issue while helping a user with another. It appears the problem is due to something with your Anaconda install outside of Spyder's control. Please try the steps listed in the Spyder Troubleshooting Guide, specifically the Basic First Aid and Emergency CPR sections, which resolve the great majority of these types of issues.
I would skip to Step 4 under Basic Troubleshooting, and if those don't work, try those under First Aid. Also, it would be helpful if you could post the full output of conda list run from the Anaconda Prompt in the environment in which you are trying to launch Spyder (base, by default), inside details and literal tags like so:
<details>

```
<PASTE YOUR CONDA LIST OUTPUT HERE>
```

</details>

Thanks!

Closing due to lack of response.


Added Data Prepper 1.2.1 archives.

Description
This PR adds Data Prepper archive files for Linux.
Additionally, Data Prepper includes a bundle without an embedded JDK. I took the approach of referring users to the archives directory for this artifact. This is similar to how the OpenDistro Data Prepper download page worked.
Issues Resolved
N/A
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the BSD-3-Clause License.

@stockholmux , Thanks for the suggestion! I updated the platform_order so that Docker comes before Linux. Now it is selected by default for Data Prepper.

@dlvenable Thanks for the PR!
Maybe in the future we should figure out a more graceful way to deal with the no-JDK option, but the way you did it works for now so no changes needed.

Thanks for merging @stockholmux . I created #624 as a feature request to better support the no-JDK download option.


Angular-nvd3 as a child directive

Hello,
I am trying to write an angular directive with isolated scope that has a template containing the angular-nvd3 directive
angular.module('myApp', ['nvd3'])
  .directive('myD', [function() {
    return {
      template: '<div nvd3 options="ctrl.options" data="ctrl.data"></div>',
      bindToController: true,
      scope: {
        w: '=',
        h: '='
      },
      controllerAs: 'ctrl',
      controller: [function() {
        var ctrl = this;
        ctrl.options = ctrl.options || {
         ... // nvd3 options object
        };
        ctrl.options.chart.width = ctrl.w;
        ctrl.options.chart.width = ctrl.w;
      }]
    }
  }]);

The problem is in my testing when I modify the props to my parent directive, the nvd3 graph does not update. Looking at the code for angular-nvd3, I would have thought that any change to the options prop would trigger a refresh(it certainly seems to when it's not a child directive).
Any thoughts/suggestions to achieve this?

The nvd3 directive lets you say
<nvd3 api="api" ...>
as a way to pass through an 'api' object that you can call various update/refresh methods on.  I think that's the answer to your problem, though I haven't tried it.  See http://krispo.github.io/angular-nvd3/#/quickstart and look for the keyword API.


Change stub description

If we can change atleast the Program Description of the build stub in the builder it would be great.

Done. Thank you.


Where's the exact place of a db collection name setting?

Description

Type: Question

Question
Can you please tell me where I can change the db collection name for "topics" or "users"?
Thank you.

at server/db/[database]/model
you can find topic.js and user.js

No it can't be. Here's the mongo console output:

use ReactWebpackNode
switched to db ReactWebpackNode
show collections
sessions
topics
users

collection name is not "Topic" it's "topics"

As far as I am aware, collections are always lowercase and plural. That is just the mongodb convention.
Can you tell me why you want to change the name? Are you trying to make a new collection of items?
It would be well worth it to just make a new item along side what is already there, and then start removing what you don't need.

K1tsu. Mongoose Topic is auto-translated into topics.
If you make Car model. It will be saved as cars

@ZeroCho yes, you absolutely right - I'm trying to make another model in separate files. And I made it, but this naming... What do you mean by "auto-translated" from Topic to topicS? Where is this translation method?

there is no translation method. it is the internals of how mongo does things. It take the capitalized singular \model name and and created a collection that is lowercase and plural.

@caranicas Ahh.. Ok. Yes it does translate "ggg" to "gggs" but not translating "gggs" to "gggss" because it thinks there's already 's'. So I named my collection "status" and was wondering why it was not "statusES" in db. Now I know...
Thank you.

@k1tzu check this stack overflow post. the selected result has way to customize your collection name.
http://stackoverflow.com/questions/10547118/why-does-mongoose-always-add-an-s-to-the-end-of-my-collection-name

And documentation

@ZeroCho No wonder I couldn't find that information the  mongodb docs.

Also I found real codes that pluralizes the model name. Mongoose handles uncountable model names too.
link


chore(master): release 1.1.114

:robot: I have created a release beep boop
1.1.114 (2023-07-08)
Miscellaneous

deps: update dependency sort-package-json to v2.5.1 (3e27b3f)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/keywind/releases/tag/v1.1.114 :sunflower:


feat(default_ad_api): add operation mode api

Signed-off-by: Takagi, Isamu<EMAIL_ADDRESS>Description
This is an implementation of operation mode API. For details, see the discussion page.
Related links
https://github.com/autowarefoundation/autoware.universe/pull/1535
https://github.com/autowarefoundation/autoware.universe/pull/1586
https://github.com/tier4/tier4_autoware_msgs/pull/46
Tests performed

Launch the planning_simulator.launch.xml, initialize pose and set route.
Call change_to_autonomous service, and check if the vehicle starts.
Call change_to_stop service, and check if the vehicle stops.
Call change_to_local and change_to_remote services, and check if gate_mode and selector_mode are changed (AutowareStatePanel is useful).

Notes for reviewers
Commands
ros2 service call /api/operation_mode/change_to_stop autoware_adapi_v1_msgs/srv/ChangeOperationMode
ros2 service call /api/operation_mode/change_to_autonomous autoware_adapi_v1_msgs/srv/ChangeOperationMode
ros2 service call /api/operation_mode/change_to_local autoware_adapi_v1_msgs/srv/ChangeOperationMode
ros2 service call /api/operation_mode/change_to_remote autoware_adapi_v1_msgs/srv/ChangeOperationMode
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Here is several commend for this PR

I think the /api/operation_mode/state should be change to publish in 10Hz, as now it only publish when it receive mode change. This might cause the data loss if the connection is not stable, so I think is better to publish it in a constant  frequency.
The tools will required to base on the mode and choose the mode change, but currently I cannot get the mode in the initial, so the tools cannot know is the vehicle in and cannot call the correct service.
is_autonomous_mode_available is always false, cannot change to auto mode

@tkhmy Thank you for the comments.

AD API avoid periodically publishing topics because it increases the amount of communication. The data loss should be guaranteed by DDS QoS.
Since the initial state depends on the vehicle interface, the application need to wait until the first state
Will it be true if I set initial pose and route?

@tkhmy Thank you for the comments.

AD API avoid periodically publishing topics because it increases the amount of communication. The data loss should be guaranteed by DDS QoS.
Since the initial state depends on the vehicle interface, the application need to wait until the first state
Will it be true if you set initial pose and route?

I think if AD API do not plan to periodically publish topic, it should be change to services instead of topic, because the app will not able to get the data is the change occur before the app launch.
Which part will trigger the first state? As some of the application will need to use the api to trigger the mode change, currently in psim, we will not able to get any info.
It still false even I set the initial pose and route

I think if AD API do not plan to periodically publish topic, it should be change to services instead of topic, because the app will not able to get the data is the change occur before the app launch.

QoS of this topic is reliable/transient_local, so the application can read the message even if it is started later.

Which part will trigger the first state? As some of the application will need to use the api to trigger the mode change, currently in psim, we will not able to get any info.

The state needed to set the initial pose.

It still false even I set the initial pose and route

https://github.com/tier4/autoware_launch/pull/561


added a new type of CreateView

This new type of Edit View that inherits from CreateView let set more than one model to a CreatView.
For example:
class ExampleCreateView2(CreateViewV2):
models_fields = {
Model1: [
'field1',
'field2'
],
Model2: [
'field1',
'field2',
'field3'
],
Model3: ['field1'],
etc ..
}
template_name = 'index.html'

And, in the .html you just need to do :
{% for form in forms %}
{{form}}
{% endfor %}

Thanks for this patch, but all new features require an accepted ticket. Also I don't think we would accept new generic views.


fix: test command fails searching a file .test_runner.dart

Description
Hi VGV team! When I run the CI workflow using the very_good cli test feature I see this error.
Run very_good test -j 4  --optimization --coverage --test-randomize-ordering-seed random
Running "flutter test" in /home/runner/work/chptr-mobile/chptr-mobile...

Failed to load "/home/runner/work/chptr-mobile/chptr-mobile/test/.test_runner.dart": 'package:flutter/src/foundation/binding.dart': Failed assertion: line 146 pos 12: '_debugInitializedType == null': is not true.

dart:core                                                          _AssertionError._throwNew
package:flutter/src/foundation/binding.dart 146:12                 new BindingBase
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding&WidgetsBinding
package:flutter_test/src/binding.dart                              new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding&WidgetsBinding&TestDefaultBinaryMessengerBinding
package:flutter_test/src/binding.dart                              new TestWidgetsFlutterBinding
package:flutter_test/src/binding.dart                              new AutomatedTestWidgetsFlutterBinding
test/create-chptr/widget/create_chptr_form_display_test.dart       new CustomBindings
test/create-chptr/widget/create_chptr_form_display_test.dart 52:3  main
package:test_api                                                   Declarer.group
package:flutter_test/src/test_compat.dart 189:13                   group
test/.test_runner.dart 211:3                                       main

loading /home/runner/work/chptr-mobile/chptr-mobile/test/.test_runner.dart /home/runner/work/chptr-mobile/chptr-mobile/test/.test_runner.dart (FAILED)
00:[30](https://github.com/chptr-app/chptr-mobile/actions/runs/3130687755/jobs/5081372853#step:8:31) ...
00:29 -1: ...ding /home/runner/work/chptr-mobile/chptr-mobile/test/.test_runner.dart
00:29 -1: Some tests failed.

I'm in Flutter 3.3.2
Flutter 3.3.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision e3c29ec00c (12 days ago) • 2022-09-14 08:46:55 -0500
Engine • revision a4ff2c53d8
Tools • Dart 2.18.1 • DevTools 2.15.0

Flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.2, on macOS 12.4 21F79 darwin-arm, locale en-AR)
[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.71.0)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

`Steps To Reproduce

Add a CI workflow with the VGCLI
Flutter version 3.3.2
Run test with the very good cli
See error

Expected Behavior
Test should run without errors

Hi @gonzalogauto 👋
Thanks for opening an issue!
Does the issue only occur in CI or can you also reproduce it locally by running very_good test -j 4  --optimization --coverage --test-randomize-ordering-seed random?

Hi @gonzalogauto 👋 Thanks for opening an issue!
Does the issue only occur in CI or can you also reproduce it locally by running very_good test -j 4 --optimization --coverage --test-randomize-ordering-seed random?

Same locally 😢

Hi @gonzalogauto 👋 Thanks for opening an issue!
Does the issue only occur in CI or can you also reproduce it locally by running very_good test -j 4 --optimization --coverage --test-randomize-ordering-seed random?

Hi @felangel 😄 !! Same locally 😢 This also happens in Flutter 3.3.0

Can you share a link to a minimal reproduction sample? It would be much easier to help if we can debug the issue locally. Thanks!

Hi again @felangel 😄 ! I found out that we have some old/bad tests that run fine in the old CI and now with the random seed I saw that some start failing. Some of those test were calling cubit.close() inside tearDown or GetIt was bad registered. sorry for raising an issue that was actually our mistake but it seemed extremely rare and I wanted to make sure it was not the very_good test command. Thanks for the help 🦾 !


registering backstage time saver plugin

Hey, I just made a Pull Request!
Introducing timeSaver plugin. It does some analysis graphs and charts that helping your management and team how using scaffolder templates can bring value and savings to the onboarded Teams!!!
It is declarative so it requires to put some savings data for each template execution into the template definition.  Checkout README

:heavy_check_mark: Checklist

➖  A changeset describing the change and affected packages. (more info) // please let me know if this is needed on plugin init
✔  Added or updated documentation
➖  Tests for new functionality and regression tests for bug fixes
✔  Screenshots attached (for UI changes)
✔ All your commits have a Signed-off-by line in the message. (more info)

Please let me know if any changes are needed and what else should be accomplished moving forward publishing this plugin.

Hey @tudi2d!
I have added few adjustments


python311Packages.aioesphomeapi: 15.1.6 -> 15.1.13

Diff: https://github.com/esphome/aioesphomeapi/compare/refs/tags/v15.1.6...v15.1.13
Changelog: https://github.com/esphome/aioesphomeapi/releases/tag/v15.1.13
Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 244558 run on x86_64-linux 1

40 packages built:

esphome
esphome.dist
home-assistant-component-tests.airthings_ble
home-assistant-component-tests.aranet
home-assistant-component-tests.bluemaestro
home-assistant-component-tests.bluetooth_adapters
home-assistant-component-tests.bluetooth_le_tracker
home-assistant-component-tests.bthome
home-assistant-component-tests.dormakaba_dkey
home-assistant-component-tests.esphome
home-assistant-component-tests.eufylife_ble
home-assistant-component-tests.fjaraskupan
home-assistant-component-tests.govee_ble
home-assistant-component-tests.homekit_controller
home-assistant-component-tests.ibeacon
home-assistant-component-tests.inkbird
home-assistant-component-tests.kegtron
home-assistant-component-tests.keymitt_ble
home-assistant-component-tests.ld2410_ble
home-assistant-component-tests.led_ble
home-assistant-component-tests.moat
home-assistant-component-tests.mopeka
home-assistant-component-tests.oralb
home-assistant-component-tests.qingping
home-assistant-component-tests.rapt_ble
home-assistant-component-tests.ruuvitag_ble
home-assistant-component-tests.sensirion_ble
home-assistant-component-tests.sensorpro
home-assistant-component-tests.sensorpush
home-assistant-component-tests.snooz
home-assistant-component-tests.switchbot
home-assistant-component-tests.thermobeacon
home-assistant-component-tests.thermopro
home-assistant-component-tests.tilt_ble
home-assistant-component-tests.xiaomi_ble
home-assistant-component-tests.yalexs_ble
python310Packages.aioesphomeapi
python310Packages.aioesphomeapi.dist
python311Packages.aioesphomeapi
python311Packages.aioesphomeapi.dist


Snap ML version comparison broken for snapml==1.10.0

We are releasing a new version of Snap ML (v1.10.0) and the Lale tests in our CI are failing due to this comparison being evaluated as False:
https://github.com/IBM/lale/blob/d441affb6e777de30f98636584e43484d5a82661/lale/lib/snapml/snap_boosting_machine_classifier.py#L83
Probably this shouldn't be a string greater-than comparison, there should be a more robust way to do it.

yes, we should use a proper version comparison. I will work on fixing this.

@shinnar Thanks! It is not blocking us for now, so not urgent.

This should be fixed in the latest testpypi release of lale (https://test.pypi.org/project/lale/0.7.2.post2210261806/)
@tdoublep could you confirm that it is fixed with that version?


Connect C++ code to SetReplace function

Changes

Attaches C++ code from https://github.com/maxitg/SetReplace/pull/13 to SetReplace function in WL package, so that it is automatically used over LibraryLink for supported rule types.
Adds Method option to SetReplace that allows one to choose between C++ and Wolfram Language implementations.
Build script now builds the C++ library with xcodebuild and puts it into the paclet (only available on macOS).
Implements unit tests for C++ code.

Tests

Build with ./build.wls and install the created paclet file SetReplace-0.1.paclet by evaluating PacletInstall["path_to_paclet"] in Wolfram Language, and then import by << SetReplace` .
Run the unit tests in SetReplace.wlt: evaluate TestReport["path_to_wlt_file"].
Check that C++ implementation is significantly faster:

ListPlot[Table[{i,
     AbsoluteTiming[
       SetReplace[{{0, 0}, {0, 0}, {0, 0}},
        FromAnonymousRules[{{{1, 2}, {1, 3}, {1, 4}} -> {{5, 6}, {6,
             7}, {7, 5}, {5, 7}, {7, 6}, {6, 5}, {5, 2}, {6, 3}, {7,
             4}, {2, 7}, {4, 5}}}], i, Method -> #]][[1]]}, {i, 10,
     100, 10}] & /@ {"WolframLanguage", "C++"},
 PlotLegends -> {"WL", "C++"}, AxesLabel -> {"Iterations", "Time, s"}]

C++ time scales linearly with the number of steps, unlike previous WL implementation:

ListPlot[Table[{i,
   AbsoluteTiming[
     SetReplace[{{0, 0}, {0, 0}, {0, 0}},
      FromAnonymousRules[{{{1, 2}, {1, 3}, {1, 4}} -> {{5, 6}, {6,
           7}, {7, 5}, {5, 7}, {7, 6}, {6, 5}, {5, 2}, {6, 3}, {7,
           4}, {2, 7}, {4, 5}}}], i, Method -> "C++"]][[1]]}, {i, 100,
    1000, 100}], AxesLabel -> {"Iterations", "Time, s"}]

This allows one to get some massive graphs, for example, this takes ~3.5 minutes and produces a graph with 1 million edges:

Graph[DirectedEdge @@@
  SetReplace[{{0, 0}, {0, 0}, {0, 0}},
   FromAnonymousRules[{{{1, 2}, {1, 3}, {1, 4}} -> {{5, 6}, {6,
        7}, {7, 5}, {5, 7}, {7, 6}, {6, 5}, {5, 2}, {6, 3}, {7,
        4}, {2, 7}, {4, 5}}}], 125000]]

A branching tree after 5000 steps:

HypergraphPlot[
 SetReplace[{{1}}, FromAnonymousRules[{{1}} -> {{2}, {2}, {1, 2}}],
  5000]]

Amazing result!


Adds tests for database migration tool and refactors database migration executors

Continued in: https://github.com/cloudfoundry-incubator/multiapps-controller/pull/901


Can I write create an inifinite number of records ?

I am reading from an array of array with 800 000 recrods , i'm creating a ws and wb with the extension .csv ... the maximum number of records it was able to create was around 400 000 ... is there a way to increate that max ??

Excel 2019's max supported rows is 2**20 == 1048576, there are other limitations too as described in "Excel Specifications and Limits"


*: Add dbSizeInUse to StatusResposne

Existing dbSize shows physically allocated DB size and the backend
(boltdb) won't shrink it after a compaction until a user runs the defrag command.
The new dbSizeInUse shows the DB size that excludes free pages created
by compactions so that users can see the actual DB usage. dbSize >=
dbSizeInUse is always true.
Note that dbSizeInUse shows a page-based size and not byte level usage.
For #9222.

I'm wondering if we want to show the value by endpoint status as well?

Let us do it in another PR?

LGTM. Defer to @jpbetz and @gyuho

Let us do it in another PR?
Got it.

Somehow a test failed due to timeout. Probably #9086.


Neutral numbers - Issue (Python) #79

The program should create a list of the first 10 natural numbers. ✔
The program should print the created list to the console. ✔
The program should print the sum of the numbers in the list. ✔

The program should create a list of the first 10 natural numbers. ✔
The program should print the created list to the console. ✔
The program should print the sum of the numbers in the list. ✔

Looks good, well done!

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


fix(collisions): do not check terrain

Allows for RecreateCollisions to be set to Workspace
Use-case: my game has 171k parts (w. streamingenabled), putting it all into another folder would be a nightmare!

Thanks for the quick merge!


[package][fmt][print.go]how about become a little smarter come with this return line ? func (p *pp) doPrintln(a []interface{}) {

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
172
What operating system and processor architecture are you using (go env)?
win7 amd64
What did you do?
If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.
make same code smart suitable to different os
What did you expect to see?
func (p *pp) doPrintln(a []interface{}) {
for argNum, arg := range a {
if argNum > 0 {
p.buf.WriteByte(' ')
}
p.printArg(arg, 'v')
}
//==========================
//here ,the  return line with diff os
//============================
if runtime.GOOS == "windows" {
p.buf.WriteByte('\r')
p.buf.WriteByte('\n')
}
if runtime.GOOS == "linux" {
	p.buf.WriteByte('\n')
}

    // maybe there should plus macos..but im not sure what suit it. "/r"?

}
What did you see instead?

I'm sorry, there doesn't appear to be a bug report here.
We don't the issue tracker to ask questions. Please see https://golang.org/wiki/Questions for good places to ask. If there is a bug report, they'll tell you to log one.
Thanks.


Enhancement :arrow key navigation

PR Description
Added array key navigation for suggestion box when its open. also, when the textfield is empty and user will do control+ space , suggestion box wiil open to navigate all current available header options
https://github.com/foss42/apidash/assets/85278795/64779d55-625b-42fe-a7da-f5c19fbedb93
Related Issues

Closes #195

Checklist

[x] I have gone through the contributing guide
[x] I have run the tests (flutter test) and all tests are passing

Added/updated tests?
We encourage you to add relevant test cases.

[ ] Yes
[ ] No, and this is why: please replace this line with details on why tests have not been included
[x] I need help with writing tests

please review @animator , and please do tell what are the changes required

The getter 'isControlPressed' isn't defined for the type 'HardwareKeyboard'.
Try importing the library that defines 'isControlPressed', correcting the name to the name of an existing getter, or defining a getter or field named 'isControlPressed'.

This PR is being closed. More details - https://github.com/foss42/apidash/issues/195#issuecomment-1970347786


chore(main): release 1.1.0

:robot: I have created a release beep boop
1.1.0 (2024-12-01)
Features

added IoC Container API (e060a86)
custom error classes (585c29f)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v1.1.0
:sunflower:


will you support the obsidian callout

Example usage
> [!INFO]
> Here's a callout block.
> It supports **markdown**, [[Internal link|wikilinks]], and [[Embed files|embeds]]!
> ![[og-image.png]]

Detail syntax:
https://help.obsidian.md/How+to/Use+callouts

Duplicate of #13


Added optional image view to live updates layout

Summary

I added an image view to the live updates layout; the image is optional.
Test Plan

I created a mock API with testapi.io

[x] Tested with an image URL
[x] Tested without an image URL
[x] Tested with multiple live updates

Screenshots/GIFs

@krabinowitz1 I had to also add the optional image view code to FAQs.java because it was also using the vertical section card recycler view or it would produce an error.


[DOC] : Incorrect documentation for Neural Search Plugin

What do you want to do?

[ ] Request a change to existing documentation
[ ] Add new documentation
[X] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
The example provided here: https://opensearch.org/docs/latest/neural-search-plugin/index/#example-request are incorrect. It should be changed to :
PUT _ingest/pipeline/nlp-pipeline
{
  "description": "An example neural search pipeline",
  "processors" : [
    {
      "text_embedding": {
        "model_id": "bxoDJ7IHGM14UqatWc_2j",
        "field_map": {
           "passage_text": "passage_embedding"
        }
      }
    }
  ]
}

so that it matches the fields which are provided in the index.
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
One of the customer was trying to use the documentation and got the error.
https://forum.opensearch.org/t/feedback-neural-search-plugin-experimental-release/11501/4?u=navneet

In addition, Request fields aren't quite matching with the Example request. We should add more detailed explanation for the Request fields

@Naarcha-AWS when we are planning to take up this task?


feat: Add Pareto Distribution

Description of Change
This feature proposes implementing the Pareto distribution to generate random numbers or model data in circumstances where the 80/20 rule applies (https://en.wikipedia.org/wiki/Pareto_distribution). When modeling phenomena with a heavy tail, including wealth distribution, natural phenomena, or other skewed distributions where a few number of occurrences account for the majority of the effect, the distribution is especially helpful. The feature should offer capabilities for sampling from the distribution and let users set the shape parameter (α) and scale (xm) parameter.
Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes: I think the Pareto distribution is important because it is used in various disciplines, including economics, finance, and environmental research. In my instance, I used for modeling data where a small subset of the population has a significant impact, such as income distribution or asset allocation.

fixed compile checks


Fast download large files using Multiple connections

cURL is slow when it comes to download large files because it does not utilize multiple connections.
But thanks to libcurl we can use MultiCurl and Bytes Range to download files with multiple connections asynchronously and utilizing maximum speed.
What the below function does: First retrieves the Content-Length header and split into chunk by given connection numbers and download each chunk asynchronously using MultiCurl. Once all chunks finishes download, concatenate them into single one.
use Curl\Curl;
use Curl\MultiCurl;

$url = 'https://file-examples.com/wp-content/uploads/2017/02/zip_10MB.zip';
$path = __DIR__ . '/testfile.zip';

// Use 8 connections to download.
fastDownload($url, $path, 8);

function fastDownload($url, $filename, $connections = 4) {
    // First we need to retrive the 'Content-Length' header.
    // Use GET because not all hosts support HEAD.
    $curl = new Curl();
    $curl->setOpts([
        CURLOPT_CUSTOMREQUEST => 'GET',
        CURLOPT_NOBODY        => true,
        CURLOPT_HEADER        => true,
        CURLOPT_ENCODING      => '',
    ]);
    $curl->setUrl($url);
    $curl->exec();

    $content_length = $curl->responseHeaders['Content-Length'] ?? null;

    // Throw error if Content-Length header is missing.
    if (!$content_length) {
        throw new Exception('Content-Length header is missing.');
    }

    // Try to divide chunk_size equally.
    $chunkSize = ceil($content_length / $connections);

    // First bytes.
    $offset = 0;
    $nextChunk = $chunkSize;

    // We need this later.
    $fileParts = [];

    $multi_curl = new MultiCurl();
    $multi_curl->setConcurrency($connections);

    for ($i = 1; $i <= $connections; $i++) {
        // If last chunk then no need to supply it.
        // Range starts with 0, so subtract 1.
        $nextChunk = $i == $connections ? '' : $nextChunk - 1;

        // Create part file.
        $fpath = "$filename.part$i";
        $fp = fopen($fpath, 'w');

        // Track all fileparts names
        $fileParts[] = $fpath;

        $curl = new Curl();
        $curl->setOpt(CURLOPT_ENCODING , '');
        $curl->setRange("$offset-$nextChunk");
        $curl->setFile($fp);
        // otherwise download may fail.
        $curl->disableTimeout();
        $curl->setUrl($url);

        $curl->complete(function() use ($fp) {
            fclose($fp);
        });

        $multi_curl->addCurl($curl);

        if ($i != $connections) {
            // Add 1 to match offset.
            $offset = $nextChunk + 1;
            $nextChunk = $nextChunk + $chunkSize;
        }
    }

    // let the magic begin.
    $multi_curl->start();

    // Concatenate chunks to single.
    concatFiles($fileParts, $filename, true);
}

// This function is very poor, I will replace it with better one.
function concatFiles($arrayOfFiles, $outputPath, $removeAfter = false) {
    $dest = fopen($outputPath, 'a');

    foreach ($arrayOfFiles as $f) {
        $fh = fopen($f, 'r');
        $line = fgets($fh);

        while ($line !== false) {
            fputs($dest, $line);
            $line = fgets($fh);
        }

        fclose($fh);

        if ($removeAfter) {
            unlink($f);
        }
    }

    fclose($dest);
}

I've been using this functions to download very large files (2-3 GB). Previously a file which would take 20 mins to download, now takes only 4-5 mins.
I was wondering if you could add this feature built-in?

@Dibbyo456 I like the idea of a faster download open. Can you create a pull request?

if (!$content_length) {
throw new Exception('Content-Length header is missing.');
}
Maybe fallback to Curl::download() instead of throwing an exception.

function concatFiles($arrayOfFiles, $outputPath, $removeAfter = false) {
Maybe use stream_copy_to_stream to concatenate files to be more memory efficient.

Thanks

Pull request merged. #655