After reloading a suite, the skipped (but already has run) test's state dissapears

Test Explorer version: 2.5
Output window's content still available, but the icon become
Let me know if this issue is too cheap and you need more info. Ty

I'm not sure I understand this correctly: What's the state of the test before and after reloading?

After the adapter has founded the suite and loaded it the skipped test it is 'skipped'.
Then I run it (clicking only on the skipped test's play button runs it.)
Now it has 'passed' state.
Then I recompile my executable (or call touch ...), my adapter automatically reloads the tests in the suite.
All the tests has the same ids so the states are preserved, but not the state of that test which has the skipped=true property value.

This is by design: when the adapter marks a test as 'skipped' when it is loaded, it should mean that the test has been disabled and when the user tries to run the test it is expected that the testing framework will skip it (either not producing any test events for it or producing a 'skipped' event), but it doesn't enforce this (so if the adapter says the test is 'passed', the Test Explorer sees this as inconsistent information about the test, in this case it will follow the latest information that it got and mark the test as 'passed').
The reasoning for overwriting the 'passed' state when reloading the test is as follows: the test was marked as 'passed', so apparently it wasn't disabled before (otherwise it would not have been run), now the adapter reloads the tests and marks this one as 'skipped', so apparently the user has disabled the test just now and therefore its state should be updated.
I will try to update the documentation soon to explain the details about how Test Explorer handles the different test states.

Skipped tests can be run by clicking the play button on their line.
I thought it is a feature, so that the user can manually run a specific skipped test.
In my scenario I  did run all the tests with one click ("run all tests" button), then I did run a specific skipped test. After this, I recompiled (tests are reloaded). I expected to see the results of the last runs also in case of the skipped tests, but as I said skipped tests loses their state. (I still can see the test output window's content which is actually contains the relevant information for me.)
So the following is not fully true:

The reasoning for overwriting the 'passed' state when reloading the test is as follows: the test was marked as 'passed', so apparently it wasn't disabled before (otherwise it would not have been run), now the adapter reloads the tests and marks this one as 'skipped', so apparently the user has disabled the test just now and therefore its state should be updated.

It is not a big deal, just wanted to explain my workflow.


Support for key transform in JSON::Serializable::Options

Feature Request
When mapping from an external JSON model to an internal type it is possible to use the JSON::Field annotation's key property to define any differences in naming. This works well for single keys that require explicit overrides, but becomes quite verbose when the key format itself differs.
As an example, an external service may present
{
   "anExampleKey": 42,
   "anotherItem": "foo"
}

Which may be desirable to capture as:
struct Example
  include JSON::Serializable

  @[JSON::Field(key: "anExampleKey")]
  property an_example_key : Int32

  @[JSON::Field(key: "anotherItem")]
  property another_item : String
end

This could be specified more succinctly by defining a single key transform for the object.
Adding a property—key_converter—that enables a converter (similar to the JSON::Field converter property) appears to be a clean solution for this. This would point to a type that defines from_json_key(String) : String and to_json_key(String) : String
@[JSON::Serializable::Options(key_converter: JSON::Serializable::LowerCamelCaseCoverter)]
struct Example
  include JSON::Serializable
  property an_example_key : Int32
  property another_item : String
end

Proposal is to add support for this option, along with the following set of converters (each mapping to/from snake_case_form as per the default crystal naming convention):

Converter
Example

LowerCamelCaseConverter
an_example → "anExample"

UpperCamelCaseConverter
an_example → "AnExample"

CapitalizedSnakeCaseConverter
an_example → "AN_EXAMPLE"

This is a really good idea!

I do wonder if this wouldn't be easier with just a symbol instead of a class. What would the method to convert the key look like? It seems like it would need to be a macro? But we don't have custom macro methods... Just thinking out loud.

But we don't have custom macro methods

yet :wink:.  cough #8835 cough.

I do wonder if this wouldn't be easier with just a symbol instead of a class

FWIW, Athena's serializer supports this via a symbol: either :camelcase, :underscore, or :identical, with the default being :identical which essentially means "use whatever the ivar's name is.  Granted this doesn't allow for super custom stuff, but it deff handles all the common ones.
See https://athenaframework.org/Serializer/Annotations/Name/#Athena::Serializer::Annotations::Name--naming-strategies.

The transform should be able to happen at runtime, as this is when all the key matching runs too:
https://github.com/crystal-lang/crystal/blob/a190f2423aca6922979b933645e10c9bc2ddf7ab/src/json/serialization.cr#L192-L195
Doing this also allows a little more flexibility in non std-lib usage of this as it can be extended arbitrarily to match all the ~terrifying~ interesting ways different services present models in the real world.

Further thoughts on behaviour: if a key is explicitly defined on the field, this should take precedence over a key transform specified on the containing type. This will require a minor shuffle of JSON::Serializable to support that, but looks pretty doable.

As an alternative solution, we could use a method hook to transform the key value. By default, the method would just return the input value, but it can be overridden to apply any kind of transformations.
struct Example
  include JSON::Serializable
  property an_example_key : Int32
  property another_item : String

  protected def convert_json_key(value)
    value.camelcase
  end
end

@straight-shoota But then if you want to share this functionality you still end up with some kind of converter modules which you include.

Yes, that's similar. But the benefit of this solution is that it's easier to implement a customized mapping. Simple upper or lower camelcase may work well in many use cases, but I'm pretty sure that quite often there's need for more control, because maybe just one or two field names have some inconsistencies not covered by the generic transformation.
Then you just need to implement this in the overridden hook method, there's no need to reference it anywehere.

Since module already has Class annotation JSON::Serializable::Options, we can follow the style of JSON::Field via which one can configure a key converter and provide a type which implements an interface with methods for conversion from and to.
Interface could be something like
def self.from_json_key(val)
def self.to_json_key(val)

This will have the added benefits of:

Explicitness
Follow the existing API semantics
Have hooks to perform any simple and/or complex transformation/conversion
stdlib may or may not provide any implementation for custom key transformations (as they are use-case specific)

I think two-way conversion would be unnecessary and could easily lead to inconsistencies when the transformations do not match up exactly.

for me this JSON::Serializable::Options looks quite weird, maybe remove it?
I think @straight-shoota example is good, just like other extensions add it as module:
struct Example
  include JSON::Serializable
  include JSON::Serializable::CamelCaseKey

  property an_example_key : Int32
  property another_item : String
end

module JSON::Serializable::CamelCaseKey
  protected def convert_json_key(value)
    value.camelcase
  end
end

I think two-way conversion would be unnecessary and could easily lead to inconsistencies when the transformations do not match up exactly.

but then one-way conversion is definitely going to lead to inconsistent output of to_json, as field name is already converted/transformed during the  conversion and there is no memoization mechanism in place which can keep track of original value.

for me this JSON::Serializable::Options looks quite weird, maybe remove it?

Annotation syntax is hard to get used to and annotation usage in API is quite limited, so at first glace it gives such weird feelings to its users, but that doesn't make this language feature obsolete.

One-way conversion goes from ivar name to JSON field name. The ivar name is explicit in code, so that's a given and there's no need to convert to that. This conversion directly enables to_json and it also works for from_json with comparison based on the JSON field name.

This conversion directly enables to_json and it also works for from_json with comparison based on the JSON field name.

This is where i'm trying to understand how one way conversion is going to enable bi-directional ivar name <-> JSON mapping. Does that mean same conversion hook will be invoked twice one at the time of parsing JSON (JSON Field -> ivar association) and 2nd at the time of building json (ivar -> JSON field name)?

In #to_json it is applied as json.field(convert_json_key({{value[:key]}})) { ... }, and in .from_json it goes like this:
case key = pull.read_object_key
{% for name, value in properties %}
when convert_json_key({{value[:key]}})
  # ...
{% end %}
end


tiiuae/falcon-rw-1b: Dynamo export error during optimization step

Hi, I'm attempting to export the tiiuae/falcon-rw-1b model using Dynamo. I'm using the script below but run into an issue related to bfloat16 type. Is this a known issue?
import torch
from transformers import AutoConfig, AutoModelForCausalLM
from optimum.exporters.onnx.model_configs import FalconOnnxConfig

device = 'cuda'
model_name = "tiiuae/falcon-rw-1b"

# load model
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.float32).eval().to(device)

# get data
model_config = AutoConfig.from_pretrained(model_name, torch_dtype=torch.float32)
onnx_config = FalconOnnxConfig(model_config)
data = onnx_config.generate_dummy_inputs()
for k, v in data.items():
    data[k] = v.to(device)

export_output = torch.onnx.dynamo_export(
    model,
    **data
)
export_output.save('falcon-rw-1b_dynamo.onnx')

The ONNX export seems to be successful and the failure occurs during the optimization step. Below is the error stack:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/onnx/numpy_helper.py", line 388, in from_array
    dtype = helper.np_dtype_to_tensor_dtype(arr.dtype)
  File "/usr/local/lib/python3.10/dist-packages/onnx/helper.py", line 1599, in np_dtype_to_tensor_dtype
    mapping._NP_TYPE_TO_TENSOR_TYPE[np_dtype],
KeyError: dtype((numpy.uint16, [('bfloat16', '<u2')]))

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/exporter.py", line 1503, in dynamo_export
    ).export()
  File "/usr/local/lib/python3.10/dist-packages/torch/onnx/_internal/exporter.py", line 1274, in export
    onnx_model = optimizer.optimize(onnx_model)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/__init__.py", line 70, in optimize
    modified = fold_constants(
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 272, in fold_constants
    folder.visit_model(model)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 257, in visit_model
    super().visit_model(model)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/_legacy_ir/visitor.py", line 777, in visit_model
    self.visit_graph(model.graph)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/_legacy_ir/visitor.py", line 643, in visit_graph
    replacement = self.visit_node(node)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/_legacy_ir/visitor.py", line 790, in visit_node
    replacement, _ = self.process_function_node(node)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 229, in process_function_node
    _, new_function = super().process_function_node(node)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/_legacy_ir/visitor.py", line 877, in process_function_node
    replacement = self.visit_node(inner_node)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/_legacy_ir/visitor.py", line 792, in visit_node
    replacement = self.process_node(node)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 215, in process_node
    replacement = self.new_constant(node.output[0], outputs)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 107, in new_constant
    tensor = self.foldable_value(name, value)
  File "/usr/local/lib/python3.10/dist-packages/onnxscript/optimizer/constant_folding.py", line 98, in foldable_value
    return onnx.numpy_helper.from_array(value, name)
  File "/usr/local/lib/python3.10/dist-packages/onnx/numpy_helper.py", line 390, in from_array
    raise RuntimeError(f"Numpy data type not understood yet: {arr.dtype!r}") from e
RuntimeError: Numpy data type not understood yet: dtype((numpy.uint16, [('bfloat16', '<u2')]))

Thanks for reporting. I think https://github.com/microsoft/onnxscript/pull/1484 is related. Do you know if the onnxscript version you have is the latest?

Thanks for linking the related issue. I tried with the latest onnxscript==0.1.0.dev20240515 version and I see the changes in the linked PR are in the 20240515 nightly version.
However, I'm still seeing the same error

cc @gramalingam

Hi @asfiyab-nvidia : can you attached the (unoptimized) onnx model here? That would be helpful. I believe that if the optimizer failes, it will still build an unoptimized onnx model. Thanks!

@justinchuby : while waiting for the model to repro, I wonder where "dtype((numpy.uint16, [('bfloat16', '<u2')]))" comes from ... it seems like ml_dtypes is a possible source for this? Even so, it doesn't add up ... I think ml_dtypes is used in the IR, right? But the constant-folding optimizer doesn't yet use the new IR ... oh, well, I guess I should try it out with the actual model.

Your are right that ml_dtypes doesn't kick in at this stage yet. It looks like a product from the reference evaluator. I suggest we use ml_dtypes in the reference evaluator (and across ONNX) as well.

You are right. The reference implementation does introduce this. That raises another question (which, I guess, is what motivates the second part of your answer): what bfloat16 encoding does the reference evaluator use? Is that a custom one that is conceptually a duplicate of the ml_dtypes one? I agree that it would be good to use a uniform encoding across all onnx tools/implementations.

The custom types for the ref evaluator are defined here: https://github.com/onnx/onnx/blob/88f8ef15cfaa3138d336f3502aed5018d802bf43/onnx/reference/custom_element_types.py#L8. They are simply byte representation that does not support any arithmetic operations.
With ml_dtypes computation will be supported, besides having the correct byte representation.

This should be addressed by https://github.com/onnx/onnx/pull/6170.


[WIP] Automatically build and upload Carthage framework upon release

Resolves #81.

Blocked on figuring out code signing.


Ask Robert K. whether we can observe a mediaflux installation

As OIT upgrades MediaFlux, we're getting further and further behind. Bess will ask Robert K whether we can observe during his MediaFlux installation so we can better understand the process and hopefully apply it to building a new docker image.

Upgrading in place DOES appear to work!

Start our existing mediaflux docker image
Copy the latest .jar file to the docker image (I used curl but presumably docker cp would be faster)
From aterm, run:

> server.install :url file:/root/architecta_staging/mf-versions/version.jar
> server.restart :install true


feat/ add coins_ph connector

Before submitting this PR, please make sure:

[x] Your code builds clean without any errors or warnings
[x] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
With this PR, I would like to contribute coins_ph exchange connector to the Hummingbot community. The official docs(REST and Websockets) used for the development of this connector are here:
https://coins-docs.github.io/rest-api/
Tests performed by the developer:
Successfully ran PMM with this connector. Will be doing full suite of tests required for integration and use of this connector by the Hummingbot community.
Tips for QA testing:
NA

To get the Foundation to review/merge this pull request and include this connector in ongoing releases, a New Connector Proposal needs to be submitted and approved. See https://hummingbot.org/governance/proposals/#new-connector-proposals for more information.

@srirambandi the unit test has to be provided with the PR. I will close this PR and you can open it again when the contribution guidelines are met.


Report Z-test Validations & DropInfo Self-adoption

Currently there's only several simple and, if not naive, approaches on report validation. Previously we've proposed Z-test mechanism, and implemented on the previous backend. However, due to the MongoDB evaluation bottleneck existing on the previous backend, we unfortunately have to disable such feature due to high performance drawbacks.
The backend-next project now has the capability on both flexibility and performance extensibility to allow us relaunch such mechanism on checking the reports.
Moreover, currently the DropInfo section is somewhat artificially decided and might not be suitable for the first several hundred reports, due to the nature that we can't predict what is actually the finite set of drop possibilities, so there previously have existed several issues related to DropInfo not being applied properly at the first, causing potentially deviations for the dataset. Although we've been fixing those actively manually, those are time-consuming and as well not an optimal solution at all. Therefore, there could also be a mechanism where DropInfo itself could adopt continuously with the growth of the report dataset. However the implementation detail of the adoption is still a huge topic to discuss.

Just to note down here that, those statistics-based tests are all pretty susceptible to attacks where the attacker could aim to report several hundred or about a thousand of false reports before the very first moments the stage opens, causing the dataset to converge to a skewed result. Any results afterwards would consider invalid and therefore rejecting the true reports. Such attack could be mitigated by either randomly picking reports across different accounts, IPs, and carefully designing the threshold when Z-test kicks in, to minimize the cost such attack could bring.

On the point of view of attack prevention, we could run a two proportion z-test, which allows us to compare two proportions (in our case, they could be reports categorized by IP or account) to see if they are the same. If the result shows that two proportions are not the same, we have reason to suspect that one of the proportion is false.
And we may not state the null hypothesis based on the first n reports, but based on first n groups of reports, which reports can be grouped by IP, account or report method (by recognition or manually). Thus, our dataset wouldn't be affected by a huge count of reports from a single source.


texlab: 3.0.1 -> 3.1.0

Motivation for this change
Update to the latest version: https://github.com/latex-lsp/texlab/releases/tag/v3.1.0
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

@doronbehar

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

1 package built:

texlab

Result of nixpkgs-review pr 125591 run on x86_64-darwin 1

1 package built:

texlab


Best practice example suitable for a template

Dear @remkop ,
I am planning to create a cookiecutter based java command line tool template. Picocli is of course perfect for that. However, I would like to offer a best practice template and don't have enough experience with picocli to be able to claim that.
Do you have a best practice example lying around? I saw some of your examples, but am not sure which one would suit best.
Thank you very much!
Best

Ideally it would even have a few (unit) tests ready.

That is great, thank you!
For stand-alone programs, the Checksum example in the Introduction section of the user manual can be considered a canonical example: it has an option, a positional parameter, demonstrates mixinStandardHelpOptions to get help and version options, and demonstrates how implementing Runnable/Callable allows applications to use the execute method and get an exit code. That is a nice overview of a number of features that many applications are likely to need.
For Checksum unit tests, see this project: https://github.com/remkop/picocli-native-image-demo
This project is intended to demonstrate creating native executables with GraalVM, but it also has tests for the Checksum app.
Another common usage is command suites: commands with subcommands like git.
There, the "best practice" is to use a @Command-annotated method for subcommands that have few (if any) options and perhaps not much code, and a @Command-annotated class for subcommands that have more options. The picocli user manual has this example: https://picocli.info/#_executing_subcommands
I don't have any example unit tests for an application using subcommands to point to. I usually have separate unit tests for each subcommand.
I hope this is useful. Thanks again for advocating picocli! 👍 😃

Awesome, sounds like exactly what I need.
Maybe I will offer both options through a few if statements :)
I will update you again as soon as it is ready so that you can try it if you want to.

@Zethson How did it go? If you have a link I can point to it from the picocli readme or other docs.

Dear @remkop
we were (and are) working a lot on the core code and implemented templates for other languages, but the JVM templates are our next target.
We're currently not quite sure how we should approach them.
We would like to implement the JVM templates as modules and also allow them to be easily packaged and distributed. Moreover, we would like to offer the choice of either Maven or Gradle.
We currently have a modular JavaFX template with Maven, which we are then packaging using an integrated version of Warp into single binaries.
However, the MacOS binaries tend to be broken (Linux works flawless).
Hence, we turned our eyes to the badass jlink plugin, but it seems to be heavily Gradle oriented and uses JPackage. JPackage has a few shortcomings:

It requires Java 14+ (our templates are supposed to be cutting edge, so I can live with that)
Linux binaries are deb or rpm packages, which not all Linux flavors support out of the box (e.g. Arch Linux)
It does not support everything:

"The following features of the javapackager tool will not be supported:
- Java Web Start application support,
- JavaFX-specific features,
- jdeps usage for determining required modules, and
- the Ant plugin."
I don't care about Ant, but JavaFX-specific features may sound evil.
We would rather not distribute Jars, but binaries with custom (platform dependent) JREs. We can script slightly more complex workflows for creating them into our templates, since they will ship with Makefiles anyways (every template has a Makefile which wraps language/framework dependent commands into consistent commands such as make test to run tests).
I would be very interested in your take on that. Do you have any suggestions, links or thoughts?
As you may notice we are not super deep into the JVM ecosystem, since our tool will support all domains and languages.
We do however want to do things right and not distribute half baked solutions.
Thanks!

Actually, you've pointed me into the right direction already and I forgot about that:
https://github.com/remkop/picocli-native-image-demo and https://github.com/remkop/picocli-native-image-maven-demo should be example what I'm looking for.
I will explore these and keep you updated. ETA ~< 4 weeks :)

@remkop
It is now cookiecuttered:
https://github.com/Zethson/picocli_graalvm_cookiecutter
I will integrate it into our tool this week and then I can either add you to our tool so that you can test it or you can wait for the release (~4 weeks or something?) and enjoy the show.

I took a quick look, looks awesome! 👍 😍
Thank you very much for working on this!

Quite exciting! When do you think the next release will be (roughly)?

Dear @remkop,
we had to postpone the release several times, since we want to add a couple of features before our first release.
We're planning to hit very early next month at the moment.
However, here's a small preview with a subset of our tools' features:

The preview looks very nice! Looking forward to the release!

@remkop
https://github.com/cookiejar/cookietemple
ready now!
Feel free to try it out and to provide feedback if you want to.
Thanks!

Hi @Zethson, thanks for letting me know! I will add a link to https://cookietemple.readthedocs.io/en/latest/available_templates/available_templates.html#cli-java  to the picocli README.
Question/request: Would it be possible to also mention Picocli in the Included frameworks/libraries list for cli-java?

Putting my editor/review hat on 😜 , I found what looks like a typo:

A platform dependent (of the current running operating system!) can then be build by invoking:

this should probably be

A platform dependent executable (for the current running operating system!) can then be build by invoking:

I also found this error message under linting your code/cli-java, not sure if this is the intention:

File not found. This error occurs when your project does not include all of cli-python’s expected files.
Please create the file and populate it with appropriate values. You should also critically reflect why it is missing, since at the time of the project creation using cookietemple this file should not have been missing!

Overall, very nice! Thanks for getting back to me!

Question/request: Would it be possible to also mention Picocli in the Included frameworks/libraries list for cli-java?

Oh absolutely. We likely forgot it somehow.
And thank you for the other comments! We will fix everything.


bcwig files written are corrupted

The written bcwig files are corrupted and read out incorrect values.
I've commented inline of the pullreq to point to the bug.

fixed


add clips using annotations

@adamjarling @mathewjordan Here's a pull request to add clips to videos and audio using annotations. I  also added a /demo page and a link to a sample manifest with clips.

Things to discuss

Is there a better way to distinguish between VTT captions versus clips? I'm currently using json format for clips.
Are there more uses for video annotations besides VTT captions and clips?

Todo:

add the ability to set the  position of the clips  relative to the current media (e.g. left, right, top, bottom).

@wykhuh Thanks for pushing up.  Taking at look at this now.

@wykhuh Question, in your clips file (https://seagate.whirl-i-gig.com/admin/service/IIIF/cliplist/representation:253), is this modeled after a standard or spec, or custom to your app/back-end?
[{
"identifier": "3",
"text": "Test clip 1",
"start": "00:00:01.100",
"end": "00:00:02.400"
},
{
"identifier": "4",
"text": "Test 2",
"start": "00:00:20.300",
"end": "00:00:34.200"
}]

This could also be represented by something like?
WEBVTT

00:01.100 --> 00:02.400
- Test clip 1

00:20.300 --> 00:34.200
- Test 2

@adamjarling I based the clips json format on the output of parse() from  node-webvtt so that I could use the existing Menu component. I didn't  use VTT since I didn't want the clips data to be used as captions for the video player.

@wykhuh Got it.  So by default defining "navigational structure" as webvtt, Clover's Viewer automatically syncs the cue to highlighted text in the InformationPanel tab. And this isn't what you're looking for.  But this text doesn't necessarily have to be a caption though right?  Like it could be arbitrary text?   For example...

NOTE
A cue which is not a caption.  Is this ok?

00:01.100 --> 00:02.400
- I am just good navigation text.  I'm not a caption

Just trying to think through this... 😀

@wykhuh Yesterday you were asking about a "more IIIF way" of representing something like navigation for a video, or segments, etc.  Another option may be Structures and Ranges (which Clover's Viewer doesn't currently support, but is in our sights).   For general info, maybe this is interesting or useful at some point?
https://iiif.io/api/presentation/3.0/#54-range

https://iiif.io/api/presentation/3.0/#53-canvas
Here's an example of a manifest which uses IIIF Structures and Ranges, which a viewer should be able to parse out into navigation links:
https://github.com/samvera-labs/ramp/blob/main/public/manifests/dev/lunchroom_manners.json
Again, not super helpful at the current moment on either of our ends, but while I was thinking about it...

@adamjarling The difference between clips and captions is that captions text represent what is being said, while the clips text  is added by the people who are inputting the data. It's up to the person inputting the data to determine how many clips they want to have.
I have no preference to whether to use annotations or structures & ranges.

@wykhuh I have an idea I'm playing around with.  I'll push up a branch tomorrow and maybe we can discuss.


Stack Overflow plugin support for PAT authentication

Hey, I just made a Pull Request!
Fixes #15770 by adding support for the new PAT authentication for Stack Overflow as per docs.
Deliberately keeping as a minor change - I've not bumped the default API version number and added a new optional parameter. This is because it isn't clear whether the API key approach is still required for other Stack Overflow integrations.
My first PR against Backstage - great documentation but apologies in advance if I've missed anything!
:heavy_check_mark: Checklist

[X] A changeset describing the change and affected packages. (more info)
[X] Added or updated documentation
[X] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[X] All your commits have a Signed-off-by line in the message. (more info)

Hello @cmdkeen thanks a lot for opening this PR, I'll review it!

Thanks for taking a look @emmaindal - that should be the config fixed and also clarified that the new URL is different for Teams


[JENKINS-19465] - Prevent hanging of launcher when we disconnect the agent before the full launch operation execution.

There is hanging we see:
"SSHLauncher.launch for 'MyAgent' node [#1]" #559943 prio=5 os_prio=0 tid=0x00007f9b0d994000 nid=0x4ce5 in Object.wait() [0x00007f9ab01b5000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Thread.join(Thread.java:1252)
	- locked <0x000000059e20bea8> (a com.trilead.ssh2.Connection$PumpThread)
	at java.lang.Thread.join(Thread.java:1326)
	at com.trilead.ssh2.Connection.exec(Connection.java:1574)
	at hudson.plugins.sshslaves.SSHLauncher.checkJavaVersion(SSHLauncher.java:1208)
	at hudson.plugins.sshslaves.SSHLauncher.resolveJava(SSHLauncher.java:902)
	at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:808)
	at hudson.plugins.sshslaves.SSHLauncher$2.call(SSHLauncher.java:792)

Both agents may be a problem, because we see hundreds of afterDisconnect() handlers waiting for the lock.
"Computer.threadPoolForRemoting [#49225]" #1900616 daemon prio=5 os_prio=0 tid=0x00007f9b5482f800 nid=0x3312 waiting for monitor entry [0x00007f9a0fe40000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at hudson.plugins.sshslaves.SSHLauncher.afterDisconnect(SSHLauncher.java:1336)
	- waiting to lock <0x000000058143f168> (a hudson.plugins.sshslaves.SSHLauncher)
	at hudson.slaves.SlaveComputer$3.run(SlaveComputer.java:633)
	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)

If the launch() operation hangs, the afterDisconnect() command will not interrupt it because it runs in a separate executor service. And, if you have no "launchTimeout" property set, it will hang forever (?).
https://issues.jenkins-ci.org/browse/JENKINS-19465
@reviewbybees

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

Hmm, FindBugs passes with assert on my machine 🤷♂

Diff without formatting: https://github.com/jenkinsci/ssh-slaves-plugin/pull/75/files?w=1

@reviewbybees done

WiP, actually

@reviewbybees needs re-reviews


The Calendar and Organizer do not show the data when pulled from Database

Describe the bug
The Calendar and Organizer do not show the data.
To Reproduce
Steps to reproduce the behavior:
Sourcecode: https://pastebin.com/n2jDpg8t
Expected behavior
The Calendar and Organizer should show the data.
Screenshots
Site: https://ibb.co/Vmy09CM
Database: https://ibb.co/ccZ70Yw
Desktop (please complete the following information):

OS: Windows 10
Browser Firefox, Edge(New)
Version 84.0, 87.0.664.60

Additional context
No Errors in the Console.

Hello @NightlandDriver, I noticed you closed the issue, I was wondering if the problem was resolved or not. Please let me know 😄

Yes, the problem has been solved


Is there a real-time example?

Area Select
Website/Documentation
Description
Hello, thank you for the work playtorch community is doing.
I am wondering about real-time examples using camera onframe without a capture
I have already commented yesterday this question in the relavant issue here, but i ask again as a new issue.
Is there a real-time example?

I found real-time example at CameraExample.tsx of MyFirstProject from playtorch tutorial. thank you!


Feature/use document uri

Allows extension to be invoced from active-text-editor by extracting the folder from the document-path

https://github.com/roberthgnz/react-gensco/releases/tag/v0.1.0


publish a first release of an EBSI Dart package on https://pub.dev/

duplicate of Publish ebsi lib as a Dart package#1312


Support for stylefmt to automatically fix lint errors

I know this is still in early alpha stages, but I wanted to see what you thought about eventually adding support for stylefmt to automatically fix stylelint errors.

I think that's outside of the scope of a stylelint processor. From the docs:

Processors can enable stylelint to lint the CSS within non-stylesheet files. For example, let's say you want to lint the CSS within

I'll close this since I'd say it's out of scope for this package. Please let me know if you (or anyone else) feel otherwise or have any questions!


feat(notifications): show count of unread notifications in the left-side MenuItem

Hey, I just made a Pull Request!
The Notifications' left-side MenuItem shows the count of unread messages instead of just a simple bullet.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

With limit:

No unread:


Create fails on digitalocean with custom image

Description of problem:
Cannot create machine with custom digitalocean image/ snapshot.
docker version: Docker version 1.10.1, build 9e83765
docker info: cannot output, no machine created.
uname -a: Darwin shadow 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64
Environment details (AWS, VirtualBox, physical, etc.): DigitalOcean
How reproducible:
Consistent.
Steps to Reproduce:

Create a custom image with packer. packer build do-image.json
Attempt to use the image name as slug

docker-machine create \
  --driver digitalocean \
  --digitalocean-image "ubuntu-14-04-x64_docker_host-19-Feb-16_04-13" \
  --digitalocean-region "nyc2" \
  --digitalocean-size "1gb" \
  --digitalocean-private-networking \
  --digitalocean-ssh-user "root" \
  --digitalocean-ssh-port "22" \
  swarm-node-001

Actual Results:
Error creating machine: Error in driver during machine creation: POST https://api.digitalocean.com/v2/droplets: 422 You specified an invalid image for Droplet creation.
Expected Results:
Launch a machine droplet based on my custom image in digitalocean.
Additional info:
Looking into the docker-machine provider, at this line https://github.com/docker/machine/blob/master/drivers/digitalocean/digitalocean.go#L190 there would need to be accomodations for the slug or the id. Internalls godo already falls back to id if slug is empty. https://github.com/digitalocean/godo/blob/0293606a28f87fbe772c539620672f3d0ac707a2/droplets.go#L149
any other info i can pass along let me know.

https://api.digitalocean.com/v2/droplets: 422 The image you specified is not available in the selected region, you can transfer it to this region from the images pages.

Just to be clear, you're 100% sure that the image actually is in the region nyc-3?  Verified at the API level?

@nathanleclaire you were correct actually, the region was wrong. But the issue still exists!
I've updated the initial comment with the correct details.

Closing this as more related to either packer or digital ocean api. Being able to use the "id" in --digitalocean-image is good enough.


Create in-line Ads - Doc / Example

There are no examples or guides on how to create in-line ads
There is only one way to create a simple banner, which can cause problems of ban or limitations of our AdMob account if not implemented correctly
The problem: Every time when user scrolls the list, the Ads can't be reloaded, causing a new impression.
Example scenario: The user loads a list of widgets and a banner Ads should appear in one of the indexes in the list.
When opens one of the list items (with navigator.push), ensure that the Ad that was on the back stack does not generate an impression or is reloaded (as it is on the back screen and not the front one).
Therefore, I think the support team of this package should create a sample to avoid developers' mistakes and getting bans or limitations from AdMob.
This old tutorial (2022) has the code is already archived: https://codelabs.developers.google.com/codelabs/admob-inline-ads-in-flutter
See this sample lists: https://github.com/googleads/googleads-mobile-flutter/tree/main/samples/admob

Hi @marcellocamara, the docs can be found here: https://developers.google.com/admob/flutter/banner/inline-adaptive
You can also see an inline adaptive example in our google_mobile_ads package example here: https://github.com/googleads/googleads-mobile-flutter/blob/main/packages/google_mobile_ads/example/lib/inline_adaptive_example.dart

You can also see an inline adaptive example in our google_mobile_ads package example here: https://github.com/googleads/googleads-mobile-flutter/blob/main/packages/google_mobile_ads/example/lib/inline_adaptive_example.dart

I didn't saw this folder!
Shouldn't this be moved to /samples folder !?
Thanks, it works.
I was using a custom widget, inside the list, to load and show the the ad.
But the banner should be loaded on the list side (outside of list), instead of the widget side (inside of list items), to avoid rebuild.


CTC beamsearch decoding via ctcdecode

Quick add : Beam search decoding using this implementation : https://github.com/parlance/ctcdecode

@30stomercury Here.

@Antoine-Caubriere Could you please add an exemple in your class ? Just like for other decoders ? This will help the user to understand how to use it.

Hi @Antoine-Caubriere , can you share some examples or details of your experiments? Thanks.

Hi @TParcollet, @30stomercury,
This is very simple to use this implementation.
First, you have to add the CTCdeccodeBeamSearch in your YAML configuration file.
You must give the labels array and the path to your LM (kenlm).
An example for my experiments :
ctc_beam_search_module: !new:speechbrain.decoders.CTCDecodeBeamSearch
        labels: ['<blank>', 'u', ' ', 'r', 'e', 'v', 'o', 'i', 'm', 'c', 's', 'x', 'n', 't', 'h', "'", 'p', 'f', 'd', 'b', 'é', 'z', 'ç', 'è', 'à', 'l', 'g', 'j', 'ô', 'k', 'q', 'â', 'ù', 'î', 'y', 'û', 'ë', 'ê', 'w', '[', ']', 'ï', 'a', '<unk>']
        model_path: /users/lm/media.noconcept.4g.unk.mmap
        log_probs_input: True

Then you can simply use him in the compute_objectives.
An example :
    def compute_forward(self, batch, stage):
        """Forward computations from the waveform batches to the output probabilities."""

        batch = batch.to(self.device)
        wavs, wav_lens = batch.sig

        # Forward pass
        feats = self.modules.wav2vec2(wavs)
        x = self.modules.enc(feats)
        logits = self.modules.ctc_lin(x)
        p_ctc = self.hparams.log_softmax(logits)
        return p_ctc, wav_lens

    def compute_objectives(self, predictions, batch, stage):
        """Computes the CTC loss given predictions and targets."""

        p_ctc, wav_lens = predictions
        chars, char_lens = batch.char_encoded

        loss = self.hparams.ctc_cost(
                p_ctc, chars, wav_lens, char_lens
            )
        self.ctc_metrics.append(batch.id, p_ctc, chars, wav_lens, char_lens)

        if stage != sb.Stage.TRAIN:
            if(hparams["ctc_beam_search"]):   # <--- here, a boolean in the configuration file
                sequence = self.hparams.ctc_beam_search_module(p_ctc)
            else:
                sequence = sb.decoders.ctc_greedy_decode(p_ctc, wav_lens, self.hparams.blank_index)

            self.cer_metrics.append(
                ids=batch.id,
                predict=sequence,
                target=chars,
                target_len=char_lens,
                ind2lab=self.label_encoder.decode_ndim,
            )

        return loss

By default, blank token is on the index 0. But you can change this in the YAML if you need. (As all the others parameters (alpha, beta, beam_width...)).
Also, you can use the "nBest" parameter to extract more than the 1Best.
example :
sequences = self.hparams.ctc_beam_search_module(p_ctc,nBest=5)

Hi @Antoine-Caubriere , thanks. The make_ngram  implementation in their scorer.cpp can convert prefix into ngram for kenlm scoring, even the vocab is in subword unit. This is very useful.

Thank you @Antoine-Caubriere! That looks a nice addition. Our goal is to integrate our code with k2 and wfst, but this looks like a reasonable solution for now.
As for the code, my suggestion is the following:

Hi @Antoine-Caubriere , thanks for this pr. Have you tested this ctc decode with wordpiece tokens? On my side the ngram model can only be wordpiece-based ngram model.
Also, for wordpiece-based model, giving labels in the yaml file is intractable (thousands of labels). Do you think it would be better to obtain the labels array in another way? For example, with a tokenizer.

@30stomercury Can't we simply extract the labels from the currently loaded tokenizer? @30stomercury since you already have BPE-based N-Gram LM, could you try to see if it works? I don't think @Antoine-Caubriere has one.

I would like to merge this PR ASAP ...

Hi @TParcollet , we can merge it first. I think labels can be obtained from the currently loaded tokenizer in train.py if we would like to use it for wp-based models.

It looks like tests are failing. We have to think about what we would like to do here. This c++ solution seems very fast, while the solution that @30stomercury is setting up is slower but more flexible (it supports many things, including CTC + Transformer LM). Moreover, in the future we might consider the integration with WFST of K2. The risk is to have too many search solutions and the users can get lost easily here. What do you think?

This is a quick patch, if we do not advertise it. @30stomercury, do you have an estimate on the time needed to end your work? 1 month?
I think we can merge this, and remove it later. We can drop the support of features, just like we will do with Fairseq w2v2 once I integrated the pretraining phase.

@mravanelli let's discuss this on Slack later today. Maybe if makes sense that we wait for @30stomercury solution, and we just redirect peoples interested to this PR ?

Hi @TParcollet , I've discussed with Mirco in the meeting this week. The main blocks have been done and the performance looks reasonable. I will adapt it to all recipes once other developers are okay with the implementation of scoring part in #751 .

hey, another more lightweight and maybe more flexible option could be: https://github.com/kensho-technologies/pyctcdecode
happy to help with implementation if needed

I think we should close it this as we are moving to k2 FST, right? @TParcollet and @Antoine-Caubriere

Yes

@mravanelli I was wondering last time if we shouldn't bring this class back. I mean, for now, we have absolutely no n-gram rescoring but only LM fusion (that doesn't work with word-level LM). Maybe we should add it as it always is great to be compliant with CTCdecode? I dunno.


Incorrect display of compound primary keys with foreign key relationships

https://registry.datasette.io/registry-7d4f81f/datasette_tags

Underlying JSON looks like this:
{
    "database": "registry",
    "table": "datasette_tags",
    "is_view": false,
    "human_description_en": "",
    "rows": [
        {
            "datasette_id": {
                "value": 1,
                "label": "Global Power Plant Database"
            },
            "tag": {
                "value": "geospatial",
                "label": "geospatial"
            }
        },

Bug is likely somewhere in here: https://github.com/simonw/datasette/blob/e04f5b0d348ef7275a0a5ab9eb53527105132885/datasette/views/table.py#L143-L207

Demo of fix: https://latest.datasette.io/fixtures-e14e080/searchable_tags

Fixed here too now: https://registry.datasette.io/registry-c10707b/datasette_tags


Documentation of resource registration

Is your feature request related to a problem? Please describe.
Insufficient documentation or possible error with registering an allocation with umpire.
Describe the solution you'd like
A small working example of an allocator registering a host pointer as a resource in the documentation.
Describe alternatives you've considered
We are currently copying data from a natively allocated host array into an umpire-allocated array before moving to the device. We would much rather register the pointer and avoid those extra copies.
auto& resmgr = umpire::ResourceManager::getInstance();
auto hostallocator = resmgr.getAllocator("HOST");
auto devallocator = resmgr.getAllocator("DEVICE");

std::size_t size = N * sizeof(double);
auto host_ptr = static_cast<double*>(hostallocator.allocate(size));
auto dev_ptr = static_cast<double*>(devallocator.allocate(size));

// what we are doing:
// we get `double* source` from elsewhere...
std::memcpy(host_ptr, source, size);
resmgr.copy(dev_ptr, host_ptr);

// what we would like to do:
umpire::strategy::AllocationStrategy* strategy = hostallocator.getAllocationStrategy();
umpire::util::AllocationRecord record{source, size, strategy};
resmgr.registerAllocation(source, record);
resmgr.copy(dev_ptr, source);

I have attempted the above based on umpire's source, but the data is not copied to the device.
How should we be registering resources?

Hey @ashermancinelli - I tried your example (from the "what we would like to do") section and it worked just fine. Can you confirm that the data is not being copied when you try this?

It seems you are right... I'm not sure why my assertions were being thrown earlier. If I run into that problem again I'll make sure to raise it here. Would it be helpful if we wrote an example use case in a PR against this repository? Secondarily will we incur a memory leak if we do not deregister the pointer with the resource manager?
Thank you again for your responsiveness, we've been able to make much progress with your help.

If you would like to turn your use case into an example, that would be fantastic and we would welcome the PR.
If you don't deregister the allocation, you won't leak memory due to the AllocationRecord.  Remember that Umpire doesn't automatically deallocate, so you must still deallocate the memory somewhere.

I have the example ready for PR, just waiting on our legal team for clearance.


cannot resolve package in arm Mac Docker container when specifying platform

The below example is with a uv pip install but my actual usecase is trying to compile a cross-platform requirements.txt  file using uv pip compile and a custom python script (from https://github.com/astral-sh/uv/issues/2679#issuecomment-2068208602) which runs the same compile three times, once for each platform, then normalizes them into a single file.
Anyway, here is what I am experiencing:
M3 Macbook Pro
Python 3.11
UV 0.2.33
I am running a Linux devcontainer in Docker Desktop. At the command line I get this output when I ask Linux about its platform:
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uname -a
Linux de575a211720 6.10.0-linuxkit #1 SMP Wed Jul 17 10:51:09 UTC 2024 aarch64 GNU/Linux
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uname -m
aarch64
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uname -p
unknown

If I specify the --python-platform I get this:
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uv pip install open3d==0.18.0 --python-platform linux
  × No solution found when resolving dependencies:
  ╰─▶ Because open3d==0.18.0 has no wheels with a matching Python ABI tag and you require open3d==0.18.0, we can conclude that the requirements are unsatisfiable.

But if I don't specify the platform the install works ok:
vscode ➜ /workspaces/firefly/vision (feat/tach-detection) $ uv pip install open3d==0.18.0
Resolved 39 packages in 11ms
░░░░░░░░░░░░░░░░░░░░ [0/39] Installing wheels...                                                                                warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance. If this is intentional, use `--link-mode=copy` to suppress this warning.

hint: If the cache and target directories are on different filesystems, hardlinking may not be supported.
Installed 39 packages in 4.21s
 + attrs==24.2.0
 + blinker==1.8.2
 + certifi==2024.7.4
 + charset-normalizer==3.3.2
 + click==8.1.7
 + configargparse==1.7
 + dash==2.17.1
 + dash-core-components==2.0.0
 + dash-html-components==2.0.0
 + dash-table==5.0.0
 + fastjsonschema==2.20.0
 + flask==3.0.3
 + idna==3.7
 + importlib-metadata==8.2.0
 + itsdangerous==2.2.0
 + jinja2==3.1.4
 + jsonschema==4.23.0
 + jsonschema-specifications==2023.12.1
 + jupyter-core==5.7.2
 + markupsafe==2.1.5
 + nbformat==5.10.4
 + nest-asyncio==1.6.0
 + numpy==2.0.1
 + open3d==0.18.0
 + packaging==24.1
 + platformdirs==4.2.2
 + plotly==5.23.0
 + referencing==0.35.1
 + requests==2.32.3
 + retrying==1.3.4
 + rpds-py==0.20.0
 + setuptools==72.1.0
 + six==1.16.0
 + tenacity==9.0.0
 + traitlets==5.14.3
 + typing-extensions==4.12.2
 + urllib3==2.2.2
 + werkzeug==3.0.3
 + zipp==3.19.2

Maybe I'm missing something, but I would expect the behavior to be the same regardless of the command-line switch since I'm running in a Linux container on Docker.

Can you try --python-platform x86_64-manylinux_2_28 instead?

If you check https://pypi.org/project/open3d/#files, the oldest manylinux version they support is manylinux_2_27. By default we try to solve for manylinux_2_17, so you just need to bump your "minimum-supported manylinux version".

I've confirmed that this resolves: uv pip install open3d==0.18.0 --python-platform x86_64-manylinux_2_28 --python-version 3.11

Thanks for this diagnosis.
For my understanding, what is the difference between specifying the platform as just "linux" vs one of the manylinux options?
And why does this work correctly when I don't specify a platform at all? That's the most unexpected thing to me since without specifying a platform it's already on "linux"

Totally, happy to explain. For background (and apologies if you're already familiar), manylinux tries to capture the version of glibc installed on a given Linux machine, so x86_64-manylinux_2_28 is saying that you need at least glibc 2.28.
If you run with just linux, that's an alias for x86_64-manylinux_2_17. linux alone is under-specified, so we have to pick some default, and we decided to use x86_64-manylinux_2_17 as the default. So, if you pass linux, you're requiring that all the things you depend on support glibc 2.17 and later.
(If you run with x86_64-manylinux_2_28, you're raising that requirement, i.e., being more relaxed about the versions of glibc that you care about supporting.)
If you omit --python-platform at all, then we detect your current Python platform and use that. My guess is that your machine has a version of glibc that's newer than 2.17, so it's inferring that it's fine for your dependencies to all require newer glibc versions too.

got it, that's very helpful, thanks.
Is there a way to infer what the current Python platform will be when --python-platform is omitted?
This may end up being moot since --universal may solve my use-case with less complexity, but it sounds like I want to replace linux with x86_64-manylinux_2_28 (or aarch64... in my case).

If you run ldd --version:
root@2010ac4b3c01:/# ldd --version
ldd (Ubuntu GLIBC 2.39-0ubuntu8.2) 2.39

That'll tell you the glibc version. And then you would round down -- we only support a few cutoffs:

x86_64-manylinux_2_17
x86_64-manylinux_2_28
x86_64-manylinux_2_31

I'd recommend just using x86_64-manylinux_2_28 though. It's a common cutoff. Anything that works on x86_64-manylinux_2_28 should also work on a machine with glibc 2.2.8 or later.


fix: fix autoscaler reconciliation loop with patching collector groups instead of updating them

feat: implement status patch and use it instead of updating the whole data collection
feat: generate client for colletorsgroup crd
style: capitalize error messages

Not exactly idiomatic to this codebase, but works™. Also the genclient is not required, but I saw that annotation on every other CRD during my investigation, so added it there for symmetry. Maybe it'll be useful in the future.

We can take it to common package and use it in gateway/root.go as well.


fix: rspack plugin transform includes everything

🔗 Linked issue

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme, or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

refer to this: https://github.com/unjs/unplugin/issues/328

Close in favor of #354, thanks


The iOS release is currently broken

What

The iOS release is currently broken
https://github.com/openfoodfacts/smooth-app/runs/5633411557?check_suite_focus=true

It seems to be Cocoapods and Sentry all over again. It would be nice to have a system to prevent this to happen at all deps updates.
[!] CocoaPods could not find compatible versions for pod "Sentry":
In snapshot (Podfile.lock):
Sentry (= 7.9.0, ~> 7.9.0)
  In Podfile:
    sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) was resolved to 0.0.1, which depends on
      Sentry (~> 7.10.1)

It would be nice to have a system to prevent this to happen at all deps updates.

Any idea on how to do it, also does it work when recreating the podfile.lock

@M123-dev My suggestion: put a comment on the "sentry_flutter: ^6.4.0" line, like the one I put there:
path: ^1.8.0 # careful with 1.8.1 because of https://github.com/flutter/flutter/issues/95478

That would prevent helpful Android users from upgrading dangerous packages even when it looks harmless to do so.

Can anyone on MacOS run:
pod update
pod install

https://github.com/getsentry/sentry-dart/issues/746#issuecomment-1044951258

The CI uses macOS @monsieurtanuki, so we could insert it within, or even have a specific workflow triggered by anychange to pubspec.yaml, and that would open a branch with any changes generated by those 2 commands ?

@teolemon Honestly I don't know anything about those "new" compilation tools.
That said, if you're sure that the solution would be to call those 2 lines, you could integrate them to the process systematically: that would be a pointless step for Android but who cares?
I've just run those 2 commands:
pod update # 5 minutes
pod install # 10 seconds
pod update # 20 seconds
pod install # 10 seconds

That means that once the big update is done, running the commands again takes less than a minute.
But there were probably interesting messages that we would have dismissed with the automation:

CocoaPods 1.11.3 is available.
To update use: sudo gem install cocoapods

and

[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).

That said, if you're sure that the solution would be to call those 2 lines

Definitely no, all my knowledge on CocoaPods and iOS specific errors consist purely of other people's reports on the internet.

In my case, as suggested by the iOS logs, I had to run pod update Sentry and then I could flutter run.

Needs to be also added to ios-release-to-org-openfoodfacts-scanner.yml

ok, boom again
https://github.com/openfoodfacts/smooth-app/runs/7539359867?check_suite_focus=true


webserver docker image available for common arch

To date, the docker image of pyro-engine available on docker hub is only for linux/arm architecture.
It would be nice to be able to run it form our computers (Maybe I am mistaking and this is already okay on common machines arch)
Hence, it would be easier to develop and test on our computer and set up github workflows tests
Happy to discuss it,
Thanks a lot

Done : https://hub.docker.com/r/pyronear/pyro-engine/tags?page=1&ordering=last_updated

Great :)
Thank you @MateoLostanlen !


KAFKA-17956: Remove Admin.listShareGroups

KIP-1043 introduced Admin.listGroups as the way to list all types of groups. As a result, Admin.listShareGroups has been removed. This PR is the final step of the removal.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Test failure known and fixed by https://issues.apache.org/jira/browse/KAFKA-18078.


Any direction to read from a BLE 4.0 keyboard into ESP32

Hi thanks for all this contribution, its wonderful and I am very thankful for it.
I need a direction to be able to read characters on a BLE 4.0 keyboard into ESP32.
Yes I have played with the samples files, still I need some more help.
Thanks

If i understand you want to use standard bluetooth keyboard to connect with esp32 and on esp32 read it.
To simplify code we can just assume that keyboard has all settings valid and dont have to check it or parse report map. This is how i would do it:

when you scan find device that have appearance as keyboard
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/BLEHIDDevice.h#L21

find all characteristics with UUID 0x2a4d,

now from here find characteristic that value of descriptor 0x2908 is: (value && 0xff) == 0x01; its input report characteristic, register for notify on it

or maybe even easier: find all characteristics 0x2a4d and there most likely is only one with descriptor 0x2902, register for notify on it

parse every value received as notification as follow (there should be always 8 bytes):

byte 0: flags, says if shift, ctrl, alt etc are pressed or not

byte 1, reserved, should be always 0x00,

bytes 2-7 are keys that are actually pressed (up to 6 keys at the same time), values are NOT ascii code

decode bytes 2-7, those are arrays to decode key values:
https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLETests/SampleKeyboardTypes.h#L82-L399

Thank you very much chegewara
Will try it out
Thanks

Has anyone completed something here in the meantime? I am trying to connect a Bluetooth Keyboard with a Trackpoint to an ESP32 and forward it to my computer (Building a Bluetooth to USB HID Gateway in order to use the same bluetooth peripherals with multiple computers on a USB switcher).

Has anyone completed something here in the meantime?

Yes

Building a Bluetooth to USB HID Gateway in order to use the same bluetooth peripherals with multiple computers on a USB switcher

Not possible, because esp32 does not have native usb. You will need external chip that will works as usb hid (esp32 s2?).

My plan was to use an esp32 for the bluetooth part and the heavy lifting (e.g. keymapping or maybe even some shortcuts for e.g. some mqtt smarthome stuff and keyboard macros) and then connect one arduino leonardo per computer.
however, I've tried your HID Keyboard Client (https://github.com/chegewara/esp32-hid-keyboard-client) and it doesn't find my Thinkpad Bluetooth Keyboard at all. Just a list of "BLE Advertised Device found", but none has the Address of my Keyboard. Any suggestions?

@kellertobias Did you solve your issue?
I am planning exactly the same project, i.e. using an ESP32 + USB-HID-capable device (maybe Arduino Micro) as an interface to connect an Apple Magic Trackpad (Bluetooth only) via USB so that I can use it without installing any driver, add some custom gestures, and easily switch computers with a single USB hub.
The Apple Magic Trackpad only supports Bluetooth Classic 2.0 (no BLE!), so I guess I will be facing the same issue than you pairing the Trackpad with the ESP32. Did it work for you in the end?


Can Some one give me steps how to inject

I dont know how to inject i would like to get steps

give me 3 minutes and i have a video up for you...

https://www.youtube.com/watch?v=nj_Om7Wxyf0&feature=youtu.be

nice video, but if there are a lot of question about compiling/injecting, may be maintailers will make a github release with binaries? why not

Because it will be almost insta detected. and you need to add junkcode or you get insta banned too.
so no reason for making a git release with binaries


PartsBin v1.1 Install

Thank you for your service.
I downloaded the PartsBin-110.zip file but cannot get it installed. Anything to do with it being a MIT license?
Is this windows version newer than the .8 Docker
version. I was able to get this .8 Docker version working.
I'm turning 70 next month & retiring at the end of the year. Will be doing old guitar amp repair & want something simple to keep track of all my parts.
Thank you for putting this together.
Norm Bostic
Stewartstown, Pa

Sorry Norm, I only just saw your comment.
The best way to use it is via Docker. The Docker image should be the latest version.
I'm playing with the code today so there should be a new Docker version soon.
Thank you so much for your kind words and for using my little project :-). Hope your guitar amp repair work is going well.
Rebecca


chore: Update documentation to remove prior notice and deprecated workflow

Description

Update documentation to remove prior notice and deprecated workflow

Motivation and Context

House keeping

Breaking Changes

No

How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[ ] I have tested and validated these changes using one or more of the provided examples/* projects

[ ] I have executed pre-commit run -a on my pull request

@antonbabenko my bad - don't forget to update default branch name 🙈

This PR is included in version 2.1.1 :tada:


Won't install on Windows 10 latest 21H2

Utilized the recommend Windows build - no errors code seem to have been thrown just quick cmd windows opens and closes.

Hi @sbaxevanis.  Sorry it's not working for you.  Can you send me the command line used and config file?  I'll try to get it working for you.

Closing due to inactivity.  Feel free to open another ticket if needed.


307 Test: ach-web-read|write

Add ach-web-read|write

Coverage remained the same at 96.539% when pulling 3b1ad1391b623bdd2d2560a3e3b1c6118eb834f8 on 307-Test-ach-web-read-write- into 640a50684b764af0a701be77c35d4fa6a35bc259 on master.


Update: CSO .htaccess

The link to the ontology has changed. Thus, i made a change in .htaccess file of CSO.

done, i edited the first comment.


Showing a single Feature

Hello - The code works great for a FeatureCollection, but it apparently doesn't accept a single Feature.  E.g. the following is not accepted:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [125.6, 10.1]
},
"properties": {
"name": "Dinagat Islands"
}
}
Is this by design?
Thks

Regardless, the code can be modified to handle a single Features by doing the following:
In _getGeoJson: function (geojson), change to
        if (geojson.type !== "Feature" && (geojson.type !== "FeatureCollection" || !geojson.features)) {
            console.error("GeoJsonLayer Error: Invalid GeoJSON Feature or FeatureCollection. Check url or data structure.");
            return;
        }

In _addGraphics: function (arcgisJson), change to
       if (arcgisJson.constructor !== Array) {
          graphic = this._createGraphic(arcgisJson);
          this._addGraphicToLayer(graphic);
       } else {
          // Limit size of data that can be drawn
          if (arcgisJson.length > this._maxDraw) {
              this._drawCountTotal = this._maxDraw;
              console.warn("GeoJsonLayer Warning: Large dataset detected. Only drawing the first " + this._maxDraw + " features!");
          } else {
              this._drawCountTotal = arcgisJson.length;
          }
          // Add graphics to the layer with symbols, project if needed
          for (i = 0; i < this._drawCountTotal; i++) {
              feature = arcgisJson[i];
              // Create graphic - magically sets the geometry type!
              graphic = this._createGraphic(feature);
              // Add to layer
              this._addGraphicToLayer(graphic);
          }
       }

sorry for the delayed reply @GB11111 but its by design that this project expects a GeoJSON feature collection to be supplied.


Add default user agent string to custom api client

Set the default user agent string to give the version of the custom api client, and have it overriddable by users of the client.

 Add user-agent to APIClient


ADF 1.0 component generator

Current coverage is 90.62% (diff: 100%)

Merging #40 into master will increase coverage by 0.09%

@@             master        #40   diff @@
==========================================
  Files             1          1
  Lines            95         96     +1
  Methods          15         15
  Messages          0          0
  Branches         11         11
==========================================
+ Hits             86         87     +1
  Misses            9          9
  Partials          0          0

Powered by Codecov. Last update 4508028...f986f03


Terms page doesnt load

Small issue: The terms page link in the footer doesn't load. I've tried in Chrome and Safari on desktop.
https://ppg.report/terms
I see src/routes/Terms.tsx but the page doesn't render.

Thanks, this is now fixed!


Add back host option

Hey there, I'm late to the party - sorry for that! Never had my hands on tinacms before the migration from forest.io
While attempting the migration, an issued occurred which - I think - originated in this pull request. Previously there was an Option to expose the Vite server externally (introduced by #3484 by @logan-anderson) - which doesn't seem to be there anymore.
When we run tinacms dev --verbose -c nuxt (which is configured to listen to Port 3000), I have the following processes on those open ports in the container:
# netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:43609        <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:3000            <IP_ADDRESS>:*               LISTEN      68/node
tcp        0      0 <IP_ADDRESS>:4001          <IP_ADDRESS>:*               LISTEN      31/node
tcp6       0      0 :::9000                 :::*                    LISTEN      31/node

to toy around with and potentially get tinacms up and running, we need the 4001 port configured the same way. I see how the default 4001 port gets passed down in the dev-command (reference) - but the host for Vite needs server.host to be passed as part of their Configuration Object.
So far for my analysis - any suggestions on how to take it further @jeffsee55? I'm not very familiar with tinacms, but would like to help .. if you let me know how.
Thanks
-Stefan
Originally posted by @steffkes in https://github.com/tinacms/tinacms/issues/3659#issuecomment-1520077320

I'm also trying to run tina with hugo on a docker container. So, with latest version I can now set server,host on config file and that should do it? I'll set up a fork and test it and I'll let you know if it works. If it does not work, please let me know what I could be missing

I've tested this with this repository: https://github.com/tinacms/tina-hugo-starter
Using this Dockerfile:
FROM klakegg/hugo:ext-alpine
WORKDIR /app
RUN npm i -g yarn
COPY package.json yarn.lock ./
RUN yarn install
COPY . /app
EXPOSE 3000
ENTRYPOINT ["yarn"]
CMD ["dev"]

I updated tinacms to latest version using this command: npm i tinacms@latest
I updated tina/config.ts file to this, adding build.host: true:
import { defineStaticConfig } from "tinacms";

// Your hosting provider likely exposes this as an environment variable
const branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";

export default defineStaticConfig({
  clientId: process.env.TINA_CLIENT_ID!,
  branch:
    process.env.TINA_BRANCH! || // custom branch env override
    process.env.VERCEL_GIT_COMMIT_REF! || // Vercel branch env
    process.env.HEAD!, // Netlify branch env
  token: process.env.TINA_TOKEN!,
  build: {
    outputFolder: "admin",
    publicFolder: "static",
    host: true
  },
  media: {
    tina: {
      mediaRoot: "uploads",
      publicFolder: "static",
    },
  },
  schema: {
    collections: [
      {
        name: "post",
        label: "Posts",
        path: "content/posts",
        fields: [
          {
            type: "string",
            name: "title",
            label: "Title",
            isTitle: true,
            required: true,
          },
          {
            type: "datetime",
            label: "Date",
            name: "date",
          },
          {
            type: "boolean",
            name: "draft",
            label: "Draft",
          },
          {
            type: "rich-text",
            name: "body",
            label: "Body",
            isBody: true,
          },
        ],
      },
    ],
  },
});

which installed version 1.5.4
But still after building and running container, cant access admin page and shows this errors

Project works perfectly if instead of docker i just run it locally, but I want to deploy this image on a server with multiple other services.
Let me know if I'm doing something wrong or you want me to set up a test repository to make this possible


Elasticsearch type: possibility to change it

It might be useful having the possibility to set the Elasticsearch type name that is by default items.

Hi @salvob41,
you can change the type name as you may prefer, before creating the index.
E.g.:
PUT twintuser
{
  "mappings": {
    "mycustomname": {
      "properties": {
        "id": {"type": "keyword"},
        "name": {"type": "keyword"},
        "username": {"type": "keyword"},
        "bio": {"type": "text"},
        "location": {"type": "keyword"},
        "url": {"type": "text"},
        "join_datetime": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss"},
        "join_date": {"type": "date", "format": "yyyy-MM-dd"},
        "join_time": {"type": "date", "format": "HH:mm:ss"},
        "tweets": {"type": "integer"},
        "following": {"type": "integer"},
        "followers": {"type": "integer"},
        "likes": {"type": "integer"},
        "media": {"type": "integer"},
        "private": {"type": "boolean"},
        "verified": {"type": "boolean"},
        "avatar": {"type": "text"},
        "session": {"type": "keyword"}
      }
    }
  }
  ,
  "settings": {
    "number_of_shards": 1
  }
}

if you use it as module, installed with pip. There is no easy way to do it. though.

Maybe I misunderstood what you are talking about, can you elaborate please?
How did you create the index?

I am using the twint module available from pip
import twint

# Configure
c = twint.Config()
c.Search = "#gamedev"
c.Store_json = True
# CSV Fieldnames
c.Output = "twitter.json"
c.Elasticsearch = "localhost:9200"
c.Index_tweets= "tweets"
# Run
twint.run.Search(c)

I did something like this. I didn't put any mapping, because I want to use it in code  (because search words and index will be different ).
The type though, is still items. And it seems I have no way of changing it.  It isn't extremely important but might be a good thing to have it.

Now the point is more clear, I'll add the option for custom index

Change c.Index_type as you may prefer
Obviously change the index template accordingly

I had tried to customize the index name and type name using c.Index_tweets and c.Index_type.

Then, this error occured.

This doesn't happen if I set them back to the default settings.
What can I do to resolve this?

Because you are trying to index into an index that has a different "document type". So if you want a specific "document type" you have to create a new index, so specify a new config.Index_tweets.
On the other side, as you can see here
https://github.com/twintproject/twint/blob/f8c8d84cf84c5290c0cfbc06682b1509a1991598/twint/storage/elasticsearch.py#L54-L95
and below, Twint creates the index with items as Index_type by default (this is my fault)
I'm going to apply a patch soon, in the mean time you can replace "items" with config.Index_type

Please consider that once an Index is created with a specific document type, it needs to be same over time


node-notifier doesn't work in Windows 10 (appID issue?)

I'm trying to use node-notifier in a simple expressjs project running on Windows 10 (Webstorm IDE).
The code is plain and simple, taken from the README:
const notifier = require('node-notifier');
notifier.notify('Message');

Whatever I did - not a single message pops up.
I tried to google it up, and it seems that I have to include an appID attribute - but I have no idea how to retrieve it (should it be for WebStorm? Command window?). Configuring it manually in the package.json doesn't work as well.
I'd appreciate any help.
Thanks in advance!

This works for me out of the box on Windows 10... However, if I try to get it to run via pm2 or from powershell running as system, it doesn't show any notification. Are you running it from the user you're logged in with? I don't know what could be the problem...

I'm running it from my user, and I'm not using either pm2 or PowerShell.
It is indeed a mystery :)

Not working for me either on Windows 10. Tried from PowerShell terminal under VScode and direct in a command prompt window. No errors are produced.

Refused to work after updating to Windows 10 1903 verstion

I'm seeing the same thing as @peshkov3. After an update to Windows 10 1903, notifications stopped popping up. They do show up as notifications in the notification area after a reboot.

In my testing tonight (possible I'm missing something), but it looks like it works consistently if you provide the wait option. Something like:
const notifier = require('node-notifier')

notifier.notify({
  message: 'message',
  wait: true
})

That causes the notification to wait for ~10 seconds, but ensures it pops up. If you're still having issues with notifications not working on windows, throw this line before your notification:
process.env.DEBUG="notifier" and make sure to include at least the [notifier options] that it prints out and the name of the .exe file that it is using (you'll probably want to avoid putting the entire path to the .exe, but that's up to you).
Sidenote: It does look like there's a new version of SnoreToast (the exe file used for windows), 0.6.0 that we should probably update to. It looks like that version always waits (they took away the option in this commit. I'm not familiar enough with the library yet to know how to update to that version of the exe file, so we'll have to wait for @mikaelbr to chime in.

@jnielson94 It's pretty straight forward to update snoretoast. Just override the exe file in ./vendors (and the license), and check that it works as expected.

Which version of the exe are we using? x86 or x64?

Honestly, I don't know: https://github.com/mikaelbr/node-notifier/pull/134. But comparing file sizes it looks like x86.

wait fixes the issue for me, but it will be great if it's fixed in the module,

After I updated the SnoreToast.exe in ./vendor/snoreToast to v0.6.0, I can confirm that it works again. The wait behavior is now default, as @jnielson94 noticed.
Don't forget to remove the wait parameter or you will only get the usage output from SnoreToast  🙂 That parameter should be removed in future release of node-notifier.

@0x04 - Glad it looks to be working for you! We just released v6 a few hours ago with an updated SnoreToast version. Ideally that will fix this issue, so I'm going to go ahead and close it. Feel free to comment if you run into further issues.

It's now making sounds. Any way to disable that?

@seishun - I don't think anything changed with sounds... Do you have sound: false in your notification? I'm pretty sure it's defaulted to true, but you should be able to turn it off.

No, but there were no sounds before. Anyway, I turned them off through the notification settings in Windows.

👀


[ODSC-55947] Update CLI docstrings

Description
The current CLI docstrings were inadequate for evaluation and fine-tuning, we now add the additional params that will be accessible to the user when they use --help option with aqua CLI.
Output
An example of fine_tuning create help command.
ads aqua fine_tuning create --help
NAME
    'ads aqua' fine_tuning create - Creates Aqua fine tuning for model.

SYNOPSIS
    'ads aqua' fine_tuning create <flags>

DESCRIPTION
    Creates Aqua fine tuning for model.

FLAGS
    -c, --create_fine_tuning_details=CREATE_FINE_TUNING_DETAILS
        Type: Optional[CreateFineTunin...
        Default: None
        The CreateFineTuningDetails data class which contains all required and optional fields to create the aqua fine-tuned model, if accessing via jupyter extension.
    Additional flags are accepted.
        The kwargs for creating CreateFineTuningDetails instance if accessing via CLI.

        --ft_source_id [str]: The fine-tuning source id. Must be foundational model OCID.

        --ft_name [str]: The name for the fine-tuned model.

        --dataset_path [str]: The dataset path for the model fine-tuning. Must be an object storage path.

        --report_path [str]: The report path of the fine-tuned model. Must be an object storage path.

        --ft_parameters [dict]: The parameters for model fine-tuning. Currently, user can configure learning rate and number of epochs.

        --shape_name [str]: The shape name for the model fine-tuning job infrastructure.

        --replica [int]: The replica count for the model fine-tuning job runtime.

        --validation_set_size [float]: The validation set size for fine-tuning job. Must be a float in between [0,1).

        --compartment_id [Optional, str]: The compartment OCID where evaluation is to be created. If not provided, then it defaults to user's compartment.

        --project_id [Optional, str]: The project OCID where evaluation is to be created. If not provided, then it defaults to user's project.

        --ft_description [Optional, str]: The description of the fine-tuned model. Defaults to None.

        --experiment_id [Optional, str]: The fine-tuned model version set id. If provided, evaluation model will be associated with it. Defaults to None.

        --experiment_name [Optional, str]: The fine-tuned model version set name. If provided, the model version set with the same name will be used if exists, otherwise a new model version set will be created with the name.

        --experiment_description [Optional, str]: The description for the fine-tuned model version set.

        --block_storage_size [Optional, int]: The storage for the model fine-tuning job infrastructure.

        --subnet_id [Optional, str]: The custom egress for model fine-tuning job. Defaults to None.

        --log_group_id [Optional, str]: The log group id for the evaluation job infrastructure. Defaults to None.

        --log_id [Optional, str]: The log id for the evaluation job infrastructure. Defaults to None.

close this PR since docstrings will be generated using a custom function for fire in the next iteration.


Implement Cache and Enhance Resolving Info Init Methods

Among other, a TokensGroup protocol was created with one concrete implementation to simplify creating resolving info.

I think we’re ready for a 1.0! What do you think?
Breaking changes:

di does not exist anymore; configuration is done directly through the XibLocConfig object;
The XibLocResolvingInfo init extensions for source type String are now deprecated in favor of the TokenGroups;
Support for dictionary replacements has been fully dropped (parsing had never been implemented anyway).

Bug fix:

.setBold and .setItalic now work! Specifically the setFontFrom(:, newSize:, newIsBold:, newIsItalic:, range:) has been fixed.


shape check for mask and subjects in distribute method

not sure I should be creating another request, please / delete the other change if needed, pr-check passed

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Jenkins, OK to test.

I forgot to mention that you should simply push new commits to your branch and they will show up in this PR.

Thank you very much for your contribution, @YSanchezAraujo!


✅💚: vsphere: search good template for tests

Description
Previously there was a template ID hardcoded in the tests, we now have a Name hardcoded and list all templates, selecting one that matches the name (always using the lexically highest build-string).
Release Note
Release note for CHANGELOG:

NONE (tests updated)

References
The CI runs failed today.

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Codecov Report

Merging #73 (84d3770) into main (4e5c996) will increase coverage by 27.23%.
The diff coverage is n/a.

:exclamation: Current head 84d3770 differs from pull request most recent head 8bf06ec. Consider uploading reports for the commit 8bf06ec to get more accurate results

@@             Coverage Diff             @@
##             main      #73       +/-   ##
===========================================
+ Coverage   28.34%   55.57%   +27.23%
===========================================
  Files          87       87
  Lines        3676     3676
===========================================
+ Hits         1042     2043     +1001
+ Misses       2576     1306     -1270
- Partials       58      327      +269

Flag
Coverage Δ

integration
43.72% <ø> (?)

unittests
28.34% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/clouddns/zone/zone.go
48.24% <0.00%> (+1.50%)
:arrow_up:

pkg/client/client.go
78.10% <0.00%> (+5.10%)
:arrow_up:

pkg/lbaas/backend/api.go
89.28% <0.00%> (+7.14%)
:arrow_up:

pkg/lbaas/frontend/api.go
13.33% <0.00%> (+13.33%)
:arrow_up:

pkg/core/tags/tags.go
13.86% <0.00%> (+13.86%)
:arrow_up:

pkg/core/resource/resource.go
14.28% <0.00%> (+14.28%)
:arrow_up:

pkg/lbaas/loadbalancer/api.go
35.71% <0.00%> (+14.28%)
:arrow_up:

pkg/client/error.go
70.00% <0.00%> (+20.00%)
:arrow_up:

pkg/ipam/address/address.go
26.57% <0.00%> (+26.57%)
:arrow_up:

pkg/lbaas/bind/bind.go
40.36% <0.00%> (+40.36%)
:arrow_up:

... and 49 more

Continue to review full report at Codecov.

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


CLI should print load without --path result as JSON instead of pretty-printed repr

done: https://github.com/derekenos/jsonite/commit/5b1e8bb08adcf4f95c76f49ecb0b6a277aa645f1#diff-55cf92c2fe7d538291feede512798f3ffd0c32bb3461273f6a052c8356f2c366R766


Use SVG icons instead of bitmaps

Now that all browsers we're targeting support SVG we should make an effort to replace the bitmap icons we have. I am marking this as 'help wanted' since someone will have to recreate the icons.

@mourner would you happen to have the original assets for the icons? Perhaps we can reach out on our socials to see if there is someone out there who'd donate some time to convert/redesign the icons we have.

would you happen to have the original assets for the icons?

@jonkoops You mean https://github.com/Leaflet/Leaflet/tree/main/src/images ?

@IvanSanchez No, I am referring to the ones in the dist directory. If we replace these we can get rid of a lot of 'retina' based code paths for the icons.

@mourner would you happen to have the original assets for the icons?

@jonkoops I'm confused, aren't they the ones in the src/images dir? The only SVG that's missing is for the marker shadow, easy enough to recreate.

Ahhhh, yes. My mistake, I was under the impression that those were different icons. Cool, we can mostly use those then.

Created a draft PR under #8766 so we can collaborate on this.


Prevent from accidentally hitting Cmd-Q

I wanted to close the window and went with Cmd-Q and Orbstack stopped with all of my containers.
I think this should be a less common shortcut. I'd expect Cmd-Q to maybe close the window, not the app, or if it's going to close the app, maybe do something like chrome that asks you to

When doing cmd-q. All of this could be made configurable to accommodate once usage.

Duplicate of #776. You can use Cmd-W (standard macOS shortcut) to close the window.


TypeError: 'float' object is not callable

Hello
Trying to get this working as it seems amazing, but every time I get an error after generation.
Dry runs work fine, the generated page works fine, the generation works fine (I can see the generated images in the relative folders) but right at the end it errors with "TypeError: 'float' object is not callable"
Console output:

Error completing request
Arguments: ('cat, feline, feral, big eyes, sharp eyes, abstract, 4k, bokeh, full body, abstract background, flowers, pattern, gradient, design, cover page, front cover, movie poster', 'lowres, bad anatomy, bad hands, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry', 'None', 'None', 23, 0, False, False, 1, 1, 11,<PHONE_NUMBER>.0, -1.0, 0, 0, 0, False, 640, 512, False, 0.7, 0, 0, 4, False, False, False, False, '', 1, '', 0, '', True, False, False, 'Confused/new? View the README for usage instructions.', True, True, False, True, True, 'cattest.yml', '🔄') {}
Traceback (most recent call last):
File "H:\AI TEST\FRESH\stable-diffusion-webui\modules\call_queue.py", line 45, in f
res = list(func(*args, **kwargs))
File "H:\AI TEST\FRESH\stable-diffusion-webui\modules\call_queue.py", line 28, in f
res = func(*args, **kwargs)
File "H:\AI TEST\FRESH\stable-diffusion-webui\modules\txt2img.py", line 46, in txt2img
processed = modules.scripts.scripts_txt2img.run(p, *args)
File "H:\AI TEST\FRESH\stable-diffusion-webui\modules\scripts.py", line 328, in run
processed = script.run(p, *script_args)
File "H:\AI TEST\FRESH\stable-diffusion-webui\extensions\sd-infinity-grid-generator-script\scripts\infinity_grid.py", line 612, in run
with SettingsFixer():
File "H:\AI TEST\FRESH\stable-diffusion-webui\extensions\sd-infinity-grid-generator-script\scripts\infinity_grid.py", line 433, in exit
hypernetwork.apply_strength()
TypeError: 'float' object is not callable

I've tried updating, re-installing the extension, even running it on a fresh SD install. I've tried the example scripts provided and no luck.
cattest.yml [pastebin]

Oops, HypernetworkStrength wasn't tested.
The new commit above fixes the code for hn strength.
But also, your test yaml file had a couple minor issues:
A: You were missing values: under hypernetwork .. might be you deleted some hn entries before posting and accidentally deleted too many lines?
B: Your Hypernetwork Strength file had values with keys like 0.75: - YAML doesn't allow . in key names, so that can be changed something like 0_75 to make it work (the . is fine everywhere other than the key)
So like:
            0_75:
                title: 0.75
                params:
                    HypernetworkStrength: 0.75

Alternately you can just give lazy key names like 1:, 2:, 3: since those keys only decide the file path and not much else.
With the code update and those lil yaml patches applied, it's working as intended now!

Thanks for this - working perfectly fine now :)
Not sure why the paste somehow deleted 4 lines? values: was in the original file.
I've changed the formatting in the key names also.
Sweet extension 👍 will help me a lot.


Add planet NCFI type for master

collection.js:

Line 1391: return imagery && imagery.sourceConfig && {

collectionMenuControls.js:

Line 227: htmlFor must correspond to an id on a form element. Add one to the select.
Line 277: No need to specify type="button" on a <button> element. This attribute is for <input> elements.

review-institution.js:

Line 737: Why is our sourceConfig.type still camelCased as MapBox?
Line 739: Missing semicolon.

Line 277: No need to specify type="button" on a  element. This attribute is for  elements.
-- One of the default lint rules requires the specificity
Line 737: Why is our sourceConfig.type still camelCased as MapBox?
-- Because we have existing imagery in the DB with type MapBox


please add readme/readme.txt

basic descr of plugin, also mention that is should behave like (or almost like?) Sublime Text's command with the same name
pls write there author name (or at least nickname) and Github URL of this page
and 'license: MIT' line

Added in commit


fix: plus sign missing

There are some configurations that use webpack.DefinePlugin to define ENV. If use process.env.NODE_ENV, will get undefined. Do need to explain it in the documentation?

@muzea Thank you for catching that omission.


Investigate and add admin toggling capabilities

New messenger features allow users to remove and add admins in messenger group chats

New getThreadList have this commented out, I will change it when I get back home

This also ties into membership approval requests, which the API may be able to field.
In my testing, it seems the API cannot freely add people as before when admin approval for membership is turned on, even if the controlling account is an admin, so it would be nice if we could add functionality to approve/deny these requests as needed.

I think this was added in https://github.com/Schmavery/facebook-chat-api/pull/659?? If there's some issue with it we can reopen. Thanks all!


Secrets in env variables in 'Docker - run an image' task

Environment

Version: TFS 2018 (Update 1)
Agent - Private on Windows 2016 using latest docker version 17.06.2-ee-13

Issue Description
We want to test release a docker image with some env variables using 'Run an image - Docker' task. We define some secrets in the 'Variables' tab of the 'new release definition'. However, it does not seem possible to use these secrets in the 'Environment Variables' section of the docker run image task. We use it in the form of MQ_SECRET=$(MQ_SecPass).

Same problem here. Using it in the form of
MQ_SECRET
in the 'Environment Variables' section doesn't work either.
The env variable is not set in the container.

@virtrixke @The-real-Urb, I have tried your scenario, setting release secrets variables in the 'Environment Variables'. it is working for me, i see environment variable properly set in docker container. Can you explian issue and your scenario more? Can you share the logs and Dockerfile.

@vithati , I have it working fine now. I had to change 2 things.

removed and added the secret to TFS again. It was blank for some reason :-s
In the 'Environment Variable' section, I had to put "SecretPassword=$(SecretPassword)" instead of "SecretPassword".

Now the secret is blanked out perfectly in the logs:
2018-07-25T06:51:11.4532000Z ##[debug]C:\Program Files\Docker\docker.exe arg: ["-e","SecretPassword=********"]
For me, this is a non issue. Thx!

@virtrixke, please reopen bug if you faces any issue.


Database Attribute name API

I am working on (minor) conversion of the SEISPP objects AttributeMap (see http://www.indiana.edu/~pavlab/software/seispp/html/class_s_e_i_s_p_p_1_1_attribute_map.html   ) and AttributeCrossReference ( http://www.indiana.edu/~pavlab/software/seispp/html/class_s_e_i_s_p_p_1_1_attribute_cross_reference.html ).
Ian, I'm not sure if you ever used these, but I believe strongly they will be as useful for MongoDB as they proved useful for the Antelope interface.   What they simplify is the thorny problem of internal versus external attribute names.   e.g. CSS3.0 names like origin.lat can be mapped to something like source_latitude.   Another good example is a map to and from SAC's namespace to a (proposed) MsPASS namespace.   This could, for example, allow SAC people to use SAC aliases for standard db attributes allowing them to use SAC names to extract or set attributes.    These two objects provide a core functionality to make that feasible so I'm working to put the revised implementation into mspass.   Now would be a good time to comment on this API.   I've only done one minor tweek so far to the AttributeMap object:  I added an operator[] to get "AttributeProperties" by a standard key defined for the AttributeMap.   The SEISPP version lacked this out of pure laziness since I think I'm the only one who ever used this.
Anyway, comments are welcome and needed.

refer to #20 for more updated discussion.


Write a Kotlin program to find the smallest three elements in an array

Description
Write a Kotlin program to find the smallest three elements in an array
Input  : arr[] = {10, 4, 3, 50, 23, 90}
Output : 3 4 10

Input  : arr[] = {12, 13, 1, 10, 34, 1}
Output : 1 1 10

How to contribute

Comment !assign to assign this issue to yourself
Fork this repository
Create a new branch
Save the solution in program/program/find-the-smallest-three-elements-in-an-array/FindTheSmallestThreeElementsInAnArray.kt
Commit the changes
Create a pull request

!assign