Convert specification to schema format

A long-term goal of the specification could be to make almost all of its content into a machine-readable schema, to facilitate automated use of the specification in other packages (e.g., pybids and bids-validator), as well as to propagate small changes across the specification.
This is related to #423, #466, and #475. In #423, @dbkeator discusses work in extracting schema-like information from the specification, converting the terms to JSON-LD format, and linking BIDS terms to similar terms in other ontologies (see BIDS_Terms). Many elements of this work should also be incorporated into the actual specification, as it explicitly defines associations between terms within the specification. This should, in turn, make extracting relevant information from BIDS for other efforts, like BIDS_Terms, much easier. Initial work toward doing this conversion with the YAML format and specifically limited to the entity table has been done in #475.
Here are some initial goals for the conversion:

Distinguish different object types, and organize them into different folders: entities, modalities, datatypes, suffixes, extensions, and metadata fields, at minimum.

In cases where order is important (e.g., entities), organize or label the objects in a manner conducive to this.

Define top level files and associated data folders (e.g., sourcedata/).
The inheritance principle, somehow.
Explicitly require jsons.
Define each of the objects, possibly in its own file, with the following fields:

Name
Definition
Format/allowed values (for entities and metadata fields)
Mutually exclusive objects (at least for metadata fields)
Citation (at least for modalities)

Link associated object types:

Required and optional metadata for each datatype.
Required and optional columns for tabular files.
Required and optional entities for each datatype, broken down by groups of suffixes.
Required and optional suffixes for each datatype, broken down by groups of suffixes.

Code to automatically compile the Markdown and PDF versions of the schema.

Objects should either have their own pages or their definitions should be duplicated in any sections where they're applicable. For example, the run entity is currently defined once, under Anatomy imaging data under Magnetic Resonance Imaging, even though the entity applies to many other datatypes, and is generally referenced or briefly defined in those other datatypes' sections, without a link to the main definition.
The code-formatted templates should also be compilable.

Code to minimally validate the specification, ensuring that all files for a given object type have the required fields. In cases where those fields are supposed to have specific values, the validation should check that those fields are correct in all files.

I think that only sections of the specification that wouldn't be described in the schema would be the Appendix pages, introduction pages/sections, Common Principles, and specific examples.
Open questions:

JSON-LD vs. YAML

I think JSON-LD is more standard for this type of thing, but I personally find it harder to work with than YAML.

Duplication vs. modularization

In #475, we've leaned toward minimizing duplication and placing information in larger files, in order to make it easier to make changes across files. When there's automated validation, this may be less of an issue since developers will be aware when they introduce breaking changes. Generally in schemas, it seems like each object gets its own file.

Conversion of past versions of the specification

@yarikoptic created bids-schema, where the schema can be made available across versions, so it's possible to convert old versions of the specification to the new schema format, although it would be a lot of work.

a small clarification: JSON-LD vs YAML. is a bit wrong comparison since JSON-LD is JSON + LD conventions for key names etc.  YAML (2.0) is super class of JSON (so any valid json is also valid YAML but not necessarily vs versa). So, it is possible to pretty much have "YAML-"LD, which would remain a more human accessible version of JSON-LD.      See e.g. YAML used for "working toward JSON-LD" used by @satra within https://github.com/dandi/schema/blob/master/terms/AccessRequirements.yaml .  We would just need to verify (test) that we can still do YAML -> JSON -> YAML round trip, i.e. that no features of YAML which are not in JSON were introduced.
So AFAIK we do not really need to "use JSON" while working on the schema (in our "sources")  -- we can convert to JSON-LD for the "published" document. Our "sources" could remain as modular and avoid duplication as we like it, we just need to introduce "provisions" for encoding graph structure of LD and to ensure that we can produce proper json-ld from it.
Having said all that, @satra et al are releasing json-ld's (and other serializations) while I believe working directly within "json-ld" sources, but also modularized into files (but without hierarchy), e.g. see https://github.com/ReproNim/reproschema/blob/master/terms/multipleChoice .  To my very personal liking it is a bit of duplication etc which we could avoid... ;-)

JSON-LD is JSON + LD conventions for key names

i should clarify this is only true for the compact form of JSON-LD. the expanded form has its own specific syntax.

JSON-LD is JSON + LD conventions for key names

i should clarify this is only true for the compact form of JSON-LD. the expanded form has its own specific syntax.

it is no longer a valid JSON?

it is valid JSON, since JSON is always the underlying format, but the validation schema for the compact form and the expanded forms would be different. valid JSON doesn't mean valid data :)

sure, good... I was simply pointing out that any (compact or not) JSON-LD is a valid JSON (and thus a valid YAML).  What we would need to do for validation of the schema itself is another aspect.

I guess I really don't know enough about JSON-LD (or even just LD). The decision I was trying to describe is generally between an established, but highly technical specification with a steep learning curve (i.e., JSON-LD) and a customized, readable, but highly idiosyncratic specification (e.g., something like what's being done in #475). If we do choose to follow established ontology structures like JSON-LD, we'll need some sort of translation between standard contributors and the schema, such as maintainers with specific training. On the other hand, if we use ad hoc structures, then they'll be much more readable, but also not easily interactive with other ontologies.
Given that I have very limited experience with JSON-LD (mostly looking at NIMADS and NIDM and being confused), I hope that I'm not misrepresenting the tradeoff. Please correct me if either of you see a problem with it.
@sappelhoff- On an unrelated note, since there are currently several issues and one PR dedicated to the conversion of the specification to a schema, could we create a new Project board to manage them?

@tsalo - i think there are perhaps several components being conflated together, so instead of directly thinking about json/jsonld/ld, let's consider the components and why we may want to represent them in some schema or other structured format.
I am also writing this partly to think this through a bit more openly. It may also be helpful for anyone new to bids to consider the potential places for contribution and ramifications that any change should consider. This builds on the very nice set of areas that @tsalo lays out in the original post (so please read: https://github.com/bids-standard/bids-specification/issues/540#issue-664636822 before this).

Vocabulary or listing of valid bids terms. This is part of the goal of the nidm-terms project. The intent here is to accumulate possible terms in the bids world in some structured manner. This is not about where these terms are used or what relations these terms may have. It is simply saying these terms exist and here is how i can describe them better through potential contextualization both within bids and to other ontologies (cogpo, cog atlas, and others). Thus creating a universal vocabulary across BIDS.  So any new person adding something would simply need to add a term in a common place and then use it as necessary in the specification.

Structural and value constraints
a. BIDS provides structural constraints via its hierarchy. This translates to applicable patterns at different levels. For this situation it is more about validation. One could simply take a BIDS dataset walk (i.e. a tree), turn it into a JSON document and run a json-schema against it for validation. I'm not sure at this point, whether or not a JSON schema can successfully validate this object.
b. Structures of files. JSON, TSV files should be parseable as those.
c. Contents of JSON files. These are JSON themselves, therefore ideally there should be a schema to validate against.
d. Contents of TSV files. This requires an interaction between the TSV file and an associated "validation schema" of some kind in the related JSON file that describes the .
e. Other files. BIDS at present includes a host of other data files. Those should be validated at least a a structural level.

Reasons for structuring
a. Generate documentation that highlights the structure. I believe this is what this started with. The entity table. But more generally this could be used to relate pieces of bids as well across modalities, datatypes, etc.,..
b. Provide new contributors an easy place to add things without violating other pieces of the specification. And perhaps for contributors to see what the current constraints are.
c. Simplify software maintenance. Extend the bids validator/pybids to support more things over time and build it from a common model that supports the specification and the validation.
d. Validation. To validate contents or structure of hierarchy automatically.
e. Search. At the end of the day search can be seen through multiple lenses. Free form text search or more faceted search based on structured representations.
f. Linking to other things. While many things in BIDS are constrained, several things are not. Some of the ongoing work tries to help link arbitrary ad hoc names to less ad hoc concepts. This does impact search directly, but also helps consolidate knowledge at a given time.

Implementation technologies.
There are many ways to create validators (JSON schema, SHACL, XMLschema, and others). There are many tools that support developing constraint models with validators (attrs, traitlets/traits, pydantic, sqlalchemy, pyshacl, pyld, and others). And of course one can create custom validators. Unfortunately, because trees and graphs are different structures, one may have to adopt one or more validation schemes depending on the lens through which you look at your object. This is partly where JSON-LD kind of comes in as a potentially happy medium. Under certain circumstances you can validate using JSON schema and be confident that a validation through SHACL would give the same result. Or vice versa, you can validate via SHACL and know that it will also pass JSON schema validation. This happy medium then also allows usage in different settings (ORM databases, graph databases) for different applications. There may be other constraints that many json validators may not be able to support. And that comes about trying to implement the schema in some form.

@sappelhoff - On an unrelated note, since there are currently several issues and one PR dedicated to the conversion of the specification to a schema, could we create a new Project board to manage them?

Hi @tsalo I just increased your scope of permissions for this repository. Can you go ahead and try to make a project now? If it doesn't work, I'll look into the permissions again.
I think it's a great idea to create a project board for this!

It worked. Thanks!

@satra You expressed all of my goals better than I did! As well as noted several more that I hadn't thought of.
Do you have any thoughts on where we should go from here? It seems like we need to decide on the schema of choice for each of the elements you describe in "Structural and value constraints". Should we open a separate issue for each, or try to find one solution that works for all of them? I assume we could commit to technology (e.g., JSON-LD or SHACL) and then break it down from there?
Perhaps we could ping some of the other folks who work with schemata more than me for their thoughts on the best technology for this case. Most everything under "Implementation technologies" went over my head, so I doubt I'll be able to contribute to that decision.

@tsalo - it may be good to have an online chat with interested parties to discuss some of these things?

@satra that sounds like a good plan!

@satra Would would be interested? Based on a recent BIDS maintainers call, I was thinking @yarikoptic, @dbkeator, @dnkennedy, @rwblair, and possibly Maryann Martone (not sure if Dr. Martone has a GitHub account).

I'm interested....

@yarikoptic and I joined a couple of NIDM-Terms calls with most of the interested folks where we've made solid progress on the format of the schema, and since there is now a project board for the conversion I think we can close this issue in favor of more focused issues. Any objections?

+1 for smaller, targeted, actionable issue that are connected into a coherent whole via the project board


Add installed programs list

include choco and non choco programs

Resolved by https://github.com/ScottWilliamAnderson/scripts/pull/9


add semantic-release

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

GitHub release
Atom package

Your semantic-release bot :package::rocket:


TST: special: array types: test tol failure with torch backend

cc @mdhaber
_________________________________________________________________________ test_support_alternative_backends[f_name_n_args9-torch] __________________________________________________________________________
scipy/special/tests/test_support_alternative_backends.py:24: in test_support_alternative_backends
    @given(data=strategies.data())
        f          = <function given.<locals>.run_test_as_given.<locals>.wrapped_test at 0x123cbe9e0>
        f_name_n_args = ('gammaln', 1)
        xp         = <module 'torch' from '/Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/__init__.py'>
scipy/special/tests/test_support_alternative_backends.py:51: in test_support_alternative_backends
    xp_assert_close(res, xp.asarray(ref, dtype=dtype_xp), rtol=eps**0.5, atol=eps*10,
        args_np    = [array(-10.)]
        args_xp    = [tensor(-10.0000, dtype=torch.float64)]
        data       = data(...)
        dtype      = 'float64'
        dtype_np   = <class 'numpy.float64'>
        dtype_xp   = torch.float64
        elements   = {'allow_subnormal': False, 'max_value': 10.0, 'min_value': -10.0}
        eps        = 2.220446049250313e-16
        f          = <function support_alternative_backends.<locals>.wrapped at 0x11f548c10>
        f_name     = 'gammaln'
        f_name_n_args = ('gammaln', 1)
        final_shape = ()
        mbs        = mutually_broadcastable_shapes(num_shapes=1)
        n_args     = 1
        ref        = array(5.80645377)
        res        = tensor(5.8065, dtype=torch.float64)
        shapes     = ((),)
        xp         = <module 'torch' from '/Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/__init__.py'>
scipy/_lib/_array_api.py:293: in xp_assert_close
    return xp.testing.assert_close(actual, desired, rtol=rtol, atol=atol,
E   AssertionError: Scalars are not close!
E
E   Absolute difference: 1.0175748776930504e-07 (up to 2.220446049250313e-15 allowed)
E   Relative difference: 1.7524894158750067e-08 (up to 1.4901161193847656e-08 allowed)
E   Falsifying example: test_support_alternative_backends(
E       xp=<module 'torch' from '/Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/__init__.py'>,
E       f_name_n_args=('gammaln', 1),
E       data=data(...),
E   )
E   Draw 1: BroadcastableShapes(input_shapes=((),), result_shape=())
E   Draw 2: 'float64'
E   Draw 3: array(-10.)
E   Explanation:
E       These lines were always and only run by failing examples:
E           /Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/testing/_comparison.py:1000
E           /Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/testing/_comparison.py:1511
E           /Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/site-packages/torch/testing/_comparison.py:174
E           /Users/lucascolley/mambaforge/envs/scipy-dev/lib/python3.10/typing.py:308
E
E   You can reproduce this example by temporarily adding @reproduce_failure('6.92.2', b'AAAAAAEAAAABgDMJDj////8=') as a decorator on your test case
        actual     = tensor(5.8065, dtype=torch.float64)
        atol       = 2.220446049250313e-15
        check_dtype = True
        check_namespace = True
        check_shape = True
        desired    = tensor(5.8065, dtype=torch.float64)
        err_msg    = None
        rtol       = 1.4901161193847656e-08
        xp         = <module 'scipy._lib.array_api_compat.torch' from '/Users/lucascolley/programming/scipy/build-install/lib/python3.10/site-packages/scipy/_lib/array_api_compat/torch/__init__.py'>

I think a tolerance bump is fine here. These tests are really just intended to show that the functions are supposed to do the same thing, not to check their accuracy. If you're willing to open it, I'd be happy to merge it.

will do in the coming days.

@lucascolley is this only showing up for you locally? CI seems fine. If so, can you add the relevant package versions?

@lucascolley are you using the SCIPY_HYPOTHESIS_PROFILE=nondeterministic environment variable?

are you using the SCIPY_HYPOTHESIS_PROFILE=nondeterministic environment variable?

No, $SCIPY_HYPOTHESIS_PROFILE does not print anything.

is this only showing up for you locally?

Yes.

can you add the relevant package versions?

pytorch 2.0.1, scipy main, python 3.10.13, hypthothesis 6.92.2.


assert np.max(gt2D) == 1 and np.min(gt2D) == 0.0, "ground truth should be 0, 1"

why groud truth should be 0,1? can i delete it？

Hi @yinshuisiyuan123 ,
This is because SAM/MedSAM is essentially a binary segmentation model.


[Accessibility]A11y_.NET Online REPL View_Keyboard: Focus is not properly visible on "Enter focus mode" and "Run" buttons

Environment Details:
URL: https://docs.microsoft.com/en-us/dotnet/csharp/quick-starts/hello-world?tutorial-step=1
Browser: Chrome 67.0.3396.87
Repro Steps:
1)Hit the URL : https://docs.microsoft.com/en-us/dotnet/csharp/quick-starts/hello-world?tutorial-step=1
2)Tab till "Enter focus mode" button and press enter
3)Check if the focus is properly visible on "Enter focus mode" and "Run" buttons
Actual Result:
Focus is not properly visible on "Enter focus mode" and "Run" buttons
Expected Result:
Focus should be properly visible on "Enter focus mode" and "Run" buttons
User Impact:
Keyboard only users may not know which element has the current focus

MAS Reference:
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={3b98b04f-4fab-4d3e-81af-a0906a34849c}

@dend  @mairaw  @BillWagner  Is this an accessibility bug your team can address? This does fall out the Try .NET editor. Thank you

https://github.com/MicrosoftDocs/feedback/issues/735 issue has been resolved.

This was discussed with Ryan and approved to close as this is non blocking scenario.


Cleanup package builds and config

Upgrade all outdated dependencies.

Tip: Use something like depfu.com to automate this in the future

Reconfigure jest so the configuration doesn't muddy up the package.json
Add jest-runner-tsc to the main jest stack... it would be quite weird to not test your own code with your lib when writing a test runner.
Restructure the files and folders a bit to be more concise

@azz I've made the requested changes. I'm a bit concerned about whether the "build" script gets properly ran by the setup, but I assume it does since the current registry package has the dist folder.

Thanks. I was just reviewing the state of master (been a while since I looked at this package) and realised that the "bad" fixtures were never automatically verified. I must have been doing it manually... So your changes are perfectly fine.

Automatically published as 1.4.0, feel free to try it out to sanity-check.

No prob! A final remark about that last commit where I version specced create-jest-runner, I created an issue asking about the 0.5.0 changelog, though as I say there too I was also just very fast to notice it since release coz I just so happened to run yarn outdated. If nothing major changed I suppose that package can get updated too. (From ~0.4.1 to ^0.5.0)
(btw you're still way faster than some other repos I contributed to lmao)


allow anonymous mqtt, eg. without username/passwort

It looks like the username and passwort parameter is optional: https://esphome.io/components/mqtt.html
Feel free to remove these lines.

Hi,
thanks for your answer.
Unfortunately, this does not work. Should have mentioned i tried that before:
stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms$ esphome run esp32-example.yaml
INFO Reading configuration esp32-example.yaml...
ERROR Error while reading config: Invalid YAML syntax:

Secret 'mqtt_username' not defined
  in "esp32-example.yaml", line 38, column 13:
      username: !secret mqtt_username
                ^
stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms$ cat secrets.yaml
wifi_ssid: SNSH
wifi_password: thisisascecretpassword
mqtt_host: <IP_ADDRESS>

stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms$

leaving empty also does not work:
`stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms$ cat secrets.yaml
wifi_ssid: SNSH
wifi_password: thisisascecretpassword
mqtt_host: <IP_ADDRESS>
mqtt_username:
mqtt_password:
stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms$ esphome run esp32-example.yaml
INFO Reading configuration esp32-example.yaml...
INFO Updating https://github.com/syssi/esphome-jk-bms.git@main
Failed config
mqtt: [source esp32-example.yaml:37]
broker: !secret mqtt_host
string value is None.
username:
string value is None.
password:
id: mqtt_client
stephan@stephan-desktop-neu:~/esp32/esphome-jk-bms`

You have to reduce the mqtt component section from:
mqtt:
  broker: !secret mqtt_host
  username: !secret mqtt_username
  password: !secret mqtt_password
  id: mqtt_client

to
mqtt:
  broker: !secret mqtt_host
  id: mqtt_client

This builds fine.


feat(go): emit LICENSE file with SPDX license text

In order to properly attribute a license to the generated code, so it
shows up on the godoc.org website, we must produce a LICENSE file with
the appropriate content.
See: https://pkg.go.dev/license-policy

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject89A8053A-6Jw05QLuWWwe
Commit ID: 5ef189b7f5ae6a5d4a3135ce6c8f5d9d4b4c3fa0
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject89A8053A-6Jw05QLuWWwe
Commit ID: 6986ac38e84c5d9c5a4bd6db9f0bd2cdad980a33
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject89A8053A-6Jw05QLuWWwe
Commit ID: 9c3c3238d03f093bd4a79e132a176d459a66d5da
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject89A8053A-6Jw05QLuWWwe
Commit ID: f38c06ba43b2b611d09238dfffecab35c9e30e7a
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject89A8053A-6Jw05QLuWWwe
Commit ID: 7fa5e3da3fbee464f9655f062bb2cbe3912f744d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Added instructions on how to load Pytorch models

Added instructions on how to load Pytorch models.
I had tested it locally with two models here is one. Let me know if you need more information.
import pickle
import torch
import torch.nn as nn

class Model2(nn.Module):
    def __init__(self):
        super(Model2, self).__init__()
        self.fc1 = nn.Linear(15, 20)
        self.fc2 = nn.Linear(20, 10)
        self.fc3 = nn.Linear(10, 1)
        self.tanh = nn.Tanh()

    def forward(self, x):
        x = self.tanh(self.fc1(x))
        x = self.tanh(self.fc2(x))
        x = self.tanh(self.fc3(x))
        return x
# Initialize model
model = Model2()
new_state_dict = convert_state_dict(model.state_dict())

# Load the pickled data from a file
with open(path, "wb") as f:
    pickle.dump(new_state_dict, f)
#     new_state_dict = pickle.load(f)
    print(new_state_dict)

let file = File::open(path).unwrap();
    let linear_state_dict: IndexMap<String, Vec<f64>> =
            de::from_reader(file, DeOptions::new()).unwrap();

    let mut linearModel = sequential!(
        Ix1,
        [
            Linear::new("fc1", 15, 20),
            Activation::Tanh,
            Linear::new("fc2", 20, 10),
            Activation::Tanh,
            Linear::new("fc3", 10, 1),
            Activation::Tanh
        ]
    );
    linearModel.load_state_dict(path);

    assert_eq!(linear_state_dict, linearModel.state_dict());

import torch.nn as nn
import pickle

class ConvoModel(nn.Module):
    def __init__(self, in_channels, out_channels, kernel_size=(2,2), padding=(1,2), pool_size=(2,2), pool_stride=(2,1)):
        super(ConvoModel, self).__init__()
        self.conv2d = nn.Conv2d(in_channels, out_channels, kernel_size=kernel_size, stride=(1,1), padding=padding, bias=True)
        self.avgpool = nn.AvgPool2d(kernel_size=pool_size, stride=pool_stride, padding=(0,0), ceil_mode=False)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        x = self.conv2d(x)
        x = self.avgpool(x)
        x = self.sigmoid(x)
        return x

convoModel = ConvoModel(in_channels=3, out_channels=1)
new_state_dict = convert_state_dict(convoModel.state_dict())

# Load the pickled data from a file
with open(path, "wb") as f:
    pickle.dump(new_state_dict, f)
#     new_state_dict = pickle.load(f)
    print(new_state_dict)

    let file = File::open(path).unwrap();
    let convo_state_dict: IndexMap<String, Vec<f64>> =
            de::from_reader(file, DeOptions::new()).unwrap();

    let name = "conv2d";
    let padding = (1, 2);
    let (in_channels, out_channels) = (3, 1);

    let pool_size = (2, 2);
    let pool_stride = (2, 1);

    let mut convoModel = sequential!(
        Ix3,
        [
            Conv2D::new(
                name,
                in_channels,
                out_channels,
                padding,
                Filter::new((2, 2), (1, 1), (1, 1)),
            ),
            AvgPool::new(pool_size, pool_stride, (0, 0), (1, 1)),
            Activation::Sigmoid
        ]
    );

    convoModel.load_state_dict(path);

    assert_eq!(convo_state_dict, convoModel.state_dict());

@LazaroHurtado

I will add it as an integration test if it is not an issue to add the extra pickle files. Plus, is the test really necessary considering we already have tests for load model function? Unless you break the load model function this still works as long as you saved the python model following the instructions we specified.

will add more context as to why conversion is needed.

@Demba3 To me, adding the tests signifies that the python method we provided is valid for deserialization of Pytorch to micrograd models. So if some model is not being properly loaded we can expect it to most likely be user error on the Python side

@LazaroHurtado Makes sense will start working on it. Just to clarify, I will use the python function to deserialize the Pytorch models, then use those files to write the tests for micrograd right?


Treasury and token sale extensions

Work in progress.

sounds safer.. i'll adjust the tests.

An interesting thing I'm finding in the tests is that when values are defined as uint constants and 0 has a special meaning in that 0 cause a different execution path from x > 0 then the tests are necessarily incomplete e.g.
(define-constant minimum-sale-amount u0) ;; Minimum number of tokens to sell for the sale to be successful.
(define-constant maximum-sale-amount u0) ;; Maximum number of tokens for sale, or 0 for no limit.

in ede007-governance-token-sale.clar
Complete unit test coverage is not possible because you need to change the target code to cover all cases.
I don't have the required test philosophy background to know how to handle this situation so I'd recommend we deploy this contract with 0 for these values - as tested - unless anyone knows how to handle this?

Yep there is no way to deal with that situation with Clarinet at this point. I could turn them into data vars  that can be set via start.


Miele cIntegration is not loading anymore / Couldn't be reinstalled

The problem
I got the Problem, that the integration after the HA Update 2024.2.1 wouldn't be loaded anymore:

Then I tried to delete it completely and reinstall it but now I'm not able to do this as this Error occurs:
Error Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble
if I try to install the custom Integration after download it via HACS
Version of miele integration having the issue?
v2024.1.0
Version of Home Assistant Core having the issue?
2024.2.1
Anything in the logs that might be useful for us?
No response
Additional information
No response

Tried to completely remove the integration (worked now anyhow) but still not able to reinstall:
Error
Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble

Maybe this helps: Logs whilst the install:
Logger: homeassistant.util.package
Source: util/package.py:122
First occurred: 12:38:38 PM (3 occurrences)
Last logged: 12:38:41 PM

Unable to install package flatdict==4.0.1: error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [11 lines of output] Traceback (most recent call last): File "<string>", line 2, in <module> File "<pip-setuptools-caller>", line 14, in <module> File "/usr/local/lib/python3.12/site-packages/setuptools/__init__.py", line 16, in <module> import setuptools.version File "/usr/local/lib/python3.12/site-packages/setuptools/version.py", line 1, in <module> import pkg_resources File "/usr/local/lib/python3.12/site-packages/pkg_resources/__init__.py", line 2191, in <module> register_finder(pkgutil.ImpImporter, find_on_path) ^^^^^^^^^^^^^^^^^^^ AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'? [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.

Logger: aiohttp.server
Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
First occurred: 12:38:41 PM (1 occurrences)
Last logged: 12:38:41 PM

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 91, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 72, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 153, in post
    return await super().post(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 947, in async_init
    flow, result = await task
                   ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 965, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1076, in async_create_flow
    handler = await _async_get_flow_handler(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2294, in _async_get_flow_handler
    await _load_integration(hass, domain, hass_config)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2270, in _load_integration
    await async_process_deps_reqs(hass, hass_config, integration)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 467, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 52, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 175, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 190, in _async_process_integration
    await self.async_process_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 255, in async_process_requirements
    await self._async_process_requirements(name, missing)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 293, in _async_process_requirements
    raise RequirementsNotFound(name, list(failures))
homeassistant.requirements.RequirementsNotFound: Requirements for miele not found: ['flatdict==4.0.1'].

Tried teh newest beta in my desperation, but in the second I click on Miele in the integrations Page, i get the 500

What kind of installation of HA are you running?
It seems that the dependency ['flatdict==4.0.1'] is not loaded.
It should happen automatically on all officially supported variants.

Running Hass OS in a Virtual Machine on a Proxmox Hypervisor

OK, same as myself and most other people
The HA installation must be corrupt in one way or another. Have you terminal or vscode add-on installed? Then you can try to open a terminal session and run
pip install flatdict==4.0.1 --upgrade
And restart HA

Did it but:
Logger: aiohttp.server
Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
First occurred: 11:34:00 AM (1 occurrences)
Last logged: 11:34:00 AM

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 91, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 72, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 153, in post
    return await super().post(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 947, in async_init
    flow, result = await task
                   ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 965, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1076, in async_create_flow
    handler = await _async_get_flow_handler(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2294, in _async_get_flow_handler
    await _load_integration(hass, domain, hass_config)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2270, in _load_integration
    await async_process_deps_reqs(hass, hass_config, integration)
  File "/usr/src/homeassistant/homeassistant/setup.py", line 467, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 52, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 175, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 190, in _async_process_integration
    await self.async_process_requirements(
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 249, in async_process_requirements
    self._raise_for_failed_requirements(name, missing)
  File "/usr/src/homeassistant/homeassistant/requirements.py", line 278, in _raise_for_failed_requirements
    raise RequirementsNotFound(integration, [req])
homeassistant.requirements.RequirementsNotFound: Requirements for miele not found: ['flatdict==4.0.1'].

And it's there of course

Didn't change python Version on purpose

I have exactly the same versions om my prod system.

Investigated this, and I have your Version too i guess:

Yes, but in the trace above:
Logger: aiohttp.server
Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
First occurred: 11:34:00 AM (1 occurrences)
Last logged: 11:34:00 AM

I see, how can that be?

I dont fully understand how the different containers within HAOS are setup There might be multiple python versions installed??
I am spinning up a dev system with 3.12 now and will report back.

My 3.12 dev system for Miele integration is now up and running without any issues.
If I was you, I would setup a new HA instance on my proxmox server to see if it works.

Hey Åke, thank you for your Advice! Did so and have to admit, that it runs without difficulties on the clean System. Tried after that to delete HACS completely on my Prod System and reinstall but Error 500 is there again. Do you have an Idea, what to do next. Clean Install and Backup recovery or will that presumably restore the error too?

Good to hear that a fresh install works. Something must be corrupt in your prod system. I have really no idea how to pinpoint  and fix.

I am sorry to hear that.  😖

Stale issue - closing


Shading improvements

Made some fixes on shading using the properly parsed polyType property:

Solid shading is when we just need to use a plain palette color without it being affect by lighting conditions. Examples: character eyes, most of the spheres (Twinsen's hair, etc).
Flat shading is when the normals being used are computed face normals instead of vertices normals (this means models look more edgy instead of the gouraud shading). Examples: cart and arrows in Temple of Bu.
Textures test was wrong, any polyType > 7 has texture. Probably still need some improvements for some specific textured shader cases that we're not handling properly yet.

The polyType property along with the PolygonType enum will allow us to implement the other original shaders more easily (in a future PR).
Preview here: https://pr-541.lba2remake.net

I've added
bufferGeometry.computeVertexNormals()
for LBA1 and I think it can be removed on this PR.

I don't know if it can be skipped as vertex normals are not the same as face normals. If we need to compute normals for the Gouraud shading in LBA1, we'll need a different algorithm than this one.


Add caching when using API like GPT4o or Gemini

We are aware (and sorry) that the default option is OpenAI for our open-source framework but it is currently the only working solution for the WorldModel.
We do realize it takes a toll on your credits so I think an immediate and temporary solution is to provide caching to reduce calls.
I looked at GPTCache but it is outdated and does not support OpenAI 1.X.
They have an old PR from March that could work.
Is someone interested in making their PR work and integrate it in LaVague? Thanks!

Hi @dhuynh95 , would love to work on the issue. You could assign me for that!

Hi @alhridoy!
That would be great! Do you need help for this? I think it's pretty orthogonal based on how they designed but if we can help we would be happy to

Hi @alhridoy! That would be great! Do you need help for this? I think it's pretty orthogonal based on how they designed but if we can help we would be happy to

I have a few technical questions to ensure a smooth integration:
Cache Initialization:
Is there a preferred location or module within the LaVague project where you recommend initializing GPTCache? I was considering adding it in lavague/core/world_model.py.
API Modifications:
Are there specific API calls within LaVague that you suggest prioritizing for caching to optimize performance effectively?
Integration:
Should the cache be integrated globally across all modules that use OpenAI/Gemini APIs, or are there particular sections/modules that would benefit most from this caching?
Testing: Are there any specific tests or benchmarks you would like me to run to validate the integration of GPTCache within LaVague?

Cache initializaiton
I guess we could do it at the agent level, where we could have an option for using caching.
We also have contexts to package some configurations. You can find the OpenAI context here.
API Modifications
I think OpenAI calls are the ones to prioritize because their models are the best so far for our use cases of web navigation and actions. There does not seem to be a need to change our codebase API calls as it directly works on OpenAI.
Integration
I don't have strong opinions yet on where to integrate it (agent or context), so maybe we can just try and see what makes most sense.
Testing
I guess you could run the quick tour twice, with and without caching, and see how much time it takes. It would also be interesting to measure the tokens consumption for both.
As we rely on llama_index for LLM calls, I guess we could play with their observability tooling to check how much we call / consume.
What do you think?


How to set nullable integer column into null ?

Hi guys, I wanna ask something
I have column something like this
@Column({ default: 100, nullable: true  })
columnA: number | null

and i already create validation at actions.edit.before  like this
async function handleNullColumnA(request: any) {
  const { payload } = request
  if (payload.columnA=== 'null' || payload.columnA=== 'NULL') {
    payload.remainingApiCall = null
  }
  return request
}

But its always updated into 0 because of this line of code
Any idea how solve this ?

in before action hook you can strip payload from this property

@wojtek-krysiak  thank you sir for your response, its work !
async function handleNullColumnA(request: any, context: any) {
  const { payload } = request
  if (payload.columnA=== 'null' || payload.columnA=== 'NULL') {
    delete context?.resource?.propsObject.columnA
    payload.columnA= null
  }
  return request
}


⚠ Bofrost.lu has degraded performance

In bf58276, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1271 ms

Resolved: Bofrost.lu performance has improved in f33e8f7.


Update AZ400_M06_L15_Azure_Deployments_Using_Resource_Manager_Templates.md

M06-LAB15: Error Storage account, Resource group not found, error in main.bicep & typos https://github.com/MicrosoftLearning/AZ400-DesigningandImplementingMicrosoftDevOpsSolutions/issues/411
Related Issue
**M06-LAB15: Error Storage account, Resource group not found, error in main.bicep & typos ** 🢂 Fixes #411  .
Checklist
Mark completed with "x" between brackets, "[x]", or checking the box once the PR is created:

[x] Has related GitHub Issue 💥 Create Issue 📝
[x] Tested it
[x] Read the PR collaboration guide 👓 Collaboration Guide 📝

Changes proposed in this pull request:

Fix of main.bicep file which was creating errors in cloud shell of storageAccount does not exist in current context
Fix of resource group not found error in cloud shell due to the wrong resource group created
fixed some numbering errors in tasks & steps

Thanks @sattract, I will close this as there is no need to change the items numbers nor the null statement as it's just a warning. The resource group name is a valid bug, and I will add a separate PR for that.
I will also raise a PR for the main repository which contains the bicep file to handle the null statement.


s/entrypoints/entryPoints/ for traefik crd

The template expects this camel cased, not sure which way is preferred long term, but at least this makes the doc match the code.

Nice spot. Yeah I'd prefer camel case as it's the standard. I'll merge this soon, just going to see if I can use this PR to get PR commentary working with ct lint.


chiron: amend cert watch timeout for DNS certificates

Increase watch timeout only for Istiod DNS certs generated by K8s CA

@shankgan: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

integ-pilot-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-multicluster

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

integ-pilot-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-multicluster

lint_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test lint

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

integ-pilot-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-multicluster

lint_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test lint

integ-helm_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-helm

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

unit-tests-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test unit-tests-arm64

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

release-notes_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test release-notes

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

integ-pilot-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-multicluster

lint_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test lint

integ-helm_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-helm

analyze-tests_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test analyze-tests

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

@shankgan: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-basic-arm64

integ-security_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security

integ-ipv6_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ipv6

integ-telemetry-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-telemetry-mc

integ-pilot_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot

integ-operator-controller_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-operator-controller

integ-ds_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-ds

integ-pilot-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote

integ-pilot-istiodremote-mc_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-istiodremote-mc

integ-security-istiodremote_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-istiodremote

integ-security-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-security-multicluster

gencheck_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test gencheck

integ-pilot-multicluster_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-pilot-multicluster

lint_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test lint

integ-helm_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test integ-helm

analyze-tests_istio
3b3afa179434407eda3af1c87fb9064665cbf2b3
link
true
/test analyze-tests

release-notes_istio
650feb7c5e08eb526ad6be1f8ecaa435db719da7
link
true
/test release-notes

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

In response to a cherrypick label: new pull request created: #41840

In response to a cherrypick label: new pull request created: #41841

In response to a cherrypick label: new pull request created: #41842

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.13 from head istio-testing:cherry-pick-41649-to-release-1.13: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.13."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request created: #41843

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.14 from head istio-testing:cherry-pick-41649-to-release-1.14: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.14."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.13 from head istio-testing:cherry-pick-41649-to-release-1.13: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.13."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.16 from head istio-testing:cherry-pick-41649-to-release-1.16: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.16."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.15 from head istio-testing:cherry-pick-41649-to-release-1.15: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.15."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.13 from head istio-testing:cherry-pick-41649-to-release-1.13: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.13."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.14 from head istio-testing:cherry-pick-41649-to-release-1.14: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.14."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.16 from head istio-testing:cherry-pick-41649-to-release-1.16: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.16."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.14 from head istio-testing:cherry-pick-41649-to-release-1.14: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.14."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.15 from head istio-testing:cherry-pick-41649-to-release-1.15: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.15."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.16 from head istio-testing:cherry-pick-41649-to-release-1.16: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.16."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}

In response to a cherrypick label: new pull request could not be created: failed to create pull request against istio/istio#release-1.15 from head istio-testing:cherry-pick-41649-to-release-1.15: status code 422 not one of [201], body: {"message":"Validation Failed","errors":[{"resource":"PullRequest","code":"custom","message":"A pull request already exists for istio-testing:cherry-pick-41649-to-release-1.15."}],"documentation_url":"https://docs.github.com/rest/reference/pulls#create-a-pull-request"}


Rename RenderRoot to WindowRoot

I think the implication that multi-window is out of scope is correct.
The code we've written so far in RenderRoot and in our passes works a lot better if you assume there's a single window, and multi-window is handled at a level "above" RenderRoot.
Code handling text focus, pointer icons, the focus chain, IME area, etc, are all written under the assumption that there's a single window. If we later write multi-window code under the assumption "one WindowRoot equals one Window", that code can stay unchanged. If we write multi-window-in-one-RenderRoot, that's a lot of code we'll need to refactor.

@Philipp-M @jaredoconnell Thoughts about renaming to WindowRoot? Opinions for or against?

What about just Root or WidgetRoot? I see it similar as Daniel, but your reasoning makes sense. I think we want to share the WidgetArena across windows? So that would require a bigger refactor then anyways (resulting in new types, probably making naming more straight-forward)?

I agree. WidgetRoot, if it doesn't conflict with another type, makes the most sense to me.

What about just Root or WidgetRoot?

I'm not super comfortable with those when we already have a RootWidget. Event if we remove or rename it, I think it would be inherently confusing for people that WidgetRoot does not implement the Widget trait.

Closing this for now. I don't want to move forward without consensus, but also we have much more pressing priorities than debating this.


Feature Request: Connection Event Webhook

Is your feature request related to a problem? Please describe.
First, I'd like to thank you for this awesome API! It has been incredibly useful for managing WireGuard servers.
However, I'm always frustrated when I am unable to receive real-time notifications for client connection events (connect/disconnect) on my WireGuard server. This makes it difficult to monitor client activity and respond promptly to changes in connection status. Additionally, managing multiple device connections for a single client without real-time updates is challenging.
Describe the solution you'd like
I would like to request the implementation of webhooks for client connection events. This feature would allow administrators to configure a URL that the WireGuard REST API can call whenever a client connects or disconnects from the server. The webhook should include information about the client, the event type (connect or disconnect), and support for multiple device connections per client.
Describe alternatives you've considered
I have considered implementing a polling mechanism to check the status of clients periodically, but this approach is inefficient and does not provide real-time notifications. A webhook would be a much more effective solution for receiving timely updates, especially when dealing with multiple devices per client.
Additional context
Implementing this feature would greatly enhance the ability to monitor and manage client connections on the WireGuard server. Real-time notifications allow administrators to respond quickly to connection issues, unauthorized access, or other critical events. Moreover, it would simplify the management of multiple device connections for a single client.
Thank you for considering this feature request.

I didn't quite understand your request, do you want webhooks to trigger when a new key is created/deleted on the server? Or when an existing client connects via a key? If the latter, then Wireguard itself does not support such notifications and they will have to be implemented using a constant polling method.

@leonovk
I want webhooks to trigger when an existing client connects or disconnects. I understand WireGuard doesn't support these notifications directly. Implementing it with a constant polling method would be great. This feature would help monitor client activity in real-time and manage multiple device connections for a single client more efficiently.

@takielias I think it can be implemented. It will work through Scheduled Tasks. You will need to install Kronoba on your server and set the frequency of the poll

@leonovk I can set this up myself, but I would love to get this feature from your awesome API. It would be really helpful for monitoring client activity in real-time and managing multiple device connections more efficiently.

@takielias Yes, I have already created a branch for developing this feature. I have taken it into work. Thank you. I would be grateful if you put a star on the project

@leonovk Thank you so much. I have also put a ⭐& Waiting for the release.


Datatable results count is incorrect when checkAccess is set

Hi,
Currently the DataTable loadMore button is displayed when count < totalCount where count is the number of item retrieved, and totalCount the number of item in the database.
This method is incorrect when a checkAccess method is defined. The correct comparison would be count + filteredOut < totalCount, where filteredOut is the number of results eliminated when you call checkAccess (or beforeFilterCount < total where beforeFilterCount is the number of results before filtering).
For example, if you have 10 items but user can see only 8, all data are loaded when 8 results are printed and 2 results are filtered out. But the comparison is 8 < 10, so the user thinks there are 2 more results to load while we already know that he actually can't access them.
You can get this count easily in the default_resolver and return it alongside the total. However I don't manage to add new fields into the withMulti hoc results in addition to data.totalCount.
What I understand so far:

withMulti will call the default multi resolver. I added a beforeAccessFilterCount variable in the default multi resolver, but I still can't access this variable in the withMulti
withMulti pagination might be wrong too, as uses results.length and not a beforeFilterCount
basically my issue is that I don't know how to add the beforeAccessFilterCount to the GraphQL query generated by withMulti
I added this field in the multiClientTemplate of graphql_template.js in vulcan:lib. I am close but it trigger an error :) the field does not seem to be allowed
To correctly compute the number of filtered item, you need to sum values. Eg if you hit the Load more button twice, the total of filtered item is equal to the number items filtered after the 1st hit + the 2nd hit + the third hit. So the components that rely on this value must be stateful.

If I understand correctly, I think this is fundamentally unfixable because it would require calling checkAccess on every document in the database… I think the best we can do is add an option to disable the document count altogether when you need to.

You can't compute it in the db, however you have access of the number of filtered document when you call checkAccess.
So basically you can't compute the total of accessible documents, but you can still remember the total of document your refused to the user, and send it to him.
Hopefully that's enough for a loadMore button, because you know you are done the total of document you have + the total you filtered is equal to the total of document in the db.
You don't need to filter all the document at once, you only filter the documents retrieved by the user, and you can still have a correct behaviour.
For pagination, it is true that you can't take the number of accessible documents into account when you compute the number of pages. So you may require 10 document per page but only get 4 (or zero) after filtering, and indeed there is not solution to this because you can't filter documents.
To sum it up the use of a custom JS function for document level permission management will never be fully compatible with pagination, but it could be compatible with a loadMorepattern.

@eric-burel can you show me an example file where you use the checkAccess ?
thanks

Hi @meteorplus,
See this link. This is an example function that make unvalidated data unavailable, except if you actually created those data. It works on any collection.
To answer you on totalCount, totalCount is the number of item your MongoDB find query would have returned if you did not set a limit. So, if you don't filter your data, totalCount = number of documents in your database. If you filter your data, totalCount = number of document in your database that match a filter criteria.
This totalCount is computed at the database level. However, checkAccess is applied later, at the server level. But currently, the number of data filtered by checkAccess is not saved, so there is absolutely no way to tell how many documents it discarded.
There are alternative solutions, so you should actually barely need this value.  I've updated the doc about this (see Backend vs Frontend). But still, there are a few use case where it could be necessary when checkAccess is very complex and you can't simplify it.

@eric-burel More than I would need the totalCount filtered by checkAccess, I want others NOT have access to this value. I have collections readable only by the ones who created it, but now exposing the total entries is what I would consider a data leak. Any chance we can block access to the totalCount altogther?

Hi @saravanabalagi, your request makes sense indeed, can you open a separate issue for this? I think a solution would be to add a disableTotal option when creating the default resolver that blocks totalCount resolution for the collection. (https://github.com/VulcanJS/Vulcan/blob/devel/packages/vulcan-core/lib/modules/default_resolvers.js)
Currently you can simply write your own custom resolver to solve this: if you don't provide a resolver for the totalCount it's as if it was not available.


building zstd - version 1.5.5 failed

I got this error when executing bash <(curl -fsSL https://gcc.optimizethis.net)
Error:
building zstd - version 1.5.5
====================================
Downloading "https://github.com/facebook/zstd/releases/download/v1.5.5/zstd-1.5.5.tar.gz" saving as "zstd-1.5.5.tar.gz"
Download Completed
File extracted: zstd-1.5.5.tar.gz

$ meson setup build --prefix=/home/yibudak/gcc-build-script/workspace --buildtype=release --default-library=static --strip
$ ninja -j12 -C build
Cannot autolaunch D-Bus without X11 $DISPLAY

Failed to execute: ninja -j12 -C build

Please create a support ticket so I can work on a fix.

https://github.com/slyfox1186/script-repo/issues

System information:
OS: Ubuntu 22.04.2 LTS x86_64
Kernel: 6.4.6-060406-generic
Shell: zsh 5.8

Try installing dbus-x11 with APT.
Then, if that doesn't work, delete, the entire zstd code and skip it.
It's nice to have the latest installed but isn't necessarily essential to the build.

Any luck?

I added some default variables back into the script environment. This might have been the issue. Give it a try and if needed re-open this ticket if not solved.
tmp_display="$DISPLAY"
tmp_dbus="$DBUS_SESSION_BUS_ADDRESS"


Update code from production

Production code (at beta.srumaker.se) is updated many times since the last commit here, e.g. "2018-03-27 Uppdaterat gränssnittet för enklare ifyllnnig." (sic). The master branch in this repo should be updated with the production code.

I agree with @tomten
It would be great if we can get the latest code from production.
Thanks for a useful product.


Private registry delete blobs fail: 500 error with UNKNOW

DELETE  /v2/name/blobs/Digest
Response:{"error":[{"code":"UNKNOW","message":"unknow error","detail":{"Op":"dial","Net":"tcp","Source":null,"Addr":{"IP":"::1","Port":6379,"Zone":""},"Err":{"Syscall":"getsocketopt","Err":111}}}]}
Docker Version:1.10.3,API-VERSION:1.22
Registry Version:registry github.com/docker/distribution v2.3.0-rc.1-187-gf4b6fc8.m
i don't copy the registry container logs, I can describe as follows：
lever=error msg="error adding descriptor" to cache:dial tcp [::1]:6379:getsocketopt:connection refused" suth.user.name=admin go.version=go1.6

I found that Collector Garbage was added in version 2.4.0
Does it mean that the blobs can be deleted without their own maintenance

@bes-barnett : the error message indicates an network error.
A GC command was added in 2.4.0 but it's run as a command.  Please see the documentation.


DateTimeFormat.UTC is not supported

For example, this will not work Text(Now(), DateTimeFormat.UTC ). We will get utc as the result.
It is not supported as document said https://learn.microsoft.com/en-us/power-platform/power-fx/reference/function-text#predefined-datetime-formats
In the test it is said:
//Excel doesn't support DateTimeValue function or the DateTimeFormat formats
>> Text(DateTimeValue("March 30, 2022 5:30 PM"), DateTimeFormat.UTC)
"2022-03-31T00:30:00.000Z"

Does it mean it is not supported or it is a bug?

Blocked on #1241
UTC is not supported in C# side, but could be implemented.
Notes from Carlos:
The logic from PAClient is fairly simple:
// Display the date in utc using ISO 8601 format for datetime representation (http://www.w3.org/TR/NOTE-datetime).
// We have chosen the profile to display the time in the following format:
// Times are expressed in UTC (Coordinated Universal Time), with a special UTC designator ("Z") i.e.YYYY-MM-DDThh:mm:ss.sZ.
const formatInUtc = format.replace(/utc/gi, dt.toISOString());

// Return the datetime value in UTC format.
if (formatInUtc !== format) {
   return formatInUtc;
}

Note example from top is from NotYetReady tests: https://github.com/microsoft/Power-Fx/blob/f729504abb13120fc44642b9c81455b33989fd97/src/tests/Microsoft.PowerFx.Core.Tests/ExpressionTestCases/NotYetReady/Text.txt#L57
This is showing value from PowerApps, but in NotYetReady since not yet supported in C#.

Fixed in https://github.com/microsoft/Power-Fx/pull/1246


Change mutation of string example to only alter single char

As state in the documentation, str::replace replaces all occurrences. This version changes only the char at the selected index.
However, I'm not sure if this is the best way to replace a single char in Rust.

Considering replacing a single character in Rust is not trivial, I like this solution. Thank you for your contribution.


[Bug] Unexpected warning: Failed prop type: minWidth larger than item width/maxWidth

[Bug] Unexpected warning: Failed prop type: minWidth larger than item width/maxWidth

This is not a bug. Check the props you passed in. If you set a min width or height that is larger than your set width or height (or max) it creates an impossible situation.

Closing as a duplicate of #493

Dear,
here is my item. Can you help me?
It happens when I bring the window to the minimum width.
layout: { i: '', x: 0, y: 0, w: 3, h: 3, minW: 2, minH: 2, maxW: 6, maxH: 6}
Esteban Amaya
Full Stack Web Developer
02616864623

De: Samuel Reed @.>
Enviado: lunes, 24 de mayo de 2021 20:27
Para: react-grid-layout/react-grid-layout @.>
Cc: eamaya2008 @.>; Author @.>
Asunto: Re: [react-grid-layout/react-grid-layout] [Bug] Unexpected warning: Failed prop type: minWidth larger than item width/maxWidth (#1479)
This is not a bug. Check the props you passed in. If you set a min width or height that is larger than your set width or height (or max) it creates an impossible situation.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/react-grid-layout/react-grid-layout/issues/1479#issuecomment-847418917, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKOLMXW4ZHI5FH6E7BEGEATTPLOFJANCNFSM45OD225Q.