Can't get Overload for CascadingDropDownList() to work

Nice work with this package. It could save many hours of coding if I could overcome one last hurdle.
I have been able to get CascadingDropDownListFor() to work however the way I display and bind my dropdownlists follows the pattern @Html.DropDownList("ProjectTypeID", Model.ProjectTypeList).
This VB.NET Razor code works:
@Html.CascadingDropDownListFor(expression:=Function(x) x.AreaList, triggeredByProperty:=Function(x) x.ProjectTypeID, url:=Url.Action("GetAreaByTType", "Project"), ajaxActionParamName:="TType")
Your test project only shows tests for the CascadingDropDownListFor()  overload. I feel like the translation should be simple however I keep getting the error: Overload resolution failed because no accessible....
Thank you

If you use CascadingDropDownList you need to specify both input name and input id properties:
@Html.CascadingDropDownList(
       inputName := "ProjectTypeID",  //name attribute  of the select element
       inputId := "ProjectTypeID" //id attribute of the select element
       triggeredByProperty := Function(x) x.SelectedCountry,
       url := Url.Action("GetCities", "Home"),
       ajaxActionParamName := "country",
       optionLabel := "Please select a City",
       disabledWhenParentNotSelected := true,
       htmlAttributes := New With { .class= "form-control" })

Thank you but I am still getting an error. I believe that the problem has to do with the triggeredByProperty parameter. The function signature specifies string however I would guess that your code is actually needing the model property.
Here is the error.
Overload resolution failed because no accessible 'CascadingDropDownList' can be called with these arguments:
Extension method 'Public Function CascadingDropDownList(inputName As String, inputId As String, triggeredByProperty As String, url As String, ajaxActionParamName As String, [optionLabel As String = ""], [disabledWhenParentNotSelected As Boolean = False], [htmlAttributes As System.Web.Routing.RouteValueDictionary = Nothing]) As System.Web.Mvc.MvcHtmlString' defined in 'Mvc.CascadeDropDown.DropDownListExtensions': Lambda expression cannot be converted to 'String' because 'String' is not a delegate type

OK, It looks like there is a problem with override resolving. I will try to solve this. In the meantime you can use this override:
@Html.CascadingDropDownList(
       inputName := "AreaList",
       inputId := "AreaList"
       triggeredByProperty := "ProjectTypeID", //specify an id of the parent DD
       url := Url.Action("GetAreaByTType", "Project"),,
       ajaxActionParamName := "TType",
       optionLabel := "Please select ...",
       disabledWhenParentNotSelected := true,
       htmlAttributes := New With { .class= "form-control" })

ProjectTypeID

If "ProjectTypeID" is not a property of Model (src), then will result in System.NullReferenceException in
        private static string GetPropStringValue(object src, string propName)
        {
            string stringVal = null;
            if (src != null)
            {
                *var propVal = src.GetType().GetProperty(propName).GetValue(src, null);*
                stringVal = propVal != null ? propVal.ToString() : null;
            }
            return stringVal;
        }

It's better to check whether the property is existing or add a try/catch block to set stringVal = null.


Add examples with multi-sample dimensionality reduction, with controls for selecting samples

User story
Projects like KPMP need support for visualization of multiple patient samples on the same UMAP scatterplot, with controls for selecting patients and then rendering patient-specific images.
Preferred solution

Add example in which multiple samples are in the same UMAP
Implement dropdown for selecting patients

Hey, love your package so far! can you recommend any workarounds in the meantime for the above use case?  Thanks

Hi, currently the closest workaround would be to use cell-sets (sets of cells). Analogous to a group of sets in which each set represents a cell type or a cell cluster, you can add a group of sets in which each set represents a patient/sample/donor.

I think this is related enough to keep in the same thread: If i have two images of two different regions, I can use the spatial layers to visualize the two images while viewing the combined single cell data (e.g UMAPs) in a different component, but the segmentation masks for the two regions cannot have overlapping indices in this method.  Is there a way to link the indices of the segmentation masks with only the observations from that region? Having unique indices poses a problem because a) i get datatype errors when my anndata indices have >4 million observations which limits the number of regions i can combine and b) it requires segmentation masks to have a greater bit depth, and c) you can't flexibly combine regions for visualization without re-indexing them.  It seems like if I defined two datasets, I should be able to pass both of them to the spatial component but I'm not finding any examples of this.  Thanks!


UDP, serial port connection

I installed mavsdk(0.2.0) at Python3.6(/usr/bin/python3.6) using pip.
And I start 2 SITL(jmavsim), one drone has udp:<IP_ADDRESS>:14540, the other drone has udp:<IP_ADDRESS>:14541.
The problem is that when I do
start_mavlink()
drone = mavsdk_connect(host="<IP_ADDRESS>")

It works well with the drone using 14540 port. (When I put "<IP_ADDRESS>:14540", it shows error)
But I also wanted to connect with 14541, but it shows error. (host="<IP_ADDRESS>:14541")
And
I connected actual drone (Yuneec H520, pixhawk4 1.8.0) with command
drone = mavsdk_connect(host="serial:///dev/ttyACM0")
it also didn't work. I checked the actual drone is using /dev/ttyACM0.
How can I solve this??

I also tried
"udp://<IP_ADDRESS>:14541"
but same result

Sorry this is indeed confusing, see #86.
But basically:
start_mavlink(connection_url="serial:///dev/ttyACM0")
drone = mavsdk_connect(host="<IP_ADDRESS>")

@JonasVautherin do you agree now that it's not optimal :smile:.

What a fast response!!
Oh, I misunderstood the codes. I've been trying like
start_mavlink()
drone = mavsdk_connect(host="blahblah")

After changing codes like
start_mavlink(connection_url="udp://<IP_ADDRESS>:14541")
drone = mavsdk_connect(host="<IP_ADDRESS>")

It works well.
But one more question, then, how can I deal with multiple drones at the same time? Should I run python codes separately?

That's currently not supported in Python yet because it means you need to run the mavsdk_server multiple times on different gRPC ports.
I've created an issue for this request #102, and I'll close this one.


"Print Code" Button doesn't work on Google Colab

Kindergarten version: 0.0.6
Python version: 3.7.1

Description
The print code button doesn't print anything in a Google Colab notebook.

Probably some issue with Jupyter-Dash and Colab interaction so printing only happens after the app is shut down. Easiest solution is to not actually print, but instead place the output into a component below the graph in the dash app. This also prevents printing to happen in the currently focused cell instead of below the plot.


Update error handling as per Go 1.13 guidelines

Fixes 1846

Updated README.md to reflect that it is no longer Go 1.9 that we require, but instead we need a minimum of Go 1.13.
Replaced reflect.DeepEqual with errors.Is in all the affected tests.
Implemented Is(error) bool interface for all the required errors (ErrorResponse, RateLimitError, AcceptedError and AbuseRateLimitError). All the individual fields are directly compared. However, for the *http Response field, only StatusCode is being compared. If the other fields of the http.Response struct need to be compared, please let me know.

Have updated the PR with more tests to improve coverage. Please take a look.

Thank you, @wesleimp!
@willnorris - are you OK with this implementation?  I'll wait until we hear from you... no rush... I just want to make sure since you had some comments on the thread.

@willnorris - are you OK with this implementation?

My biggest concern, just looking at this from a high level, is that this is a LOT of work and extra code just to be able to call errors.Is in a couple of test cases.  If having these errors be comparable in this way has real value outside of just these tests, then that may be fine, and it may be worth the effort.  But if it's just to have marginally cleaner tests (not calling reflect.DeepEqual), I find it harder to justify.
The whole point of the new go1.13 error handling is that the Is and As functions support wrapped errors.  Both of them will intelligently unwrap errors to try and find a match.  But we're not wrapping errors.  Our errors are just values, like any other value in Go.  So honestly, there's no advantage of using errors.Is versus the go-cmp package (in our tests, I mean).
I really appreciate all the effort @mbalayil put into this... really, I do.  But looking at what it ended up taking in the end, I'm not sure that this is the right solution for this problem.  (Unless there's some other use case that this is satisfying, outside of those two test cases.)

Correct me if I'm wrong, @willnorris , but won't the availability of the Is methods (added by tihs PR) make it easier for the users of this package to wrap their errors and still test if the base error is one of the types defined in this repo?
In other words, doesn't the work here make error handler easier for future users of this package (and also make the usage more inline with the Go 1.13 Error Handling blog post)?

Yeah, that's a good point.  For the sentinel errors we have, I think that will be very useful (but also doesn't require a custom Is method).  Given how a couple of these errors are tied to very specific http requests/responses, I think the full equality check is going to be of very limited value, even for downstream users, but am happy to be proven wrong.

I think the full equality check is going to be of very limited value, even for downstream users, but am happy to be proven wrong.

So do you think it would be more useful without the equality checks?
Or should we run with this for awhile until we get feedback and then adjust accordingly?

Looking more at the examples I was concerned about, they seem to be more limited than I thought.  I was mostly focusing on the CreatedAt timestamp that exists in some errors.  I thought that was more common, but I now see it is only for HTTP 451 errors.  For those errors, an equality check will almost never match in the real world because you won't know the creation date ahead of time.
I guess I'd need to look at some more real-world errors to see how likely it would be for people to really be doing equality checks.  My guess is that most go-github users that want to wrap our errors and eventually test for error types will use errors.As (which we don't have to do anything for).
I know that doesn't directly answer your question, but I guess I'm discovering that my once somewhat-strongly-held view is softening considerably, so I can go either way on this now.

OK, sounds good.  Thanks, Will!
Let's run with this and see what kind of feedback we get.  :joy:
Merging.


forge coverage: "No such file or directory (os error 2)"

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (0d44687 2022-07-01T00:27:19.177599Z)
What command(s) is the bug in?
forge coverage
Operating System
macOS (Intel)
Describe the bug
forge coverage results in this error saying a file isn't found, but I've confirmed it exists at that location. 🤔
❯ forge coverage
[⠒] Compiling...
[⠢] Compiling 4 files with 0.8.7
[⠆] Compiling 69 files with 0.8.14
[⠰] Compiling 1 files with 0.8.4
[⠒] Solc 0.8.4 finished in 16.49ms
[⠰] Solc 0.8.7 finished in 2.23s
[⠃] Solc 0.8.14 finished in 10.15s
Compiler run successful
Analysing contracts...
Error:
failed to read from "node_modules/.pnpm/@openzeppelin+contracts-upgradeable<EMAIL_ADDRESS>No such file or directory (os error 2)

Context:
- No such file or directory (os error 2)

Can you provide a minimal reproducible example?

Here you go: https://github.com/gigamesh/temp-protocol

Hi @onbjerg - any ideas?
We recently completely swapped our tests from hardhat to forge before realizing that we'd be losing code coverage reports so any updates would be super appreciated! 🙏

Hi @gigamesh, as mentioned elsewhere coverage is not stable (and is not released as such), so it will take a while for me to turn around on this as there are other bugs that are a bit more pressing re: coverage. I'm currently doing a big change to coverage, so maybe it will "fix itself" after that.
I'm unsure why it can't read that path specifically, I haven't spend a lot of time debugging it yet, so I don't have a very in-depth response for you right now, apologies

No worries - thanks for the response!

Is this still present? If yes, is this related to the .pnmp issue filed recently?

I am now able to run forge coverage on the same project so we might close this if @gigamesh agrees.

I'll close it then, feel free to ping me if the behavior is still present @gigamesh and I'll reopen :smile:

I am now able to run forge coverage on the same project so we might close this if @gigamesh agrees.

Have have you fixed this issue @elenadimitrova ? Experiencing the same... cc @onbjerg

Please give more context on your project, e.g. how is it structured (monorepo?), are you using package managers like pnpm or npm etc.

@onbjerg It's working for us now aside from if/else branches getting reported as partially covered, but we can manually check those. thank you!

How have you fixed this issue @gigamesh ? Experiencing the same... cc @elenadimitrova @onbjerg

@fedealconada Be sure to run foundryup to make sure you're on the latest. If you still have the same error it's likely being caused from a different source than the one I reported.

Please give more context on your project, e.g. how is it structured (monorepo?), are you using package managers like pnpm or npm etc.
Also provide your Forge version

@onbjerg ty for answering! We are using yarn for dependecy management, we have multiple packages handled with yarn workspaces and I'm using forge 0.2.0. Repo is this one.

forge 0.2.0 doesn't say much, I need the commit hash after the version number as well. All nightlies after early this year use 0.2.0 as their version number

For anyone running into this issue, double check if your ~/.svm has become corrupted!
Especially so if you are using Apple M1 or M2 silicon, as compiling smart contracts written in Solidity 0.8.5 or older can fail when the z3 theorem prover isn't installed, although it seems most Macbooks will handle this by default. I believe the issue in my case is that I run Linux in a VM on Apple silicon, so the z3 theorem prover was not present.
Here is the blurb from the Foundry Book docs about how this can arise, though in my case it was very sneaky as it only errored with "No such file or directory (os error 2)" and doesn't blame the compiler.

Reproducible example of broken, unrunnable scripts for Linux VMs:
https://github.com/0xStation/groupos/tree/debug

For anyone running into this issue, double check if your ~/.svm has become corrupted!
Especially so if you are using Apple M1 or M2 silicon, as compiling smart contracts written in Solidity 0.8.5 or older can fail when the z3 theorem prover isn't installed, although it seems most Macbooks will handle this by default. I believe the issue in my case is that I run Linux in a VM on Apple silicon, so the z3 theorem prover was not present.
Here is the blurb from the Foundry Book docs about how this can arise, though in my case it was very sneaky as it only errored with "No such file or directory (os error 2)" and doesn't blame the compiler.
Reproducible example of broken, unrunnable scripts for Linux VMs: https://github.com/0xStation/groupos/tree/debug

I have almost absolutely the exact problem you are describing - I am using solidity 0.8.20. On top of that I'm developing in a docker container and thus have a Linux VM on top of Apple Silicon. The error also corresponds to yours: No such file or directory (os error 2).
I tried installing z3 in the container as well as on the host but the issue is still the same. Would you mind explaining what you did to fix it in a bit more detail?

A quick and dirty fix that often works is to flush the .svm and force it to be redownloaded:
~$ rm ~/.svm
As always try running foundryup as well to ensure you're on latest
The issue could arise from a number of different possibilities like incorrectly mapped dependency locations or nonexistent files for a specific dependency version or even a library symlink issue that was present in older Foundry versions.


Unusable IDE: frequent freezes

Since one or two weeks, using PHPStorm 2016.1, I was having the IDE freezing every now and then. The only way to fix this is to disable this plugin.
Any suggestion on what to do? Plugin version is 1.3.3

Nope, just got a freeze without your plugin. Sorry for wasting your time.


Application: pendzl-smart-contract-library

Project Abstract
The Pendzl Library represents the evolution of the OpenBrush v4.3.0 smart contract library, taking it to the ink 5.0.0 standard while introducing crucial features like event emission. Our primary focus is to enhance usability and eliminate unnecessary parts of the code (ex. macros) that have historically complicated the OpenBrush library. The mentioned evolution of OpenBrush is necessary due to it becoming too complex & introducing updates that piled up and have had a detrimental effect on the development experience.
Pendzl's core principle is simplicity. We aim to minimize the introduction of new code while maximizing utility. Our overarching vision is to establish Pendzl as an open-source project, inviting contributions from the entire ink smart contract developer community.
Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed (project_name.md).
[x] I have read the application guidelines.
[x] Payment details have been provided (bank details via email or Polkadot (USDC & USDT) address in the application).
[x] I am aware that, in order to receive a grant, I (and the entity I represent) have to successfully complete a KYC/KYB check.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

I have read and hereby sign the Contributor License Agreement.

Hey @keeganquigley,

The sum was corrected. We ask for $30k 🙂
I understand. I have changed the scopes of M1 and M2. However, we will try to perform such consulations anyway. I beleive in the case of smarcontract library it's very important that such consulations are made.
We haven't. We do not know how to communicate with them efficiently. If you could establish a communication channel with ink team it would be great! 🙂. I just want to repeat, that our aim is not to introduce any new complicated tools but only to use the ink at the top of it's capabilities.

GitHub Discussion Response
Hey @takahser,

Pendzl is going to support 3 layers of abstraction which allow developers to modify one or more levels and still use the other.
The three levels are:

The ink::message layer. This is a layer on which one implements ink::trait_defiinition. For example a PSP22 trait.
The contract's internal layer. This is a layer on which internal methods of contract that provide a given functionality exist. For example, in the case of PSP22, it will be a PSP22Internal trait that contains functions like _transfer, _mint_to, and _burn_from.
The deepest layer is the contract storage modification layer, on which the functionality to store necessary data is defined. In the case of PSP22 it will be a PSP22Storage trait.

When we implement PSP22, PSP22Internal and PSP22Storage we will use the following constraints:
struct PSP22DefaultData {...}

impl <T: PSP22Internal> PSP22 for T{...}
impl PSP22Storage for PSP22DefaultData {...}
impl<T: StorageFieldGetter<PSP22Data>> PSP22Internal for T where PSP22Data: PSP22Storage {}

Pendzl will provide all the 3 above implementations and a default struct PSP22Data that implements StorageFieldGetter. In this way developer can use the default implementations in this way:
#[pendzl::implementation(PSP22)]
#[ink::contract]
pub mod my_psp22_bare_minimum {
    #[ink(storage)]
    #[derive(StorageFieldGetter)]
    pub struct Contract {
        #[storage_field]
        psp22: PSP22Data,
    }

    impl Contract {
        #[ink(constructor)]
        pub fn new(total_supply: Balance) -> Self {...}
    }
}

Moreover, a developer can choose to override methods from PSP22, and PSP22Internal (as shown in the Application), and/or he can provide his own struct that will be used in contract storage that implements PSP22Storage trait to change the storage of the contract but to keep the PSP22Internal and PSP22 implementations. In the simple example of a PSP22 contract a developer may decide that for the application he is building it is enough to use u32 to store user balance instead of Balance( which often is u128). In such a case it will be enough for a Developer to create his struct PSP22U32 and implement a PSP22Storage for it:
#[pendzl::implementation(PSP22)]
#[ink::contract]
pub mod my_psp22_bare_minimum {
    #[ink::storage_item]
    PSP22U32{
        balances: Mapping<AccountId,u32>,
        allowances: Mapping<AccountId, u32>,
        total_supply: u64
    }

    impl PSP22Storage for PSP22U32{....}

    #[ink(storage)]
    #[derive(StorageFieldGetter)]
    pub struct Contract {
        #[storage_field]
        psp22: PSP22U32, // instead of Default PSP22Data
    }

    #[overrider(PSP22)]
    fn transfer_from(
      from: AccountId,
      to: AccountId,
      amount: Balance,
      data: Vec<u8>,
    ) -> Returns<(), PSP22Error>{
      Return Err(PSP22Error::Custom("Our Contract doesn't support PSP22 Transfer From")
    }

    impl Contract {
        #[ink(constructor)]
        pub fn new(total_supply: Balance) -> Self {...}
    }
}

Moreover, developers can choose to implement PSP22Internal from scratch but still use the provided PSP22 implementation.

No, the Pendzl will not be 100% backward compatible. We intend to remove most of OpenBrush 'lang' logic so the code changes will be necessary - we envision them actually making "the big picture" much more clear & straightforward than it has been with the usage of OB recently. As noted in Milestone 1 we will provide inline docs that will allow for easy adoption and lessen a "magic happening" feeling. We're confident the migration will be straightforward.

We price the FTE of workers differently. We have workers priced at $8k and $6k FTE thus resulting in 2,5 FTE = 8+8+ 0.5 *6 = 19 [k$] and 1,5 FTE = 8 + 0.5 * 6 = 11 [k$].

@Nradko thanks, this looks interesting - in general I think it'd be good to have an alternative to the abandoned OpenBrush project. However, could you be a bit more specific on how your solution would deliver a better dev experience? For example, you're saying:

We will write our own smart contract implementations that are more customizable and allow developers for much more!

How exactly will they be more customizable? What exactly will it allow devs to do "much more"? Ideally, you'd have 2-3 code examples of specific scenarios, to demonstrate the differences.
Also, I was wondering if your library is backwards-compatible with OpenBrush. That would make it much easier for existing, Openbrush-dependent projects to migrate to your solution.
Finally, the FTE rates/month for M1 and M2 are different - what's the cause for this?

Thanks a lot for the application. This looks interesting. I have one question: have you considered the decentralized futures program: https://futures.web3.foundation/ I think you could apply for a slightly larger amount there to kickstart this initiative.

Thanks for the suggestion. We have just applied for a grant from decentralized futures program and started a topic on the forum: https://forum.polkadot.network/t/pendzl-a-smart-contract-library/5975.
Having that in mind, shall we abandon this application?

Sounds good @Nradko thanks for the update. Sure we can go ahead and close this, and we will reach out to the email address on the DF application for further steps. Thanks!


Error with Kimera-VIO (no matching function for call to ‘gtsam::Rot3::Random(std::mt19937&)) and Kimera-VIO-ROS(error: no match for ‘operator==’ )

Hi there
First of all thank you for sharing such amazing piece of work!
I am running Ubuntu 18.04 and ROS melodic.
I followed the instructions (actually I took the HTTP way instead of the SSH way) and every thing work well until I tried to compile kimera-VIO and Kimera-VIO-ROS
Regarding Kilera-VIO,I had the following error:
/home/fabrice/catkin_kimera_ws/devel/include/gtsam/geometry/Rot3.h:124:17: note:   no known conversion for argument 1 from ‘std::mt19937 {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31,<PHONE_NUMBER>, 11,<PHONE_NUMBER>, 7,<PHONE_NUMBER>, 15,<PHONE_NUMBER>, 18,<PHONE_NUMBER>>}’ to ‘boost::random::mt19937& {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31,<PHONE_NUMBER>, 11,<PHONE_NUMBER>, 7,<PHONE_NUMBER>, 15,<PHONE_NUMBER>, 18,<PHONE_NUMBER>>&}’
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO/tests/testLogger.cpp:414:31: error: no matching function for call to ‘gtsam::Rot3::Random(std::mt19937&)’ gtsam::Rot3::Random(rng_), gtsam::Point3::Random());

looks like I am the first one to face such error. I commented the testLogger.cpp in the CMakeLists.txt and managed to compile Kimera-VIO successfully.
However with Kimera-VIO-ROS, I have the following error;
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp: In function ‘void VIO::utils::msgCamInfoToCameraParams(const CameraInfoConstPtr&, const string&, const string&, VIO::CameraParams*)’:
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:62:45: error: cannot convert ‘const _distortion_model_type {aka const std::__cxx11::basic_string<char>}’ to ‘VIO::DistortionModel’ in assignment
   cam_params->distortion_model_ = cam_info->distortion_model;
                                             ^~~~~~~~~~~~~~~~
In file included from /home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/utils/UtilsRos.h:11:0,
                 from /home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:7:
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:63:39: error: no match for ‘operator==’ (operand types are ‘VIO::DistortionModel’ and ‘const char [7]’)
   CHECK(cam_params->distortion_model_ == "radtan" ||
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:64:39: error: no match for ‘operator==’ (operand types are ‘VIO::DistortionModel’ and ‘const char [18]’)
         cam_params->distortion_model_ == "radial-tangential" ||
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:65:39: error: no match for ‘operator==’ (operand types are ‘VIO::DistortionModel’ and ‘const char [12]’)
         cam_params->distortion_model_ == "equidistant");
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~
/home/fabrice/catkin_kimera_ws/src/Kimera-VIO-ROS/src/utils/UtilsRos.cpp:70:56: error: no matching function for call to ‘VIO::CameraParams::convertDistortionVectorToMatrix(const std::vector<double>&, std::vector<double>*)’
       distortion_coeffs, &cam_params->distortion_coeff_);

and here I do not know how to handle it?
I have also a question regarding open-cv, as it is include in ROS melodic, why do you we need to recompile it in the catkin workspace? Indeed I got several warning during the compilation due to the existence of two version of opencv.
Thank you for your help
Best regards

Here is an update:
I found some issues in utilsRos.cpp
cam_params->distortion_model_ = cam_info->distortion_model;
There is an error because  one wants to assign a string to an enum. However when I looked at In sensor_msgs/distortion__models.h there are only two models: "plump_bob" and "rational_polynomial". It means that nothing is matching "radtan", "radial-tangential" or "equidistant" and no correspondence neither with enum DistortionModel in  src/Kimera-VIO/include/kimera-vio/frontend/CameraParams.h
As the assigment is done to check, i put the four lines in comments.
I had another error with:
VIO::CameraParams::convertDistortionVectorToMatrix(distortion_coeffs, &cam_params->distortion_coeff_);
The method expects a cv::mat as a second argument, so I replaced by:
VIO::CameraParams::convertDistortionVectorToMatrix(distortion_coeffs, &cam_params->distortion_coeff_mat_);
I aw able to compile kimera-vio-ros sussceefully. Let see if it works now:)

I come accross the same issues. @violetteavi @clungzta @m-pilia @gavanderhoorn

@robot-mh: I'm not entirely sure why you @-mentioned me?

Hello @FaboNo , is it work? if not, can you find out another solution? Yes, I'm facing this issue too!

@khumanhan for me kimera-VIO is working at least with the rosbag provided for tests - I am working on plugin my ZED2 for real tests now.
To resume:

I commented the testLogger.cpp in the CMakeLists.txt
Regarding utilsRos.cpp:
I put these four lines in comments:

/*
cam_params->distortion_model_ = cam_info->distortion_model;
  CHECK(cam_params->distortion_model_ == "radtan" ||
        cam_params->distortion_model_ == "radial-tangential" ||
        cam_params->distortion_model_ == "equidistant");
*/

and replace
VIO::CameraParams::convertDistortionVectorToMatrix(distortion_coeffs, &cam_params->distortion_coeff_);
by
VIO::CameraParams::convertDistortionVectorToMatrix(distortion_coeffs, &cam_params->distortion_coeff_mat_);
and I am able to compile successfully

@FaboNo thank you for your reply.
I did as your instruction and successfully compiled too, but I'm not sure about the result of test, the trajectory didn't appear after I run with Euroc data set, but only coordinate systems. You can see the following image:

Do you know why?

@gavanderhoorn  I had the same result - I did not see the trajectory but actually I was not looking for it...
Regarding the display of the meshes, have a look at this issue: https://github.com/MIT-SPARK/Kimera-VIO-ROS/issues/78
Last reply from pherbers provides hints to display the meshes (and try to change rviz background as well it worked for me)

@FaboNo Oh I see, thank you again, I will try it now :)

@FaboNo
I met a problem.if i need to update my kimera-vio?
error: ‘class VIO::CameraParams’ has no member named ‘distortion_coeff_mat_’
distortion_coeffs, &cam_params->distortion_coeff_mat_);

@FaboNo Thanks for your solution about the problems, I success to complie the kimera-vio-ros, and I will download the rosbag for test. And I also have a zed2 too, I want to know if you have success to use the camera for real testing? Thank you again!

@tftangming with the ZED2, actually not yet because the missing calibration data is imu_time_shift and to get it, I need to do a calibration and thus generate a rosbag. But I just have a Jetson Nano with me, and it is not powerfull enough to run the ConvNets developed for the ZED2   (stereo and object recognition) and to generate a rosbag without dropping images. Jetson Xavier is really required here! I will let you know when I will make progress
Regards

@FaboNo I do a try to create zed2.launch according to the realsense.launch and create my custom params file for zed2. About the data imu_time_shift , I set it to 0 for a test, however the program crash because the consecutive imu_datas have same timestamps as follow. But I echo the topic "/zed2/zed_node/imu/data_raw" and find it is normal, So I cant know what it happens.
In addition, I think it can be used for testing online after calibration the zed2 camera and modify its params file.
F0812 15:15:58.458397 32217 ThreadsafeImuBuffer-inl.h:58] Check failed: timestamp_nanoseconds > last_value.timestamp_<PHONE_NUMBER>478557501 vs.<PHONE_NUMBER>478557501) Timestamps not strictly increasing.

@FaboNo Now I have finished the zed2 live meshing using the kimera-vio-ros, and the above problem about timestamps is skipped forcely by myself. But the reconstruction result is not good...I will try to adjust the camera params and imu params.

hey, I am suffering the same problem by using the Zed2 dataset, it is the problem of Zed2. Zed2 has too fast 400 Hz imu frequency even higher than the clock, so it is real that some neighbor imu data has the same timestamps. You can check this fact by playing the  rosbag with --pause and then hit "s" to step, meanwhile echo the topic of IMU in another terminal.

The line CHECK_EQ(distortion_coeffs.size(), 4); is also problematic because the camera_info can contain more elements. It should say CHECK_GE(distortion_coeffs.size(), 4);
https://github.com/MIT-SPARK/Kimera-VIO-ROS/blob/master/src/utils/UtilsRos.cpp#L76


MINOR: Update Scala to 2.13.3

I had to fix several compiler errors due to deprecation of auto application of (). A related
Xlint config is no longer valid in 2.13, so we now only enable it for 2.12. Aside from that,
I included a few minor clean-ups as part of the compilation fixes.
Noteworthy bug fixes:

Fix 2.13-only bug in Java collection converters that caused some operations to perform an extra pass
Fix 2.13.2 performance regression in Vector: restore special cases for small operands in appendedAll and prependedAll
Increase laziness of #:: for LazyList
Fixes related to annotation parsing of @Deprecated from Java sources in mixed compilation

Full release notes:
https://github.com/scala/scala/releases/tag/v2.13.3
Committer Checklist (excluded from commit message)

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

Two jobs passed, one failed with a seemingly unrelated issue.

retest this please

One job passed, two had a single unrelated test failure.


bad response status 404 Not Found

I have a docker compose setup
prometheus:
    image: prom/prometheus
    restart: unless-stopped
    volumes:
      - prometheus_data:/prometheus
      - ./services/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - ./services/prometheus/alert.rules.yml:/etc/prometheus/alert.rules.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--web.external-url=http://${HOST_SERVER}/prometheus'

  alertmanager:
    image: prom/alertmanager:v0.21.0
    restart: unless-stopped
    volumes:
      - ./services/alertmanager:/etc/alertmanager
    command:
      - '--config.file=/etc/alertmanager/config.yml'
      - '--web.external-url=http://${HOST_SERVER}/alertmanager'
    ports:
      - 9093:9093

in my prometheus.yml
rule_files:
  - "/etc/prometheus/alert.rules.yml"

alerting:
  alertmanagers:
    - static_configs:
        - targets:
            - alertmanager:9093

In my prometheus, I am testing an alert, to see if Alertmanager can catch it
rules:
      - alert: TestAlert
        expr: vector(1)
        for: 10s
        labels:
          severity: warning
        annotations:
          summary: This is a test alert

I see the alert firing off in Prometheus. But when I check the docker logs, I keep seeing this
ts=2024-06-12T13:01:07.752Z caller=notifier.go:549 level=error component=notifier alertmanager=http://alertmanager:9093/api/v2/alerts count=1 msg="Error sending alert" err="bad response status 404 Not Found"
And I truly don't understand the issue here. If I go into the prometheus docker container, and I try to reach the alertmanager container, it says it can reach it
/prometheus $ wget http://alertmanager:9093
Connecting to alertmanager:9093 (<IP_ADDRESS>:9093)
wget: can't open 'index.html': File exists

but why can it not send the alert to alertmanager? I've tried this some time ago and I was able to see the alerts

Hi! 👋 For help using Prometheus it's better to ask in the prometheus-users mailing list. GitHub issues are for bug reports, feature requests, etc.


Azure Container Apps does NOT work with VNet integration and Azure Firewall as specified in the doc

Please provide us with the following information:

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
Region: westeurope
Creating an Azure Container Apps environment using an internal VNet and an Azure firewall does not work even if I followed all the documentation here:

Internal environment: https://docs.microsoft.com/en-us/azure/container-apps/vnet-custom-internal?tabs=bash&pivots=azure-cli
Azure firewall & NSG config: https://docs.microsoft.com/en-us/azure/container-apps/firewall-integration#firewall-configuration

Steps to reproduct

Create a VNet with a <IP_ADDRESS>/16 CIDR address space
Create a subnet K8SControlPlaneSubnet01 in the VNet with a <IP_ADDRESS>/23 address space
Create a subnet K8SClusterSubnet01 in the VNet with a <IP_ADDRESS>/27 address space
Create a Standard Azure firewall + Firewall policies
Create the following Network rules in the firewall policy

Source Address
Protocol
Port
Destination Address/Service Tags

<IP_ADDRESS>/16
UDP
1194
AzureCloud.WestEurope

<IP_ADDRESS>/16
TCP
9000
AzureCloud.WestEurope

<IP_ADDRESS>/16
TCP
443
AzureMonitor

<IP_ADDRESS>/16
TCP
443
AzureCloud.WestEurope

Create the following Application rules in the firewall policy

Name
Source Address
Protocol
FQDNs/Service Tags

hcp
<IP_ADDRESS>/16
Https:443
*.hcp.westeurope.azmk8s.io

mcr
<IP_ADDRESS>/16
Https:443
mcr.microsoft.com,*.data.mcr.microsoft.com

azure
<IP_ADDRESS>/16
Https:443
management.azure.com,login.microsoftonline.com,packages.microsoft.com,acs-mirror.azureedge.net,dc.services.visualstudio.com,graph.microsoft.com

azure-monitor
<IP_ADDRESS>/16
Https:443
.ods.opinsights.azure.com,.oms.opinsights.azure.com,*.monitoring.azure.com

ubuntu
<IP_ADDRESS>/16
Https:443,Http:80
security.ubuntu.com,azure.archive.ubuntu.com,changelogs.ubuntu.com,motd.ubuntu.com

azure-policy
<IP_ADDRESS>/16
Https:443
data.policy.core.windows.net,store.policy.core.windows.net,dc.services.visualstudio.com

aks
<IP_ADDRESS>/16
Https:443
AzureKubernetesService

Create a custom route table with the following route:
<IP_ADDRESS>/0 --> <azure_firewall_private_ip_address>
NO NSG IS APPLIED TO THE SUBNETS, TO SIMPLIFY DEBUGGING
Assign the custom route table to the subnets K8SControlPlaneSubnet01 & K8SClusterSubnet01
Create a log analytics workspace
Create an Azure Container Apps Environment with the following ARM Template

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "<IP_ADDRESS>",
    "parameters": {},
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.App/managedEnvironments",
            "apiVersion": "2022-03-01",
            "name": "poc-container-apps-env",
            "location": "westeurope",
            "properties": {
                "vnetConfiguration": {
                    "internal": true,
                    "infrastructureSubnetId": "/subscriptions/xxx/resourceGroups/poc-azure-container-apps/providers/Microsoft.Network/virtualNetworks/poc-azure-container-apps-westeurope-vnet01/subnets/K8SControlPlaneSubnet01",
                    "runtimeSubnetId": "/subscriptions/xxx/resourceGroups/poc-azure-container-apps/providers/Microsoft.Network/virtualNetworks/poc-azure-container-apps-westeurope-vnet01/subnets/K8SClusterSubnet01",
                    "dockerBridgeCidr": "<IP_ADDRESS>/16",
                    "platformReservedCidr": "<IP_ADDRESS>/16",
                    "platformReservedDnsIP": "<IP_ADDRESS>"
                },
                "appLogsConfiguration": {
                    "destination": "log-analytics",
                    "logAnalyticsConfiguration": {
                        "customerId": "xxx",
                        "sharedKey": "xxx"
                    }
                }
            }
        }
    ]
}

Deployment information:

Start time: 5/22/2022, 9:53:34 PM
Correlation ID: 7c08a0ab-f48b-4411-b6a0-96a55e56112b

Expected behavior
The Container Apps Environment should be created
Actual behavior
The deployment fails with a cryptic error:
{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"OperationFailed","message":"Managed environment failed to initialize"}]}

Screenshots
Additional context
The deployment always fails at the step of creation of the kubernetes load balancer. Sometimes it also fails at creating kubenertes-internal load balancer
I suspect some asymetric routing involved because the load balancers created in the MC_xxx resource groups have public IPs  and they are forced tunnelled through Azure Firewall

@doanduyhai, Did you allow both inbound and outbound communication within the VNET?
https://github.com/microsoft/azure-container-apps/wiki/Lock-down-VNET-with-Network-Security-Groups-and-Firewall

Hello @JennyLawrance
As said in the steps to reproduce, there is no NSG used in my settings
So the subnet-to-subnet communication is all open within the VNet. Consequently, the control plane subnet (named K8SControlPlaneSubnet01 in my settings) is open for inbound/outbound communication

@doanduyhai I will investigate it

Thanks @chinadragon0515
Do not hesitate to ping me if you need any further detail to reproduce the issue

@doanduyhai  I have two questions,

Can I know whether your firewall shares the same vnet as container apps (different subnet) or use different vnet?
Can you help to enable diagnostic logs of firewall and check is there any traffic was blocked?

In the meanwhile I try to recreate that firewall shares the same vnet as container apps.

@chinadragon0515

The firewall is in the same VNet, in its own subnet (AzureFirewallSubnet). No NSG
When querying the denied traffic from Firewall logs, I have no answer, e.g. no blocked traffic over 1h during the test

AzureDiagnostics
| where msg_s contains "Denied"
| project TimeGenerated, msg_s
| order by TimeGenerated desc

@doanduyhai I have found the issue, we are discussing the fix, and I will update here when the fix is deployed. thanks.

@chinadragon0515 Great news ! Can you tell more about the issue ? Network integration ? Missing firewall rules ?

This also affecting us for last few days...glad to have found this thread.
As mentioned, can we have some knowledge of the issue and potential ETA for resolution please?

I am attempting to join container apps to an existing vnet, no firewall or nsgs at all at this point. Would this issue be the cause of my "Managed environment failed to initialize" error?

We are actively working on the issue, but we do not have a target date to share. I will update here when we have a date to share.
This issue only occurred when UDR is used, if UDR is not used, there is no issue.

We seem to have similar issue and we have no UDRs involved on the target VNET/Subnets in question.

@chinadragon0515 I am seeing the firewall blocking my DAPR component's requests to the providers when a UDR attempts to route them through the firewall.
HTTPS request from <IP_ADDRESS>:51038. Action: Deny. Reason: SNI TLS extension was missing.
This gets picked up if I try to add an Azure Service Bus PubSub component to DAPR. Service Bus is exposed on the VNet with a Private Endpoint and a Custom DNS Zone. I have application rules in my firewall that should allow it, but seems the firewall is denying it before it gets to custom rules.  If I turn off the UDR this routes correctly to the private endpoint, verified by the fact that all networking is turned off on the service bus and it succeeds without the UDR.
Is this issue related to what you are working on?

@doanduyhai it is not related to asymetric routing, when UDR is used with <IP_ADDRESS>, it will change the node outbound IP addresses, and then cause the issue.
For now, using custom user-defined routes (UDRs) or ExpressRoutes, other than with UDRs of selected destinations that you own, are not yet supported for Container App Environments with VNETs.
We are working with partner team to resolve this, I will update here when we have target date to resolve.

@chinadragon0515 Thanks for the reply
It reminds me the route table content when using standard AKS cluster with kubenet network driver. Azure will inject the subnet mask of  kubenet into our own route table, along-side with the <IP_ADDRESS>/0 route, to redirect all outgoing traffic from the node back to the node itself
Something like (<IP_ADDRESS>/24, next hop = <internal load balancer private IP>)

I guess that the solution would be pretty similar for the one when using AKS + kubenet

Also see https://github.com/microsoft/azure-container-apps/issues/255 for similar issue.

@chinadragon0515 can you share any estimate when this could be solved? Weeks, months?

I got the same issue when deploying ContainerApp behind FW (goal is to control outbound traffic of the app)

@jagiraud The issue is been actively worked on, it should be resolved in next couple months, I will share here when we have more accurate date. Sorry for inconvenience and thanks for your patience.

@chinadragon0515 - we are validating Container Apps for use in a Hub and Spoke architecture (Spoke Subscription peered to Hub Subscription with Firewall) using Enterprise Scale patterns.
Once this UDR issue is addressed is it expected that we will be able to use Container Apps to serve container hosted services across the International CORP network (internal private azure network - no internet egress/ingress) from Container Apps Service?   We want to make sure there is no dependency on the solution needing to go internet bound and public endpoints.
Asking because we cannot validate this because of the UDR issue.  Thank you!

Earlier we used to create UDR with our own managed CIDRs and it was working just fine. Now I see that a managed route table is getting created with aks-agentpool prefix and getting attached to the ACA subnet. How are we now supposed to route traffic to firewall??

Earlier we used to create UDR with our own managed CIDRs and it was working just fine. Now I see that a managed route table is getting created with aks-agentpool prefix and getting attached to the ACA subnet. How are we now supposed to route traffic to firewall??

This is fixed now !

@chinadragon0515: Any more precise timeline you can share?  Facing this issue.  Thank you

We are still working on it, no target to share now. Will update when we have a ETA.

I'm puzzled how you can GA a service with vnet integration and not support UDRs.
you push hub and spoke topologies, and Enterprises will always, force traffic to central monitor and security point and not allow direct traffic to the internet.
every time you GA Vnet integrations for Azure services ( azure firewall, app services, functions and what not ) , force tunneling is not supported.
I have a hard time, understanding use cases, for this where you don't need access to on-premises data resources in a secure manner.
Anyway, looking forward to test this service, when you have a ETA.

Any update on this?

We are working on a solutions now, private preview should be available soon.
For now, if you want to use UDR, you can add a route like this one to bypass Azure cloud traffic, and it works too.

Is there an update on this, something to share on the possible ETA for the definitive solution?

We have new network architecture implemented in ACA and announcement public preview today,
With new architecture, there is no limit on UDR/NAT gateway and so on.
For more detail, you can refer to this announcement.
https://azure.microsoft.com/en-us/updates/public-preview-azure-container-apps-offers-new-plan-and-pricing-structure/

We have new network architecture implemented in ACA and announcement public preview today, With new architecture, there is no limit on UDR/NAT gateway and so on.
For more detail, you can refer to this announcement. https://azure.microsoft.com/en-us/updates/public-preview-azure-container-apps-offers-new-plan-and-pricing-structure/

Any potential ETA on when this may become GA?

Summer 2023

We used this UDR configuration very actively on all (>100) our Container App Environments. And  this environments are now "Consumption only" - which means UDR is not supported there, although it was supported in the past.
Is it guaranteed that this original container app setup, described like in this issue, keeps working?
I think the UDR feature was just dropped from the orginal release, as all "old" cappenvs are now automatically "Consumption Only".

UDR is supported with worklaod profile envs, refer to https://learn.microsoft.com/en-us/azure/container-apps/workload-profiles-overview


SLIDER - No difference in selected and non-selected part of slider

Prerequisites

[X] I have searched for duplicate or closed feature requests
[X] I have read the Modus style guidelines

Proposal
In slider we expect the slided part alone to be shown as blue color but the whole slider is shown in blue ,which creates a discrepancy in understanding how much area has been covered by the slider .

Motivation and context
The use case is we need to highlight the part which has been covered by the user ,so selected half should be in blue color and the other unselected half should be in grey
What is the issue regarding ?
@trimble-oss/modus-web-components
Priority
Medium
What product/project are you using Modus Components for ?
TRIMBLE FORESTRY
What is your team/division name ?
Central Product development
Are you willing to contribute ?
None
Are you using Modus Web Components in production ?
Yes

This could be fixed with a little bit of JavaScript. I tested this for Modus Bootstrap. Screenshot:

Fix:
.form-range::-moz-range-track{background:linear-gradient(to right, #0063a3 0%, #0063a3 var(--value, 0%), #dee2e6 var(--value, 0%), #dee2e6 100%)}
.form-range::-webkit-slider-runnable-track{background:linear-gradient(to right, #0063a3 0%, #0063a3 var(--value, 0%), #dee2e6 var(--value, 0%), #dee2e6 100%)}

      // Getting all the range inputs
      const ranges = document.querySelectorAll("input[type=range]");

      // Adding a listener to every input in order to have a dynamic progress
      for (const range of ranges) {
        range.addEventListener("input", () => {
          const value = ((range.value - range.min) / (range.max - range.min)) * 100;
          range.style.setProperty("--value", `${value}%`);
        });
      }

      document.addEventListener("DOMContentLoaded", () => {
        for (const range of ranges) {
          const value = ((range.value - range.min) / (range.max - range.min)) * 100;
          range.style.setProperty("--value", `${value}%`);
        }
      });

A less good alternative is to use a simple, native form range with the accent-color: CSS to use the correct Modus blue.
Demo:
https://codepen.io/coliff/pen/mdZyzLe
input[type="range"] {
  accent-color: #217cbb;
}

@mitch-trimbe Could you please review this issue? Additionally, please note that the Figma web and mobile kits have different look and feel.
https://www.figma.com/design/wyfVJUHWRMkeCfdB38HFEE/Modus---Web?node-id=1856-12373&t=4F7KfhawPvbcU7zt-0
https://www.figma.com/design/Bfpyk5rbSsmwfIacqzg9HS/Modus---Mobile?node-id=846-0&t=SEI1idfFHtMbr2mP-0


ArrayRank + Checked with lots of concatentation.

var retVal = new byte[
    checked(1 /* KDF alg */
    + 1 /* chaining mode */
    + sizeof(uint) /* sym alg key size */
    + sizeof(uint) /* sym alg block size */
    + sizeof(uint) /* hmac alg key size */
    + sizeof(uint) /* hmac alg digest size */
    + _symmetricAlgorithmBlockSizeInBytes /* ciphertext of encrypted empty string */
    + _hmacAlgorithmDigestLengthInBytes /* digest of HMACed empty string */
    )
];
// should maybe be this? or should we break after the checked( ?
var retVal = new byte[
    checked(1 /* KDF alg */
        + 1 /* chaining mode */
        + sizeof(uint) /* sym alg key size */
        + sizeof(uint) /* sym alg block size */
        + sizeof(uint) /* hmac alg key size */
        + sizeof(uint) /* hmac alg digest size */
        + _symmetricAlgorithmBlockSizeInBytes /* ciphertext of encrypted empty string */
        + _hmacAlgorithmDigestLengthInBytes /* digest of HMACed empty string */
    )
];

It appears the comments don't affect this, see
                    var retVal = new byte[
                        checked(cbPreBuffer
                        + KEY_MODIFIER_SIZE_IN_BYTES
                        + _symmetricAlgorithmBlockSizeInBytes
                        + cbOutputCiphertext
                        + _hmacAlgorithmDigestLengthInBytes
                        + cbPostBuffer)
                    ];

I'm guessing checked has its own syntax type (like await did) and we're not doing anything special to handle it.

This was resolved by having checked print the same way as an invocation expression with an argument list
        checked(
            cbPreBuffer
            + KEY_MODIFIER_SIZE_IN_BYTES
            + _symmetricAlgorithmBlockSizeInBytes
            + cbOutputCiphertext
            + _hmacAlgorithmDigestLengthInBytes
            + cbPostBuffer
        );

        callMethod(
            cbPreBuffer
            + KEY_MODIFIER_SIZE_IN_BYTES
            + _symmetricAlgorithmBlockSizeInBytes
            + cbOutputCiphertext
            + _hmacAlgorithmDigestLengthInBytes
            + cbPostBuffer
        );


This is my first attempt at trying to remove the Discord information

from the website. I simply went through and removed any references
to Discord that I saw.
Description of changes

I simply deleted any references to Discord that I saw. I'm not sure if this was the right way to go about doing this, so please review.
Issue Resolved

Fixes #747

Please let me know if I am doing something incorrectly.


xtensa: Add initial support for ESP32-S3

Summary
This PR intends to add basic support for ESP32-S3, a dual-core Xtensa LX7 MCU from Espressif Systems.
https://www.espressif.com/en/products/socs/esp32-s3
The new esp32s3-devkit target considers a generic development board whose characteristics are common to ESP32-S3-DevKitC-1 and ESP32-S3-DevKitM-1 official development kits.
This initial support consists of the following features:

Basic clock control (APB clock defaults to 80MHz)
Peripheral and CPU interrupts management
Heap management
Board reset support
Serial driver

Impact
Support for new chip.
Testing
esp32s3-devkit:nsh and successful execution of ostest application.

Please, ignore the Check failure, the tie-asm.h and tie.h files come from the Xtensa Overlays. We'd better include them unchanged.

Do we need boards/xtensa/esp32s3/.gitignore? It is empty

No need, added for creating the initial tree and forgot to remove it later. Thanks.

@pkarashchenko I've updated the PR addressing your comments.
Also, I've moved the change to the Dockerfile to another PR. If that gets merged first, then the esp32s3-devkit:nsh may be built by the CI on this PR.

LGTM!


[0.12.0] Higher heap usage

Shortly after upgrade InfluxDB from 0.11.1 -> 0.12.0 (official deb packages, Ubuntu 14.04) I've noticed higher memory usage and higher heap usage (metrics from _internal):

@ljagiello Hi! how was the scheme to add the influx into the grafana? appreciate any kind of help.

@jpereira _internal database and queries like:
SELECT last("HeapAlloc") FROM "runtime" WHERE "hostname" =~ /$server$/ AND $timeFilter GROUP BY time($interval), "hostname" fill(null)

I have the felling there there is some memory leak going on:

I wonder if #5169 would help alleviate this.

@ljagiello Can you grab a heap and goroutine snapshot when your system heap is growing?
curl -o heap.txt http://localhost:8086/debug/pprof/heap?debug=1
curl -o goroutine.txt http://localhost:8086/debug/pprof/goroutine?debug=1

Sure I will.

@jwilder I was able to catch such crash:

https://www.dropbox.com/s/ehwab8kogusq4yb/goroutine.txt.bz2
https://www.dropbox.com/s/p18ra5k7006u6pj/heap.txt.bz2

@ljagiello It looks like you have a bunch of writes getting blocked validating field types for measurements.

How many measurements do you have?
How many fields for each measurement?
How big are your batches for each write?
How many concurrent writers do you have?

How many measurements do you have?

:~# influx -database 'telegraf' -execute 'SHOW MEASUREMENTS' | wc -l
259
:~# influx -database 'telegraf' -execute 'SHOW SERIES' | wc -l
59018
:~# influx -database 'services' -execute 'SHOW MEASUREMENTS' | wc -l
12
:~# influx -database 'services' -execute 'SHOW SERIES' | wc -l
20509

How many fields for each measurement?

:~# influx -database 'telegraf' -execute 'SHOW FIELD KEYS' -pretty | wc -l
90323

where few are a pretty big:
httpjson_solrcore1 - 30928
httpjson_solrcore2 - 50481

How big are your batches for each write?

telegraf - default for 0.12
services - 1000

How many concurrent writers do you have?

Ok after some changes in telegraf I was able to reduce fields
:~# influx -database 'telegraf' -execute "SHOW FIELD KEYS" | wc -l
5074

so it's x18 times less fields.

@ljagiello Let me know if that has any effect on your heap.  The code from the profile you grabbed could be tuned to reduce locking in that spot as well.
Also, am I reading this correctly that you have two measurements with 30k & 50k fields each?
httpjson_solrcore1 - 30928
httpjson_solrcore2 - 50481

So without any solr metrics today there was another crash unfortunately I wasn't around to dump heap but I will wait for another one.
My another ticket is basically duplicate of this one (https://github.com/influxdata/influxdb/issues/6526).

https://www.dropbox.com/s/67ao48g1dfbjo9j/heap-graph-s5-2016-05-07-06-15.txt.bz2?dl=0
https://www.dropbox.com/s/xsh8l3l8pglrm3k/heap-graph-s5-2016-05-07-06-10.txt.bz2?dl=0
https://www.dropbox.com/s/tkw5bm7kg7e25pm/heap-graph-s5-2016-05-07-06-05.txt.bz2?dl=0
https://www.dropbox.com/s/1s85ec84hcv8imv/goroutine-graph-s5-2016-05-07-06-15.txt.bz2?dl=0
https://www.dropbox.com/s/jjhjk92fl10pglq/goroutine-graph-s5-2016-05-07-06-10.txt.bz2?dl=0
https://www.dropbox.com/s/thq750htaoandyj/goroutine-graph-s5-2016-05-07-06-05.txt.bz2?dl=0
Crash happen randomly but always after new shard was created. Above links provides goroutine/heap dumps 5/10/15min past shard creation, after next 15min InfluxDB crashed.
I see this problem every ~24-30h. All those huge measurements are off now and they're not in any new indexes. The biggest measurements is mysql with 329 fields, all others are below 20.
:~# influx -execute "SHOW SERIES" -database "telegraf" | sed '/name: .*/d' | sed '/\-\-/d' | sed '/_key/d' | sed '/^$/d' | wc -l
59290

Is this still occuring w/ the latest nightlies?

Thank you for the hint, I will test that first thing in the morning!

@jwilder since 0.13 it's super stable.

Thanks @ljagiello

@hgfischer Sorry for off-topic and necro-posting, but could you please share your influxdb metric dashboard?


Energy Detector not working

Description
The energy detector doesn't seem to actually transfer power - cables and other energy transfer options form multiple mods will connect to two of the faces, but no energy will move through. Admittedly I'm unsure if this is broken functionality or just a lack of documentation on how to use them.
Steps to reproduce

Place something with energy output (tested a couple generator types, a mek induction matrix and mek universal cables since they hold energy)
Place energy detector with energy connecting side next to energy output
Place computer next to energy detector on non-energy face
Place something that extracts energy on other energy face of energy detector (tried mek universal, pipez, laserio, integrated dynamics) with something it'll put energy into like a battery
It should at this point be transferring, but just for fun, wrap the peripheral and set the energy transfer rate limit on the energy detector
Nothing moves into the battery

Multiplayer?
Yes
Version
1.18.2-0.7.15b (Latest 1.18)
Minecraft, Forge and maybe other related mods versions
Forge 39.0.55 Minecraft 1.18.1
Screenshots or Videos
No response
Crashlog/log
No response

The energy detector seems to work just fine
But your forge version is very old. The newest would be 40.1.60

I created a new testing environment, and switched to single player:
It cuts off but AP is @ 1.18.2 0.7.15.b

Do I need to hit the energy detector with a wrench or anything? The getConfiguration returns an empty table but I'm pretty sure that's true of every peripheral I've tried.

You sure that the universal cable with the creative cube is on the right side? The side with the arrows facing into the middle?

Gosh. So sorry to have wasted your time, I didn't even notice that the two sides had the arrows pointing in different directions... That may be worth adding to the wiki.

Also maybe some way to rotate them? Maybe right clicking? First use of the computer tool?

Gosh. So sorry to have wasted your time, I didn't even notice that the two sides had the arrows pointing in different directions... That may be worth adding to the wiki.

No problem. I'll add this to the wiki 😄

Also maybe some way to rotate them? Maybe right clicking? First use of the computer tool?

Good idea


[Bug]: The specific data source is not displayed in the data cleaning view details.

ODC version
ODC422
OB version
it has nothing to do with ob Version
What happened?
The specific data source is not displayed in the data cleaning view details.

What did you expect to happen?
The display remains the same as the picture below

How can we reproduce it (as minimally and precisely as possible)?
create task
Anything else we need to know?
No response
Cloud
No response

Fixed In Commit dea64d59e769fb8ce5c92342296a78e8d224afe8
------
咏和
Mon Oct 30 11:58:46 2023 +0800


Setup Kanban Board

Hi, We are a team of 3 members @Itswali  @PierreBarba  and @ONJoseph
Team Member - 1 @Itswali .
Team Member - 2 @PierreBarba.
Team Member - 3 @ONJoseph.
Link to the project

Hello, @Itswali , @ONJoseph  and @PierreBarba            :wave:
Good job so far,  done There are some issues that you still need to work on to go to the next project but you are almost there!
Highlights

Good job with route creation :+1:

Required Changes

[ ] Check the comments below at the end of this file :arrow_double_down:
[ ] Each of the team members has some missing, merged bullet points together. Kindly be reminded that each of the bullet points should have a corresponding task on the board, below you have some examples but please double-check and add tasks on the board for each of them.

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding! clapclapclap
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.
---------------------------------------------------------------------------Comments---------------------------------------------------------------------

[ ] All the group tasks must have a corresponding task on the board, also they will look better if assigned to all team members
[ ] Each bullet point should have its own corresponding card on the board, currently, you have merged 2 bullet points in one card like these two

[ ] I can't find a card for this requirement
[ ] Team member one should have cards for the following requests bullet points as well, they need to be descriptive similar to the bullet points

Hi team,
STATUS: APPROVED ✔ ✔
Your project is complete!  There is nothing else to say other than... it's time to start working on your capstone :shipit:
Congratulations and well done! 🎉

Highlights

You have set up your Kanban board properly, well done 👏 👏

Optional suggestions

Please replace all project descriptions, where you have used images, with texts

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

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

Thanks for the Review


Auto clicker Broken

This was happenning in skull mode too, but now happening in every game please fix.  And also, the built in Vape v4 auto clicker is just more convenient, thank you for the idea thought :)

should be fixed, dk about autobuy

TYSM THIS IS A GREAT FIX TO ALL THE CLOSET CHEATERS :D

forget all I said, autoclicker still broken


Setup account to support automating PRs and Releases

We'd like to automate the creation of PRs and Releases within this repository.  There have been a few attempts at configuring the permissions on the GitHub token account, but that did not seem to have the desired results.  @jamshale can provide some additional details.
We figure we need a Bot Account such as Sovbot that has permissions to generate PRs and Releases on a repository.  This account is setup on the Indy repos (via the indy-ci team) and has permissions to create PRs and Releases in the Indy repos, indy-node for example.
https://github.com/hyperledger/indy-node/blob/5dfb13075ddc1ce216385e170103141c010031d7/.github/workflows/tag.yaml#L70-L82
https://github.com/hyperledger/indy-node/blob/5dfb13075ddc1ce216385e170103141c010031d7/.github/workflows/publishRelease.yaml#L96-L107

@jamshale, Can you add some detail about the permissions you're already tried?
@ryjones, Here is the ticket as discussed yesterday.

Resources from @ryjones.  Setting permissions on the GITHUB_TOKEN that is created that allows PR creation.
Under Settings - Actions:

https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#setting-the-permissions-of-the-github_token-for-your-repository
@jamshale, Please confirm this is what's already been tried.

I'll check the permissions I needed on my forked branch for both workflows.

@WadeBarnes So I'm pretty sure that the GITHUB_TOKEN with allow github actions to create pull requests would work for the first workflow. All it does is create the release PR. However, the second workflow which actually creates the release after the PR is merged would need a BOT type PAT token like the sov bot https://github.com/sovbot has.
In a lot of ways the plugin workflows are the same as the indy-node workflows https://github.com/hyperledger/indy-node/blob/main/.github/workflows/publishRelease.yaml and will need similar permissions.

@ryjones, Is there a Hyperledger bot that can be used for such tasks?

@WadeBarnes @jamshale I've set up BOT_PR_PAT as a fine-grained PAT with access to this repo. If it doesn't have enough beans to do the thing, let me know. I didn't give it every single permission - you should only use it in cases where GITHUB_TOKEN won't work.

Thanks @ryjones !


i want to add  Morris_Traversal in T-TreeTraversal

Description
The Morris algorithm for inorder traversal allows you to traverse a tree with O(n) time and O(1) space complexity.
Domain
Algorithm
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

please check pr sir @miraj0507

i have done my work


WIP adding mocks to test sections

Codecov Report

Merging #27 (3645351) into main (4e56fcc) will increase coverage by 9.47%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   23.15%   32.63%   +9.47%
==========================================
  Files           8       10       +2
  Lines         652      858     +206
==========================================
+ Hits          151      280     +129
- Misses        495      567      +72
- Partials        6       11       +5

Impacted Files
Coverage Δ

cmd/server/handlers/sections.go
95.23% <100.00%> (+95.23%)
:arrow_up:

cmd/server/handlers/products.go
50.92% <0.00%> (-33.69%)
:arrow_down:

internal/section/repository.go
0.00% <0.00%> (ø)

internal/section/service.go
79.03% <0.00%> (ø)

Continue to review full report at Codecov.

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


building docs broken since release of Sphinx 4

❯ tox -e docs
GLOB sdist-make: /home/jugmac00/Projects/flask-reuploaded/setup.py
docs inst-nodeps: /home/jugmac00/Projects/flask-reuploaded/.tox/.tmp/package/1/Flask-Reuploaded-1.1.1.dev0.zip
docs installed: alabaster==0.7.12,attrs==21.2.0,Babel==2.9.1,certifi==2020.12.5,chardet==4.0.0,click==8.0.0,coverage==5.5,docutils==0.17.1,Flask==2.0.0,Flask-Reuploaded @ file:///home/jugmac00/Projects/flask-reuploaded/.tox/.tmp/package/1/Flask-Reuploaded-1.1.1.dev0.zip,idna==2.10,imagesize==1.2.0,iniconfig==1.1.1,itsdangerous==2.0.0,Jinja2==3.0.0,MarkupSafe==2.0.0,packaging==20.9,Pallets-Sphinx-Themes==1.2.3,pluggy==0.13.1,py==1.10.0,Pygments==2.9.0,pyparsing==2.4.7,pytest==6.2.4,pytest-cov==2.11.1,pytz==2021.1,requests==2.25.1,snowballstemmer==2.1.0,Sphinx==4.0.0,sphinxcontrib-applehelp==1.0.2,sphinxcontrib-devhelp==1.0.2,sphinxcontrib-htmlhelp==1.0.3,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-qthelp==1.0.3,sphinxcontrib-serializinghtml==1.1.4,toml==0.10.2,urllib3==1.26.4,Werkzeug==2.0.0
docs run-test-pre: PYTHONHASHSEED='3812319761'
docs run-test: commands[0] | sphinx-build -b html docs _build/html
Running Sphinx v4.0.0
loading pickled environment... done

Exception occurred:
  File "/home/jugmac00/Projects/flask-reuploaded/.tox/docs/lib/python3.8/site-packages/pkg_resources/__init__.py", line 777, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (Jinja2 3.0.0 (/home/jugmac00/Projects/flask-reuploaded/.tox/docs/lib/python3.8/site-packages), Requirement.parse('Jinja2<3.0,>=2.3'), {'Sphinx'})
The full traceback has been saved in /tmp/sphinx-err-wfvq4oi0.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
ERROR: InvocationError for command /home/jugmac00/Projects/flask-reuploaded/.tox/docs/bin/sphinx-build -b html docs _build/html (exited with code 2)
_________________________________________________________________ summary __________________________________________________________________
ERROR:   docs: commands failed

Sphinx 4 does not play well with the Pallets theme.
workaround
There seems to be a fix on Sphinx master already.

fixed by #92


where is the archived rprot?

Hello
rport is great for study, sad to see it's gone. but where is the latest version we can get?
thanks

better to keep it in somewhere, existing on internet

Congrats thorstenkramm !!!
Good move.


Generating a rel="canonical" link tag

Hi @tlienart, I'm trying to produce a rel="canonical" link tag, something close to
<link rel="canonical" href="{{getcanonical}}">

The problem is that I can't work out how hfun_getcanonical should be implemented, namely, how do I get the path to the current file. (I know I could call locvar("somevar") from within hfun_getcanonical, but which variable holds the actual name of the file/actual path?)

In the body of the hfun you can call Franklin.url_curpage() this will return the relative url to the current page starting with a / so for instance /index.html``/page/foo/index.html so you would have to add to that the base url and the prefix something like
function hfun_canonical_link()
    rpath = Franklin.url_curpage()
    base = globvar("website_url") # might have to do something if it's empty
    pre = globvar("prepath")
    canonical = joinpath(base, pre, rpath) # might have to check that join path does the right thing
    return "<link rel=\"canonical\" href=\"$canonical\""
end

Awesome! Thanks for the code @tlienart. It is meant to do almost exactly what I want. Here's what I ended up doing:
function hfun_canonical_url()
    rpath = Franklin.url_curpage()
    base = globvar("website_url")  # might have to do something if it's empty
    pre = globvar("prepath")

    # might have to check that join path does the right thing
    canonical = joinpath(base, pre, rpath)
    return replace(canonical, r"index\.html$" => "")
end

The thing is that I was expecting (if I have @def website_url   = "http://my-awesome-url.abc" in config.md)
<link rel=canonical  href="http://my-awesome-url.abc/">

Instead, I get
<link rel=canonical  href="/">

So the code above clearly receives an empty string from globvar("website_url"). This happens both locally and in CI builds. Furthermore, I can confirm that all other variables (such as website_title and website_descr) are used without issues throughout my files. I also use globvar with some variables in utils.jl without any problem.
Does Franklin treat website_url differently than other variables in config.md?

no no, it's just joinpath that is tricking you. Consider the following in the REPL and their result
julia> joinpath("http://hello","b")
"http://hello/b"

julia> joinpath("http://hello","/b")
"/b"

do you see what's going on? in the second case it thinks it's a path that starts at the root of your file system (joinpath is more meant for filesystem use than for URLs) so it ignores everything before it. So you need to strip that first / if there is one.

Excellent! I should have read the documentation 🙈. The following line did the trick:
rpath, pre = lstrip.([rpath, pre], ['/'])

Note: sorry that's what I meant with my comment might want to check... you want to make sure the / are at the right place joy sorry hope you didn't waste too much time on this

That's fine, I only looked into it early today. Thanks by the way!


Can we get by without macro-paradise?

macro-paradise has an uncertain future.  What are the ramfiications if we shed it?

Yes.  Yes, we can.


New Feature: watchWindow

Prop Name: watchWindow
Default: false
Values: true | false
To watch changes of window size & reposition tooltip

I think it can be a required feature, not an option. let's merge it first.
:+1:  thanks


Unable to override image for broker-ingress with operator

Describe the bug
Unable to override images for containers that are created by the eventing controllers and not the operator.
For example, we're able to change the image of broker-controller with registry override defined in KnativeEventing CR. With that, the operator creates the broker-controller and then later, broker controller creates broker-ingress.
However, broker-ingress is always created with the official gcr.io image.
broker-controller actually supports overriding the broker-ingress image using BROKER_INGRESS_IMAGE env var. But, there's no way to pass that from the operator CR, then to broker-controller.
Expected behavior
Some mechanism to override the images created by controllers and not just the operator.
Knative release version
0.13.0
Additional context
Add any other context about the problem here such as proposed priority

/assign @aliok

Operator creates a deployment of broker-controller like this:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: broker-controller
  namespace: knative-eventing
spec:
  template:
    spec:
      serviceAccountName: eventing-controller
      containers:
      - name: broker-controller
        terminationMessagePolicy: FallbackToLogsOnError
        image: gcr.io/knative-releases/knative.dev/eventing/cmd/channel_broker@sha256:853e0d194223da4356af7c9a17c79afa0ef96b93fd956d5febb2b1f2be78c717
        env:
        - # Broker
          name: BROKER_INGRESS_IMAGE
          value: gcr.io/knative-releases/knative.dev/eventing/cmd/broker/ingress@sha256:d080653ce0792a304ba388dcb1e360dc427d8556503e0a2603da26d261ac21e4

We're able to change the image for the broker-controller itself using the eventing CR like this:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
...
spec:
  registry:
    override:
      broker-controller: docker.io/my-broker-controller

but not the BROKER_INGRESS_IMAGE.
I suggest that we provide a mechanism to override env vars for the containers as well, not just their images.
So, the eventing CR would look like something like:
apiVersion: operator.knative.dev/v1alpha1
kind: KnativeEventing
metadata:
...
spec:
  registry:
    override:
      broker-controller: docker.io/my-broker-controller
  envvar:
    overrides:
      - container: broker-controller
        name: BROKER_INGRESS_IMAGE
        value: docker.io/my-broker-ingress-image

This would end up in this:
apiVersion: apps/v1
kind: Deployment
metadata:
  name: broker-controller
  namespace: knative-eventing
spec:
  template:
    spec:
      serviceAccountName: eventing-controller
      containers:
      - name: broker-controller
        terminationMessagePolicy: FallbackToLogsOnError
        image: docker.io/my-broker-controller
        env:
        - # Broker
          name: BROKER_INGRESS_IMAGE
          value: docker.io/my-broker-ingress-image

cc @markusthoemmes

what I suggest above is far from being ideal, but until we have things addressing the tickets noted at https://github.com/knative/serving-operator/issues/301, I think this would be a straigtforward solution.

cc @k4leung4 @houshengbo

Looking at the suggested proposal:
...
  envvar:
    overrides:
      - container: broker-controller
        name: BROKER_INGRESS_IMAGE
        value: docker.io/my-broker-ingress-image

I think this is also interesting, since the operator can than also override other evn vars, on a given container.

Note there are other "env var" images in eventing.
like:

BROKER_INGRESS_IMAGE
BROKER_FILTER_IMAGE
CRONJOB_RA_IMAGE
PING_IMAGE
APISERVER_RA_IMAGE
DISPATCHER_IMAGE

looks like the override, was only partially working, which seems to be a problem

Personally, I like the idea of a generic "environment variable override" feature in the Knative{Serving|Eventing} CR, e.g.
...
  env:
  - name: BROKER_INGRESS_IMAGE
    value: docker.io/my-broker-ingress-image
  - name: CRONJOB_RA_IMAGE
    value: docker.io/my-cronjob-ra-image

The transformer function in the operator would then set all the Deployment resources accordingly in the manifest.

@jcrossley3 I think that would make things easier. It would solve my problem here and it would be actually a nicer feature.
The only downside would be that in the future there might be cases where we're passing different values for the same env var to different containers. I don't have a strong opinion on this though. No need to overengineer and solve problems we don't have right now. So, +1!

The only downside would be that in the future there might be cases where we're passing different values for the same env var to different containers. I don't have a strong opinion on this though. No need to overengineer and solve problems we don't have right now. So, +1!

Good point. We could provide an optional container attribute in addition to name and value. If omitted, the var would apply to all containers.

We had a WG meeting yesterday and this issue was discussed there.
The outcome of the discussion is that we improve the existing image override mechanism to also override images that are defined in env vars.  The challenge in this case is to identify what env vars are images.
I will keep this ticket open for now.


⚠ Thumbnails API Endpoint has degraded performance

In 2803911, Thumbnails API Endpoint (https://thumbnails.roblox.com/v1/assets?assetIds=82738847&format=Png&isCircular=false&size=30x30) experienced degraded performance:

HTTP code: 200
Response time: 5160 ms

Resolved: Thumbnails API Endpoint performance has improved in 7939f63 after 20 minutes.


add double dash to move to another branch, not reset file/directory in git client

This bug occurs only when you have file and branch on remote with the same name, because if git checkout don't find local branch then resets file with this name.
How to reproduce

Make a file foo and commit it
Make a branch foo and push it to remote
Use vcs tool with config:

repositories:
  repo:
    type: git
    url: git@gitlab.com:foo/bar/repo.git
    version: foo

In results, downloaded repository has branch master not foo

Solution
According to https://git-scm.com/docs/git-checkout adds a double dash is enough
PS. thanks to @ksuszka to found the bug!

Thank you for the patch.

See #164 which reports that this breaks with older git versions.


21 - Replace github_integration by the usage of decorators approach

Removed github_integration package.
Added decorator solution.

Closes #21

Release Notes:

Introduces decorators.
Removed usage of local overload of GitHub library and replaced it with decorator usage.


Revamped event listening API

Code highly inspired from lucko's helper library.
The goal would be to enforce listeners stored as constants instead as lambda to facilitate their removal or just general management. And perhaps a way to merge multiple listeners in a Group to sort them by feature.

Some ideas for meta:

Cancelling an event after a number of calls calls
Cancelling an event after a certain duration
Making an event only fire a certain amount of times for each player/entity/etc


Add non-blocking mode to s2nc and s2nd

Resolved issues:
resolves #2028
Description of changes:
Add a command line argument to s2nc/s2nd which enabled non-blocking on the socket handling the connection.
Call-outs:
In this PR the defaults for the new integration test framework will be non-blocking mode. The existing integ tests cover blocking mode. We can iterate on this as well.
Testing:
Integration testing
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #2098 into master will decrease coverage by 7.76%.
The diff coverage is 4.76%.

@@            Coverage Diff             @@
##           master    #2098      +/-   ##
==========================================
- Coverage   88.07%   80.30%   -7.77%
==========================================
  Files         156      233      +77
  Lines       12318    17660    +5342
==========================================
+ Hits        10849    14182    +3333
- Misses       1469     3478    +2009


Allow flexible metric name construction

Currently this plugin does not support using field content as part of the metric name that gets shipped to Graphite or Ganglia which in many cases is desirable ...
If a field called 'username' contains the value 'user_a' I would like to be able to create metrics such as 'authentication.user_a.failed' and increment that for every failed auth attempt.
Likewise for a field called 'src_ip' with the field content '<IP_ADDRESS>' I would like to be able to create a metric such as 'connections.<IP_ADDRESS>' and increment that for every failed auth attempt.
This could also be domain names, SSL certificates, port number, http error codes, etc

In v1.2.0 you can append field values to the metric name. Putting it at a random place in the metric name is a little bit complicated from UI perspective. But I guess something like 'authentication.failed.user_a' is also ok.

@mariussturm Is it possible to append multiple multiple values in the metric name, tried field1.field2 but didnt work


Update _index.md to correctly reference cloud_provider configuratuion

Cloud provider config is under rancher_kubernetes_engine_config and should be noted that way also the folder selection is the name of the folder only, you don't have to specify the datacenter or a "/" before the name.
The initial configuration of only "cloud_provider" with no indents is misleading and the folder reference is incorrect as I get an error in rancher logs when adding the folder with datacenter name, but works perfectly when only referencing the folder name

@luthermonson Can you please review this change?


morgen: 2.6.4 -> 2.6.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/morgen/versions.
meta.description for morgen is: All-in-one Calendars, Tasks and Scheduler
meta.homepage for morgen is: https://morgen.so/download
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.6.6 with grep in /nix/store/6rqm0w149nvyg2z859030gpxfpvwbmv0-morgen-2.6.6
found 2.6.6 in filename of file in /nix/store/6rqm0w149nvyg2z859030gpxfpvwbmv0-morgen-2.6.6

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
morgen

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/6rqm0w149nvyg2z859030gpxfpvwbmv0-morgen-2.6.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A morgen https://github.com/r-ryantm/nixpkgs/archive/8de374b132bd577556ee990e168cfe3716fc5efb.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/6rqm0w149nvyg2z859030gpxfpvwbmv0-morgen-2.6.6
ls -la /nix/store/6rqm0w149nvyg2z859030gpxfpvwbmv0-morgen-2.6.6/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

morgen

Maintainer pings
cc @WolfangAukang for testing.

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

1 package built:

morgen


Checking algorithm against Swift library algorithm

Added tests that compare the algorithm against the Swift library algorithm.
Also fixed some typos in the test names.

You're on a roll, Chris! :-)


Is there a possibility to manipulate existing nodes

The builder can parse existing documents and find specific elements. Then you can add attributes or child-element. I wonder if it is possible to remove an attribute or a element from the dom?

Hi, since the builder is focussed on building documents it only allows for additive changes. You can however access the underlying DOM elements and use standard methods to manipulate the element that way. For example, you could do something like builderNode.getElement().removeAttribute("unwanted").
See https://github.com/jmurty/java-xmlbuilder#accessing-the-underlying-document

FYI: Got here with the usage "create valid test data in a helper method, then make changes (to text in some element) in the test method". So, in a way, I want a "two-phase" builder.


COCO Setup

Thank you for your attention!
Please download the datasets  for coco classification setup in here.
The zip file contains two parts. The first part is coco datasets: 1) a training set, 2) a validation set, 3) the validation set without background, and 4) validation sets with various backgrounds.
Some users reported that the COCO creation is slow. Here is an alternative to creating a meta-dataset: applying random image transformations to change the visual characteristics of 4) validation sets with various backgrounds. Given a validation set with a changed background, we can apply 5 random transformations to diversify it.
The users are suggested to use the way of ImageNet-C to apply transformations. ImageNet-C uses Pytorch data loader to speed up the process, please refer to the code. In our works, we use Imgaug for the transformations and there are other corruptions such as ImageNet-C-Bar.
Note that, we provide 3) the validation set without background, so the users can change the background easily based on their usage.
The second part contains three real-world test sets, 1) Pascal, 2) Caltech, and 3) ImageNet (note that, ImageNet test set is from theImageCLEF dataset). We also provide test sets with some image transformations. Enjoy!

Following up on the above, the learned coco classification model is here.

If you find our project useful, please cite our works:
    @inproceedings{deng2020labels,
    author={Deng, Weijian and Zheng, Liang},
    title     = {Are Labels Always Necessary for Classifier Accuracy Evaluation?},
    booktitle = {Proc. CVPR},
    year      = {2021},
    }

    @inproceedings{deng2022labels,
    author={Deng, Weijian and Zheng, Liang},
    title     = {Are Labels Always Necessary for Classifier Accuracy Evaluation?},
    booktitle = {TPAMI},
    year      = {2022},
    }

Have a nice day!
-Weijian

link has expired

link has expired

Thanks for the reminder. I have fixed it. OneDrive notices me "Your organization's policy requires this link to expire after 30 days". I will find out a way to maintain the link.
Regards,
Weijian

Hi. Would it be possible to refresh the link again? It seems that the link has expired again. Thank you.

Hi. Would it be possible to refresh the link again? It seems that the link has expired again. Thank you.

Thanks. I have refreshed, I will use google drive later. Best, Weijian

Just refreshed, sorry for late response (struggling with CVPR...)


epoxy: add mesa to libepoxy runpath as fallback

Missing runtime dependency: libepoxy dlopen()s libEGL / libGL but didn't have mesa in its runpath
-> error unless lib is already open or in LD_LIBRARY_PATH

change expoxy dependency from mesa (should be avoided) to mesa_noglu

Motivation for this change
libepoxy dlopen()s libs from mesa, so mesa should be in its runpath as a fallback.
This change has no effect if the lib is already open or found in LD_LIBRARY_PATH, which is the case in most applications (or else this bug would have surfaced earlier...).
But it will retrigger a number of rebuilds.
I ran across this bug when trying to run qemu built with opengl/virglrenderer support.
Things done

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

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

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

just out of curiousity: what triggered three review requests? is that intended behavior or did I do sth wrong?

@xeji that's just GitHub that has issues with the automatic review requests feature in conjunction with changes base. It happens a lot, unfortunately.

@GrahamcOfBorg eval

just noticed v1.3.1 was over 2.5 years old. time to update...

This breaks epoxy on darwin:
patchelf: command not found

oops...  will make a fix limiting the patchelf to linux.


Nodegit operations prevent process from exiting automatically.

I'm finding that when I use nodegit, I have to explicitly call process.exit() to get my process to exit. I apologize in advance if I am missing something fundamental or simple.
The sample program below never exits for me (I put the call to .free() in for good measure):
const NodeGit = require("nodegit");

NodeGit.Clone("https://github.com/nodegit/nodegit.git", "no-progress")
.done(function (repo) {
    repo.free();
    console.log("I'm done");
});

There must be something in the creation/execution of an async action that's preventing the process from closing down. We'll have to dig into this.

@bpeabody I can't get this code to hang for me. Does this still break for you?

Here's exactly what I'm doing:
mkdir test
cd test
npm install nodegit
printf "const NodeGit = require('nodegit');\n\n NodeGit.Clone('https://github.com/nodegit/nodegit.git', 'no-progress').done(function (repo) { repo.free(); console.log('I am done'); });" >> test.js
node test.js

And no hang :(

I think I hadn't actually flubbed the upgrade and it's no longer happening for me.

:+1:

OMFGGGGGGGGGGGG!!!

Also I swear that the reaction button wasn't there when I typed that....

lol I think the announcement and rollout happened as you typed it


[req] Piqi-RPC errors with HTTP 200 instead of 500

This is simply a note to keep track of a request done via Google Groups Piqi: http://groups.google.com/group/piqi/browse_thread/thread/b43dbd62d19fb27f
Piqi-RPC should recognize "X-Piqi-RPC-return-http-status-via-header" request header. When it it is present and the value is set to "true", Piqi-RPC should return HTTP 200 and include  "X-Piqi-RPC-http-status" header to the response header with the actual HTTP code. This is only done for errors that are defined in the interface, not for other internal errors or 4xx errors.

I am now implementing this feature


Suggestion NPC update

Just a suggestion. You may want to add the "enableGroupMembershipPref": true  in industriesSettings. This seems to be the model that the docs rely on when creating household relationships. I think that you would also need to include the feature "ContactsToMultipleAccounts".
Also, thanks a ton for this template.  Super appreciate it!

Thanks for the suggestions. It's good to hear it was helpful.


fixes panic when terminal was resized

Some examples panicked when the terminal was resized. The canvas example also panicked when the ball hit the border of the canvas.

I knew some of the examples had this problem but I've never taken the time to investigate it. Thanks for the work.