How many data can we use in order to training?

Thank you for your code.
I saw in the Data folder, have only two "image_A.nii" and "image_B.nii". Allows me have question:

With Image Registration problem, we only use two image for training step ( python Train_cLapIRN.py). Can we use a lot data for training step?. For example, we use 100 image .nii for the training step.
Thank you.

The "image_A" and "image_B" are attached for demonstrating the proposed method. The provided pretrain model has trained with the OASIS  dataset. In fact, you should train your model with as much data as possible (to increase the generalizability of your model). Depending on the application, i.e. inter-/intra-patient registration, you may need to modify the class Dataset_epoch in Functions.py for training.

In short, yes, you can and you should train c-LapIRN with a lot of data.
The "image_A" and "image_B" are attached for demonstrating the proposed method. The provided pretrain model has trained with the OASIS  dataset. In fact, you should train your model with as much data as possible (to increase the generalizability of your model). Depending on the application, i.e. inter-/intra-patient registration, you may need to modify the class Dataset_epoch in Functions.py for training.

Thank you @cwmok . I am trying do that.

download the OASIS dataset
do training step.

I will respond the result.

@tphankr
Please remember to preprocess the data before you use it in training.
Or you may download the preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md
Make sure your input data has an intensity range within [0, 1], similar to the attached "image_A" and "image_B".

@tphankr
Please remember to preprocess the data before you use it in training.
Or you may download the preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md
Make sure your input data has an intensity range within [0, 1], similar to the attached "image_A" and "image_B".
Looking forward to seeing your result! :)

Thank you for your advises
The first step, I will download the preprocessed OASIS from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md.
Thank you.

@tphankr
Please remember to preprocess the data before you use it in training.
Or you may download the preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md
Make sure your input data has an intensity range within [0, 1], similar to the attached "image_A" and "image_B".
Looking forward to seeing your result! :)

Thank you for your advises
The first step, I will download "the preprocessed OASIS from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md."
Thank you.

Thank you.
I downloaded the OASIS from  @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md.".
And it includes : + neurite-oasis.2d.v1.0 folder   ( 2D**)
+ neurite-oasis.v1.0      folder    ( )
Each folder has 457 folder that has .nii.gz file.
I take a pictures for () to make it easier for us to imagine.

And then I typed  python Train_cLapIRN.py --datapath ../neurite-oasis.v1.0/OASIS_OAS1_0001_MR1/
or I also tried to typed for (2D**)  python Train_cLapIRN.py --datapath ../neurite-oasis.2d.v1.0/OASIS_OAS1_0001_MR1/  (3)**
They had the same error "valueError:  num_samples should be a positive integer value, but got num_samples=0". I understand, obviously the OASIS_OAS1_0001_MR1 folder had aligned_norm.nii.gz, aligned_orig.nii.gz, orig.nii.gz.....Why did I type (3****)**  have the error. Please guide me. Thank you @cwmok and everyone.

Thank you.

@tphankr
I guess the error is from the naming convention. In our code, (line 78, 184 and 296 in Train_cLapIRN.py) names = sorted(glob.glob(datapath + '/*.nii')), we select all .nii files within the folder datapath. Change "*.nii" to "*.nii.gz" may solve your problem.

Thank you very much for your help.
1) Now I faced the error: "RuntimeError: Sizes of tensors must match except in dimension 2. Got 160 and 256."
I thought all day but can not solution this problem. Please help, thank you.

Can you help me understand more about the preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md. Will we traing with all 12 files ( aligned_norm.nii.gz; aligned_orig.nii.gz; ....orig.nii.gz; ......)  or training only with the files ( norm.nii.gz; orig.nii.gz) ?
as below following:

I also recall the order folders in preprocessed OASIS dataset from @adalca:
I saw in these folder have many file, like this:

With OASIS_OAS1_0001_MR1 folder:

And with OASIS_OAS1_0002_MR1 folder:

Thank you @cwmok .

@tphankr
You don't need all the ".nii.gz" data in each case to train the model. You only need the "aligned_norm.nii.gz" from each case in order to train your own model. I will show you how to train with your dataset step by step.
Step 1: Change --datapath to "../neurite-oasis.v1.0".
Step 2: Change names = sorted(glob.glob(datapath + '/*.nii')) in lines 78, 184 and 296 to names = sorted(glob.glob(datapath + '/*/aligned_norm.nii.gz')). This will create a list of path with "aligned_norm.nii.gz" in each case.
Step 3: Change Dataset_epoch(names, norm=False) to Dataset_epoch(names, norm=True) in lines 93, 198 and 313. This will enable the min-max normalization in the data generator.
This should be able to train the model without breaking the file structure of the preprocessed dataset.
For the details of the preprocessed dataset, you may refer to the description in https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md.
Look forward to seeing your results.

Thank you very much for your helps. I am going try learning hard.
I did the training step, thank you @cwmok. Your code is trained with dataset from preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md. The solution is written at bottom.
Allows me have share some my opinion. Thank you very much.
Question1) We only need to do with the "aligned_norm.nii.gz" file in each foder (OASIS_OAS1_0001_MR1, OASIS_OAS1_0002_MR1, ....; all file is 457 folder) in order to have losses in Model/Stage folder and then we forword to test step, as following:
.
When we do the next test step, we will have the results in your paper:
.
*******>      The next my target, I try to follow your papers and run the code in oder to have some base-line results of Image Registrtion problem:
                 + Conditional Deformable Image Registration with Convolutional Neural Network
                 + Fast Symmetric Diffeomorphic Image Registration with Convolutional Neural Networks

                       ################ The Solution      ##################

Solution for the code training : 1) I followed your steps carefully.
2) And need change  the shape at from the line 382 to the line 384 because the shape of aligned_norm.nii.gz in each folder that downloads from preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md    is 160 x 192 x 224.

#################################################
Thank you @cwmok. Have a nice day to you.

Thank you @cwmok.
Now the code was training on three day ago,  with preprocessed OASIS dataset from @adalca at https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md. Thank you @cwmok.
 It's been three day but the code still hasn't finished runing. **Allow me ask, when do the code train finishly?** I want to change to the test step in order to have the result.
    + The preprocessed OASIS dataset has 457 folder. In each folder has many file ( aligned_norm.nii.gz, aligned_orig.nii.gz, ..., aligned_orig...). The code is training with aligned_norm.nii.gz file in each folder.
   + My computer: + GPU ( 1080 ti, 12GB)
   + the "start channel"  is 4 ( because memory is outed so I changed to 4)

Thank you @cwmok.

@tphankr
The training will be completed when the number of steps is reached "--iteration_lvl3". By default, --iteration_lvl3 is set to 60000. The training speed is subject to many factors, e.g., the spatial resolution of your data, model complexity, number of iteration, hardware and data complexity etc. In our experiment, we centre crop the data and use the default parameters of the program. One complete training should take ~28 hours with an Nvidia Titan RTX GPU and Intel Core (i7-4790) CPU.

@tphankr
The training will complete when the number of steps reaches "--iteration_lvl3". By default, --iteration_lvl3 is set to 60000. The training speed is subject to many factors, e.g., the spatial resolution of your data, model complexity, number of iteration, hardware and data complexity etc. In our experiment, we centre crop the data and use the default parameters of the program. One complete training should take ~28 hours with an Nvidia Titan RTX GPU and Intel Core (i7-4790) CPU.

Thank you @cwmok. I saw it in the table 1,  I will try to learn hard to have the base-line results.
I am waiting for the training step completely and change to the next test step, now

My computer has been training for almost 3days. My computer: + Nvidia GeForce  GTX 1080 Ti, 12GB andn Intel Core ( i9-10900K).
Allows me ask:
I saw in the "Test_cLapIRN.py", I did see the coding compute the  DSC, std(|J| phi), %std(|J phi|) of Table 1. Where can I find them in order to computer these coefficients?

The test file:

Thank you, @cwmok

Thank you @cwmok .
Yeah...the traning step have just completed with around 48 hours on my computer.

Please help me the next step.
I am wondering the remaining what files in each folder of preprocessed OASIS dataset,
1)  which files should be used for the test step ?
  I am also trying the testing step with two files ( fixed: orig.nii.gz; moving: norm.nii.gz), as below following but I am not sure true. I changed the link of "fixed"  and "moving" in the Test_cLapIRN.py, as following:

And I typed:

Thank you, @cwmok

@tphankr

Where can I find the files in order to compute these coefficients?

We didn't release the evaluation code. You may need to implement it by yourself. For your reference, Dice score at https://en.wikipedia.org/wiki/Sørensen–Dice_coefficient and Jacobian matrix at https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant.

Which files should be used for the test step because have many files in each folder?

It seems you are confusing with the concept of image registration and the OASIS dataset. For image registration, I suggest you revisit the great tutorial of VoxelMorph in https://colab.research.google.com/drive/1WiqyF7dCdnNBIANEY80Pxw_mVz4fyV-S?usp=sharing. For the OASIS, as I mentioned earlier, the details are well-described in https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md. In short, the preprocessed OASIS dataset provided >400 cases and are separated by different folders. Each folder contains raw image in the scanner and template space. Throughout the training, your trained model already learnt how to register images in template space and your goal is to register all images in template space. For the slice_*.nii.gz files, it contains the anatomical segmentation maps of each case, which can be used to evaluate the trained model.
Also, if you are confusing about the experiment/the concept of deep learning-based image registration method, please also check out the pioneering work on image registration in https://arxiv.org/abs/1802.02604.

Thank you @cwmok.
Thank you for your response well. I try to read your comment again and again ( papers,....) and follow your advice.
Thank you @cwmok .

Which files should be used for the test step because have many files in each folder?

It seems you are confusing with the concept of image registration and the OASIS dataset. For image registration, I suggest you revisit the great tutorial of VoxelMorph in https://colab.research.google.com/drive/1WiqyF7dCdnNBIANEY80Pxw_mVz4fyV-S?usp=sharing. For the OASIS, as I mentioned earlier, the details are well-described in https://github.com/adalca/medical-datasets/blob/master/neurite-oasis.md. In short, the preprocessed OASIS dataset provided >400 cases and are separated by different folders. Each folder contains raw image in the scanner and template space. Throughout the training, your trained model already learnt how to register images in template space and your goal is to register all images in template space. For the slice_*.nii.gz files, it contains the anatomical segmentation maps of each case, which can be used to evaluate the trained model.
Also, if you are confusing about the experiment/the concept of deep learning-based image registration method, please also check out the pioneering work on image registration in https://arxiv.org/abs/1802.02604.

Thank you @cwmok.
These weeks, I followed your advice ( tutorial of VoxeMorph and read the paper). I knew, when we do the test step, we only use two image ( the Moving image and the Fixed image). For example, I typed "python Test_cLapIRN.py --reg_input 0.41" and had the results, as following:

In this time, I had the image registration results  of norm.nii.gz (fixed image) and norm.nii.gz ( moving image) with the first folder of OASIS dataset. I will do the test step with orthers folder, right?
.
Please allow me ask:
Question1: I had the image registration results  of norm.nii.gz (fixed image) and norm.nii.gz ( moving image) with the first folder of OASIS dataset. I will do the test step with orthers folder, right?
Question2: Now, I have a dataset like this ( 2D image with .tif). Does your code use to train with 2D image? Can you guide me the code in order to do with a 2D image (.tif)?

Thank you @cwmok .

@tphankr

Question1: I had the image registration results of norm.nii.gz (fixed image) and norm.nii.gz ( moving image) with the first folder of OASIS dataset. I will do the test step with orthers folder, right?

No. In our inter-patient brain registration experiments, we register the norm.nii.gz in each case to a selected atlas. For example, Fixed scan = OASIS_OAS1_0001_MR1/norm.nii.gz, moving scan = OASIS_OAS1_0002_MR1/norm.nii.gz. For details, please refer to our paper.
In your screenshot, you are registering the same brain scan in the original and template space, which is not what we did in our paper.

Question2: Now, I have a born scan dataset like this ( 2D image with .tif). Does your code use to train with 2D image? Can you guide me the code in order to do with a 2D image (.tif)?

Currently, this code supports 3D image registration only. If you want to apply it on 2D image registration, you need to change some codes such as the deformation grid size, the data size permutation, conv3D -> conv2D etc, which may not be trivial if you are new to Pytorch and image registration.

@tphankr

Question1: I had the image registration results of norm.nii.gz (fixed image) and norm.nii.gz ( moving image) with the first folder of OASIS dataset. I will do the test step with orthers folder, right?

No. In our inter-patient brain registration experiments, we register the norm.nii.gz in each case to a selected atlas. For example, Fixed scan = OASIS_OAS1_0001_MR1/norm.nii.gz, moving scan = OASIS_OAS1_0002_MR1/norm.nii.gz. For details, please refer to our paper.
In your screenshot, you are registering the same brain scan in the original and template space, which is not what we did in our paper.

Question2: Now, I have a born scan dataset like this ( 2D image with .tif). Does your code use to train with 2D image? Can you guide me the code in order to do with a 2D image (.tif)?

Currently, this code supports 3D image registration only. If you want to apply it on 2D image registration, you need to change some codes such as the deformation grid size, the data size permutation, conv3D -> conv2D etc, which may not be trivial if you are new to Pytorch and image registration.

Thank you very much @cwmok.
The next, I am goning to read your paper carefully.
I will try do learn hard.
Thank  you @cwmok

Dear @cwmok ,
I have been reading your paper. The last time, you trained already and have some results to understand. Allow me ask, Do we need the label when run the code?
For example:
Allows me ask and help me. I downloaded the dataset that have the masks ( labels) folder and input folder from the Learn2Reg challenge.

I download and have like this:

How to apply in your code? Thank you very much.
@ I am following you in order to learn so I don't use these results to submit to this challenge for this year. I only want to learn about Image Registration problem. Please help and guidance me.

@tphankr

Allow me ask, Do we need the label when run the code?

This is optional. The mask can be used in the loss function as stated in A-LapIRN. or simply drop it away.

How to apply in your code? please help me. Thank you very much.

If you want to apply c-LapIRN to intra-patient lung registration, you may want to read our workshop paper A-LapIRN and follow these steps:

(Optional) Downsample the data. In the challenge, they only need solutions with half-resolution. This also helps to reduce the training complexity.
Create your data generator for intra-patient registration. In contrast to inter-patient brain registration, this dataset requires registration between the exhale and inhale lung scans from the same patient.
2.1 Preprocess the data with the min-max normalization within the custom data generator and make sure that the background intensity is equal to 0. (!!! very important)
Data augmentation. As the number of training data is limited, you need to augment your training data in order to improve the generalize ability of the model.

Currently, I have a hectic schedule with the journal paper and other projects. I may not be available to give you a concrete example of how to apply c-LapIRN to this dataset. Yet, I will definitely share the tips and tricks if I have time to participate in this year challenge.
Stay tuned.

Thank you very much @cwmok with your useful advises.
I will study your advice carefully and study day by day to learn and do it. I know I'm too weak to understand your advice but I'll try.
My plans: + follow your workshop paper A-LapIRN and your advises.
+  and beside I aslo find the code that have apply intra-patient lung registration to I follow.
Thank you @cwmok.

@tphankr

I searched about the min-max normalization but I also don't how do I do this step. Thank you very much.

Here is it.
def imgnorm(img):
    max_v = np.max(img)
    min_v = np.min(img)
    norm_img = (img - min_v) / (max_v - min_v)
    return norm_img

Also, please also check out the windowing operation at this link.

Thank you @cwmok,
All this week, I trained your code with Train_LapIRN_diff.py file with preprocess the data with the min-max normalization of task 3 of Learn2Reg ( sorry the last time, I said wrongly task2). Now, I had bad results, as following:
+In order to do the preprocess the data with min-max normalization**( "2.1 Preprocess the data with the min-max normalization within the custom data generator and make sure that the background intensity is equal to 0. (!!! very important)")** . I did this idea by setting norm=True on the line 139 and 163 in the class Dataset_epoch and class Predict_dataset of the Function.py file, right?

Now, I have the flow and moving result of Fixed and Moving image as following, I do not know how is the bad results. Please guide me more ( I also tried trainly with norm=False but the same ). Thank you @cwmok.

Thank you @cwmok.

Hi @tphankr,
This task is a more difficult and challenging task due to its limited training data and large displacement. I haven't tried the diffeomorphic version of LapIRN on this task. All the details about how to ace this task can be found in my workshop paper "Large deformation image registration with anatomy-aware Laplacian pyramid networks"
Here are some tips for you to avoid the pitfalls in this task:

I downsample the training data to half-resolution (96, 80, 128) in order to speed up the training time and increase the number of feature maps (start_channel=28).
You will need larger smoothness regularization, i.e., --smooth set to [2, 4].
You forgot the CT windowing. It helps to make sure that the background intensity is equal to 0 after min-max normalization. Print the preprocessed image out using Matplotlib to double-check your preprocessed image.
Data augmentation or supervised loss (e.g., Dice loss of anatomical structure, see [VoxelMorph])(https://arxiv.org/abs/1809.05231) are necessary for training on a small dataset.
Use Train_LapIRN_disp.py instead of Train_LapIRN_diff.py. The method parameterized with displacement field is simpler and more stable in general.

To reiterate, this task is difficult compared to brain registration. You may want to try our method on brain registration first before trying it on this task.

Thank you for your nice reply.
Yes, I will start again with brain registration (the preprocessed OASIS from @adalca at .") and then do this task. Now I continue again...
I tried to learn CT windowing software. Is it software that we upload images and then the background intensity output  is downloaded equal to 0? I will try again and again because now the upload file is errored the first nii.gz file of task 3 of Learn2Reg 2020. Thank you @cwmok.

Thank you @cwmok.

Dear @cwmok,
Can you guide me something more about the step 3? Becasue, I lost my way in this step.
"You forgot the CT windowing. It helps to make sure that the background intensity is equal to 0 after min-max normalization. Print the preprocessed image out using Matplotlib to double-check your preprocessed image."
I still have bad result for task3.

Thank you, @cwmok .

@tphankr
I decided to release a prototype using the preprocessed OASIS dataset so that everyone new to image registration can easily build their own image registration method using LapIRN. I will release it very soon.
For the CT windowing technique, the goal is to increase the contrast of the targeting anatomical structures. It can be achieved using the NumPy clip function by setting an appropriate intensity range.
There are too many pitfalls in image registration. I recommend you try the classic VoxelMorph registration method to get you familiar with the image registration problem. Then, you might follow the coming prototype to modify the code to adapt to any tasks.

@cwmok,
Thank you very much @cwmok. I continous...

Hi @tphankr,
I have updated the code and added an example using the preprocessed OASIS dataset without cropping/resize. You may want to check out the section "(Example) Training on the preprocessed OASIS dataset without cropping" in the "README.md" file.

Hi @tphankr,
I have updated the code and added an example using the preprocessed OASIS dataset without cropping/resize. You may want to check out the section "(Example) Training on the preprocessed OASIS dataset without cropping" in the "README.md" file.

Thank you very much, @cwmok . I am studying and learning from your comments.
Thanks.


Position is off by 2 characters with some strings

Hello there,
First of all, thanks for making this library. It's great to be able to emit high quality messages with such ease.
While working on a side project of mine, I found that some characters combination seems to be confusing the library. Here is an example of such error, with the rust code to reproduce below. Hopefully it's enough to help find the root cause.
note: position is correct
  ┌─ Float.fun:1:1
  │
1 │ 1.602e−19 == (1.602 * 10^-19)
  │ ^^^^^ 1.602

bug: position is off by 2 characters
  ┌─ Float.fun:1:9
  │
1 │ 1.602e−19 == (1.602 * 10^-19)
  │         ^^              ^^ 19
  │         │
  │         ==

Test for the above output:
#[cfg(test)]
mod test {

    use codespan_reporting::diagnostic::{Diagnostic, Label};
    use codespan_reporting::files::SimpleFile;
    use codespan_reporting::term::termcolor::{ColorChoice, StandardStream};
    use codespan_reporting::term;

    #[test]
    fn fail_on_negative_exponential() {

        let file = SimpleFile::new("Float.fun", "1.602e−19 == (1.602 * 10^-19)");

        // Error reporter
        let writer = StandardStream::stderr(ColorChoice::Always);
        let config = codespan_reporting::term::Config {
            tab_width: 2,
            ..codespan_reporting::term::Config::default()
        };

        // diagnostic
        let diag = Diagnostic::note()
            .with_message(format!("position is correct"))
            .with_labels(vec![
                Label::primary((), 0..5).with_message("1.602"),
            ]);

        let diag2 = Diagnostic::bug()
            .with_message(format!("position is off by 2 characters"))
            .with_labels(vec![
                Label::primary((), 10..12).with_message("=="),
                Label::primary((), 26..28).with_message("19"),
            ]);

        term::emit(&mut writer.lock(), &config, &file, &diag).unwrap();
        term::emit(&mut writer.lock(), &config, &file, &diag2).unwrap();
    }
}

Hmmm, very strange! Might be something messing with the character width calculation? Eg. using unicode-width? 🤔

This is a user error:
I discovered that the first minus is not U+002D HYPHEN-MINUS, what one would get from pressing -. Instead it is U+2212 MINUS-SIGN. Since codespan uses byte indices (see documentation here) and this character takes 2 bytes in UTF-8, the indices are off. I copied your test case and only replaced the character to its usual form and it worked fine.
let file = SimpleFile::new("Float.fun", "1.602e-19 == (1.602 * 10^-19)");

note: position is correct
  ┌─ Float.fun:1:1
  │
1 │ 1.602e-19 == (1.602 * 10^-19)
  │ ^^^^^ 1.602

bug: position is off by 2 characters
  ┌─ Float.fun:1:11
  │
1 │ 1.602e-19 == (1.602 * 10^-19)
  │           ^^              ^^ 19
  │           │
  │           ==

I've looked a little but it doesn't seem like it is actually unicode-width, for instance the following (unicode-width) code all works fine, and the lines at https://github.com/brendanzab/codespan/blob/master/codespan-reporting/src/term/renderer.rs#L683 hitting the MINUS-SIGN is unwrap'ing Some(1) for that character.
{
    let teststr = "1.602e−19 == (1.602 * 10^-19)";
    let teststr2 = "1.602e−19 ";
    let teststr3 = "−";
    assert!(UnicodeWidthStr::width(teststr) == 29);
    assert!(UnicodeWidthStr::width(teststr2) == 10);
    assert!(UnicodeWidthStr::width(teststr3) == 1);
    assert!(UnicodeWidthChar::width('−').unwrap() == 1);
}

Well, I wouldn't have though of checking for a different minus sign. Thanks @Johann150 and sorry for the boggus report.

No worries! Thanks, it could have been a bug! :)

Oh, and thanks for the nice bug report, it was really well written!


Add retries to tasks that commonly fail in CI

These tasks have been seen to fail:

stackhpc.pulp.pulp_repository : Sync container remotes into repositories

stackhpc.pulp.pulp_repository : Setup container remotes]

I added repository retries for consistency.

Released in v0.5.3: https://github.com/stackhpc/ansible-collection-pulp/releases/tag/v0.5.3

Will need an update to stackhpc-release-train to pull it in.


EventNotification support for MVC

We want to add support for events via Microsoft.Framework.Notification to various components in MVC that can be consumed in process by diagnostic tools.
To start with we want to include data/events with known tooling experiences built around them. This isn't a complete list, but includes things we can start on.
Routing:

Each route should have an event for success/failure
Include HttpContext
Include information about the route being executed
Include RouteData

Action Selection:

Event for Actions Matching Route Values (include HttpContext, include RouteData, include ActionDescriptors)
Event for Actions Matching Constraints (include HttpContext, include RouteData, include ActionDescriptors)
Event for final action selected (include HttpContext, include RouteData)

Action Invoker:

Event for before/after a filter (include ActionContext, Filter, data from context Exception, Cancelled, etc)
Event for invoking action (include ActionContext, Controller, MethodInfo, Arguments)
Example: https://github.com/aspnet/Mvc/issues/1629#issue-49954961

Model Binding:

Needs design - see: https://github.com/aspnet/Mvc/issues/1566#issuecomment-64063899
Goal here would be to include what data is bound to each model value/property and what data source it came from. This might require enhancing ValueProviderResult

Content-Negotation/ObjectResult:

Events for the content type chosen/conneg failed. Include inputs (Accept, Content-Type, Formatters, Model-Type, Result)

View Engine:

Event for view search - include ViewEngine, Search paths, values used
Example: https://github.com/aspnet/Mvc/issues/1563#issuecomment-64064131

Startup:

Event for action discovery - include ActionDescriptors

/cc @avanderhoorn - this is where we're going to get started

Added some data points for:
Action Method begin/end
Action Result begin/end
View Found (ViewResult)
View Not Found (ViewResult)

@rynowak also brought this another use for this in a hallway discussion - we could use event notification instead of the interface contract we use for BrowserLink \ page instrumentation. This would require raising events for

View rendering - with details of view kind (partial \ full), path,  and rendered view contents
Layout rendering
Templates?

Will need to speak to @jodavis to figure out the feasibility of doing this.

For Microsoft.AspNet.Mvc.ViewResultViewFound, is it possible to get the location where it found the View?
Also is it possible to get a quick one line description of each event and what you should be using it to determine?
Here is a template that might make it faster to fill out if it helps?

BeforeAction - Microsoft.AspNet.Mvc.BeforeAction

Use when: ...
Can determine: What route was matched to a given Action
Provides access to: ActionDescriptor , HttpContext, RouteData

AfterAction - Microsoft.AspNet.Mvc.AfterAction

Use when: ...
Provides access to: ActionDescriptor , HttpContext

BeforeActionMethod - Microsoft.AspNet.Mvc.BeforeActionMethod

Use when: ...
Can determine: What objects (i.e. the finial model binding result) where passed into a given Action
Provides access to: ActionContext, ActionArguments

AfterActionMethod - Microsoft.AspNet.Mvc.AfterActionMethod

Use when: ...
Provides access to: ActionContext, ActionResult

ViewResultViewNotFound - Microsoft.AspNet.Mvc.ViewResultViewNotFound

Use when: ...
Can determine: The locations that the view engine searched for the view
Provides access to: ActionContext , Result, ViewName, SearchedLocations

ViewResultViewFound - Microsoft.AspNet.Mvc.ViewResultViewFound

Use when: ...
Can determine: The view data that is being passed to a given view
Provides access to: ActionContext , Result, ViewName, View

IView is passed to Microsoft.AspNet.Mvc.ViewResultViewFound and includes the view path.

@rynowak Great!

We've done all planned work here for beta8. Any new requests will be tracked separately.


Add spec update

Adds capability to check for spec updates with git fetch and a git log comparison. If an update is found, the user is asked if they want to pull the update from the remote repository.
If the data directory is not found, the user is asked if they want to download specs. If yes, it asks which class.

Coverage decreased (-0.2%) to 65.102% when pulling e0b02d219d7deed5db79bc6b173f21562528a128 on add-spec-update into f628ed1e517ebd5d3f7982a3981a25bc825f909a on master.

My initial thought is that we should just automatically pull the updates, instead of asking. Thoughts?

That probably would be better. If they don't want the updates, they can add the skip update check flag.

Agreed. I'll probably take a closer look at the rest of this PR later today, but it looks good so far!

For the future, @maxnz, I'd prefer it if we kept issues open until PRs were merged - GitHub will automatically close any issue that's attached to a PR.
You can mark an issue for closure by saying "Closes #7" or whatever in the original post.

Understandable. I think one was closed because I created a PR and linked them but then closed that PR because the changes were included here.


feat: support for data v2 packages.xml and migration

Description

Supports data v2, upgradable from v1. I will not implement integrity in this PR.
This PR depends on the following PR(s).

#243
#244

Related Issue

#245

Motivation and Context

How Has This Been Tested?

It works fine with a clean install.

Update from v1

The URL from which data is retrieved has been updated.
The cache of v1 will be deleted.
Packages added by the script installation feature not listed in the table will be correctly inherited.
The repository URL in apm.json is updated.
The id in the apm.json will be updated to that of v2.
Version numbers are added to electron-store and apmJson.

Screenshots (if appropriate):
Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I would like to make the following changes:

Do not initialize dataURL.extra. Continue to make packages_list.xml available.
If dataURL.main is not JsDeliver, a dialog will appear.

If "Use default data repository" is pressed, initialize dataURL.main and start apm (current behavior).
If "Quit apm" is pressed, quit apm.

Perform id conversion transparently during XML parsing.

I made the changes mentioned in the comments above.
Introduced a new library (electron-prompt) to emit a text dialog.


NoSuchMethodError: Library.loadNative in imm with jdk8 branch

java.lang.NoSuchMethodError: org.lwjgl.system.Library.loadNative(Ljava/lang/String;)Lorg/lwjgl/system/SharedLibrary;
	at imgui.windowsIme.imm.<clinit>(imm.kt:15)
	at imgui.ImGuiStaticFunctions$imeSetInputScreenPosFn_Win32$1.invoke(static funcs.kt:1082)
	at imgui.ImGuiStaticFunctions$imeSetInputScreenPosFn_Win32$1.invoke(static funcs.kt)
	at imgui.imgui.imgui_main$DefaultImpls.endFrame(main.kt:347)
	at imgui.ImGui.endFrame(imgui.kt:95)
	at imgui.imgui.imgui_main$DefaultImpls.render(main.kt:423)
	at imgui.ImGui.render(imgui.kt:95)

I am trying to get the library to work with the JDK 8
here is my config: (gradle 5.5)

project.ext.lwjglVersion = "3.2.3"
project.ext.jomlVersion = "1.9.11"

def natives = ["windows", "linux", "macos"]
def lwjgl = ["", "-glfw", "-opengl", "-stb", "-jemalloc", "-openal"]
def imgui = ["gl", "core", "glfw"]

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
    implementation platform("org.lwjgl:lwjgl-bom:$lwjglVersion")
    lwjgl.each { lib ->
        implementation ("org.lwjgl:lwjgl$lib:$lwjglVersion") {
            version {
                strictly lwjglVersion
            }
        }
        natives.each { os ->
            runtimeOnly ("org.lwjgl:lwjgl$lib:$lwjglVersion:natives-$os") {
                version {
                    strictly lwjglVersion
                }
            }
        }
    }
    implementation ('com.github.kotlin-graphics.glm:glm:jdk8-SNAPSHOT')
    implementation ('com.github.kotlin-graphics:gln:jdk8-SNAPSHOT') {
        exclude group: 'com.github.kotlin-graphics', module: 'gli'
    }
    implementation('com.github.wicpar:gli:jdk8-SNAPSHOT') {
        exclude group: 'com.github.kotlin-graphics', module: 'kool'
    }
    implementation('com.github.kotlin-graphics:uno-sdk:jdk8-SNAPSHOT') {
        exclude group: 'com.github.kotlin-graphics', module: 'gli'
        exclude group: 'com.github.kotlin-graphics.uno-sdk', module: 'uno-awt'
        exclude group: 'com.github.kotlin-graphics.uno-sdk', module: 'uno-vk'
    }
    imgui.each {
        compile ("com.github.kotlin-graphics.imgui:imgui-$it:jdk8-SNAPSHOT") {
            exclude group: 'com.github.kotlin-graphics.uno-sdk', module: 'uno-awt'
            exclude group: 'com.github.kotlin-graphics.uno-sdk', module: 'uno-vk'
            exclude group: 'com.github.kotlin-graphics', module: 'gli'
            exclude group: 'com.lwjgl', module: 'gli'
        }
    }
    implementation "org.joml:joml:${jomlVersion}"
    implementation group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    implementation "com.code-disaster.steamworks4j:steamworks4j:1.8.0"
}

it's quite tricky, the dependency com.github.kotlin-graphics:gli:jdk8-SNAPSHOT did not resolve so i had to do a fork,
Some other dependencies of the jdk8 branch had non JDK8 depenencies so i had to add them manually as well

I can add you as well, so you can take care of it, if you want :)

I got it to work, there was a lwjgl version mismatch between the different jdk8-snapshot dependencies. I don't know how to do proper releases with jitpack, especially from a branch.

You simply push, copy the commit id, paste as a dependency, refresh, jitpack will start building and deliver as soon as possible

yes i see, i mean make a proper release like "1.0.0-jdk8" so i don't have to put the commit id as dependency, or have the jdk8-SNAPSHOT update and break the dependency chain.
I got it barely to work, i am in quite a rush on another project as well, i'll look into it once i'm done with that.

publish a release here on GH and put the dependency on the tag (you can check everything here)

I got it barely to work, i am in quite a rush on another project as well, i'll look into it once i'm done with that.

I can start adding you to the needed projects, so you can immediately be operative when you'll look into that, if you want

that'd be great, thanks


Using  to add Implementation Notes

My understanding is that the <remarks> section can contain Markdown like so:
<remarks>
# Heading 1
## Heading 2
### Heading 3
This is a paragraph
- This is a bullet point
This is some code
</remarks>

However, I can't get anything after the heading to render as it's meant to be:

What version of Swashbuckle are you using? This looks like the behavior that was fixed in beta902, or more specifically https://github.com/domaindrivendev/Ahoy/commit/0fddd538b793bfb39c0f155b2aeef69902f04cd4.

I had not spotted the new version.


FontAwesomeImage does not render in .NET 6.0

Describe the bug
When using .NET 6.0 the FontAwesomeImage control does not render any icon. In .NET 5.0 it works perfectly fine.
To Reproduce
Steps to reproduce the behavior:

Create .NET 6.0 WPF project
Add FontAwesomeImage control with any icon
Build

Expected behavior
The control renders the selected icon
Desktop (please complete the following information):

OS: Windows
VS Version: vs2022
.NET Version: net6.0

Will be fixed with the next nuget release


GEOMESA-2576 Include user data in SpatialRDD schemas

SpatialRDD#schema may include user-data
Signed-off-by: 段卫东<EMAIL_ADDRESS>

merged, thank you!

It was my pleasure
| |
dean
|
|
<EMAIL_ADDRESS>|
Signature is customized by Netease Mail Master
On 03/12/2019 20:51, Emilio wrote:
merged, thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Modify error validation to accommodate different error messages from platform

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Abhishk123:x: nneela690You have signed the CLA already but the status is still pending? Let us recheck it.


Bug: Stroke width defines starting and ending position

This progress bar is at 50%
Stroke width of 4:

Stroke width of 16:

Notice how at width 16 the stroke goes beyond the 50% mark (center of house) (kind of like a horseshoe). I'm guessing it's 16px beyond the center 😛 .

Nvm, I was using stroke-linecap: square; while I should have used stroke-linecap: butt;

glad you figured it out!

How do you add an icon into the progress bar ?


solidjs to SolidJs

Description

On the podcast page for SolidJS, the tag reads "Solidjs", but should read, "SolidJS".

Acceptance Criteria

The tags on the SolidJS site reads, "SolidJS".

result

Hey @hdJerry!
I am going to merge this in because I am testing something with the GH actions bot.


Chinese Code Page?

I am trying to print a receipt which contains Chinese words. (Generic Bluetooth thermal printer)
end up the Chinese character just become some weird symbol.
Is there a need to change the code page used by the printer? (Current CP850)

You need to go to capabilities.json -- for me the path was: C:\Flutter\flutter 3.3.1\flutter.pub-cache\hosted\pub.dartlang.org\esc_pos_utils-1.1.0\lib\resources). This is the package file.
The default section looks like this:

And in the default section, add the following in the codePages map:
 "253": "UTF-8",

Now in the file it would look something like this:

after this, go to your flutter code and add this:
    final profile = await CapabilityProfile.load(name: 'default');
    final generator = Generator(PaperSize.mm80, profile);
    bytes += generator.setGlobalCodeTable('UTF-8');

after that add the following package in your pubspec.yaml file:
charset_converter: ^2.1.1

now, do something like this:
bytes += generator.textEncoded(
        await CharsetConverter.encode("UTF-8", 'Size 1 Product 1: 招牌韮黃鍋貼 , Signature: Pork W/ Yellow Chive'),
        styles: const PosStyles(align: PosAlign.left, bold: true));

Remember to use UTF-8 and also remember to use this same encoding setting for your printer:

Hi, if you don't want to bother with that, you can use my fork:
https://github.com/waqadArshad/esc_pos_utils
as:
  esc_pos_utils:
    git:
      url: https://github.com/waqadArshad/esc_pos_utils.git

and if it fixes your issue, please remember to STAR the repo.


[SP-2794] Backport of PDI-8927 - Trans.activeSubtransformations not threadsafe (6.1 Suite)

Changing HM to CHM for synchronization
Separating add/remove/get methods, encapsulating map-implementation
Test written
Concurrent tests from kettle's core project are moved to engine, as they are not running on CI
Checkstyle applied

Backport of https://github.com/pentaho/pentaho-kettle/pull/2679 and https://github.com/pentaho/pentaho-kettle/pull/2688

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local
ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/Trans.java
  engine/src/org/pentaho/di/trans/steps/mapping/Mapping.java
  engine/src/org/pentaho/di/trans/steps/metainject/MetaInject.java
  engine/src/org/pentaho/di/trans/steps/simplemapping/SimpleMapping.java
  engine/src/org/pentaho/di/trans/steps/singlethreader/SingleThreader.java
  engine/src/org/pentaho/di/trans/steps/transexecutor/TransExecutor.java
  engine/test-src/org/pentaho/di/concurrency/ActiveSubTransformationsConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/ConcurrencyTestRunner.java
  engine/test-src/org/pentaho/di/concurrency/ExecutionResult.java
  engine/test-src/org/pentaho/di/concurrency/JobMapConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/JobTrackerConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/PluginRegistryConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/RowMetaConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/StopOnErrorCallable.java
  engine/test-src/org/pentaho/di/trans/steps/simplemapping/SimpleMappingTest.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change:  + 7.14%
Complexity Change:  + 7.69%

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change:  + 1.64%
Line Change:  + 1.97%

org.pentaho.di.trans.step.StepMeta

Instruction Change:  + .19%
Line Change:  + .27%

org.pentaho.di.trans.steps.excelwriter.ExcelWriterStepMeta

Instruction Change:  + .04%

org.pentaho.di.trans.steps.mapping.Mapping

Instruction Change:  + .04%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.18%:small_red_triangle_down:
Complexity Change: -1.35%:small_red_triangle_down:

org.pentaho.di.trans.steps.metainject.MetaInject

Instruction Change:  + .07%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change:  + .07%

org.pentaho.di.trans.steps.simplemapping.SimpleMapping

Instruction Change:  + .20%

org.pentaho.di.trans.steps.singlethreader.SingleThreader

Instruction Change:  + .00%

org.pentaho.di.trans.steps.transexecutor.TransExecutor

Instruction Change: -.07%:small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -.18%:small_red_triangle_down:

org.pentaho.di.trans.Trans

Complexity Change:  + .20%
Instruction Change:  + .10%
Line Change:  + .11%
Method Change:  + .37%

org.pentaho.di.www.CarteObjectEntry

Branch Change:  + 33.33%
Complexity Change:  + 38.46%
Instruction Change:  + 48.57%
Line Change:  + 45.83%
Method Change:  + 50.00%

org.pentaho.di.www.JobMap

Branch Change:  + 37.50%
Complexity Change:  + 40.91%
Instruction Change:  + 47.50%
Line Change:  + 40.00%
Method Change:  + 50.00%

org.pentaho.di.ui.spoon.trans.TransGraph

Instruction Change:  + .00%

Integration test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.step.BaseStep

Branch Change: -.30%:small_red_triangle_down:
Complexity Change: -.18%:small_red_triangle_down:
Instruction Change: -.05%:small_red_triangle_down:
Line Change: -.08%:small_red_triangle_down:

org.pentaho.di.trans.steps.mapping.Mapping

Instruction Change: -.04%:small_red_triangle_down:

org.pentaho.di.trans.steps.metainject.MetaInject

Instruction Change: -.09%:small_red_triangle_down:

org.pentaho.di.trans.Trans

Complexity Change: -.07%:small_red_triangle_down:
Instruction Change: -.00%:small_red_triangle_down:
Line Change: -.00%:small_red_triangle_down:
Method Change: -.55%:small_red_triangle_down:

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/org/pentaho/di/trans/steps/metainject/MetaInject.java. Found 2013. Was expecting 2016

:heavy_exclamation_mark: Copyright year is not the current year on ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java. Found 2015. Was expecting 2016

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/JobMapConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 40

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 41

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/JobTrackerConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertEquals. at Line: 44

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 45

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 46

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 47

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/PluginRegistryConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - java.util.Arrays.asList. at Line: 45

:heavy_exclamation_mark: Using a static member import should be avoided - java.util.Collections.singletonList. at Line: 46

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 47

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 48

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/RowMetaConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertEquals. at Line: 44

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 45

/home/buildguy/project/engine/test-src/org/pentaho/di/trans/steps/simplemapping/SimpleMappingTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertFalse. at Line: 24

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 25

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Matchers.*. at Line: 26

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 27

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.never. at Line: 28

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.times. at Line: 29

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.verify. at Line: 30

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 31

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.doReturn. at Line: 32

@pamval , could you please review this PR?

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local
ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/unit-test -f ui/build.xml clean-all resolve jacoco && ant -Dpentaho.resolve.repo=http://ivy-nexus.pentaho.org/content/groups/approved -Dtestreports.dir=bin/reports/integration-test -f ui/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/Trans.java
  engine/src/org/pentaho/di/trans/steps/getvariable/GetVariableMeta.java
  engine/src/org/pentaho/di/trans/steps/mapping/Mapping.java
  engine/src/org/pentaho/di/trans/steps/metainject/MetaInject.java
  engine/src/org/pentaho/di/trans/steps/simplemapping/SimpleMapping.java
  engine/src/org/pentaho/di/trans/steps/singlethreader/SingleThreader.java
  engine/src/org/pentaho/di/trans/steps/transexecutor/TransExecutor.java
  engine/test-src/org/pentaho/di/concurrency/ActiveSubTransformationsConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/ConcurrencyTestRunner.java
  engine/test-src/org/pentaho/di/concurrency/ExecutionResult.java
  engine/test-src/org/pentaho/di/concurrency/JobMapConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/JobTrackerConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/PluginRegistryConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/RowMetaConcurrencyTest.java
  engine/test-src/org/pentaho/di/concurrency/StopOnErrorCallable.java
  engine/test-src/org/pentaho/di/trans/steps/getvariable/GetVariableMetaTest.java
  engine/test-src/org/pentaho/di/trans/steps/simplemapping/SimpleMappingTest.java
  ui/src/org/pentaho/di/ui/spoon/trans/TransGraph.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -1.64%:small_red_triangle_down:
Line Change: -1.97%:small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Instruction Change:  + .19%
Line Change:  + .27%

org.pentaho.di.trans.steps.getvariable.GetVariableMeta

Branch Change:  + 22.50%
Complexity Change:  + 31.48%
Instruction Change:  + 21.55%
Line Change:  + 34.46%
Method Change:  + 44.12%

org.pentaho.di.trans.steps.mapping.Mapping

Instruction Change:  + .04%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change: -1.18%:small_red_triangle_down:
Complexity Change: -1.35%:small_red_triangle_down:

org.pentaho.di.trans.steps.metainject.MetaInject

Instruction Change:  + .07%

org.pentaho.di.trans.steps.simplemapping.SimpleMapping

Instruction Change:  + .20%

org.pentaho.di.trans.steps.singlethreader.SingleThreader

Instruction Change:  + .00%

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change:  + .53%

org.pentaho.di.trans.steps.transexecutor.TransExecutor

Instruction Change: -.07%:small_red_triangle_down:

org.pentaho.di.trans.Trans

Complexity Change:  + .20%
Instruction Change:  + .10%
Line Change:  + .11%
Method Change:  + .37%

org.pentaho.di.www.CarteObjectEntry

Branch Change:  + 33.33%
Complexity Change:  + 38.46%
Instruction Change:  + 48.57%
Line Change:  + 45.83%
Method Change:  + 50.00%

org.pentaho.di.www.JobMap

Branch Change:  + 37.50%
Complexity Change:  + 40.91%
Instruction Change:  + 47.50%
Line Change:  + 40.00%
Method Change:  + 50.00%

org.pentaho.di.ui.spoon.trans.TransGraph

Instruction Change:  + .00%

Integration test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.steps.mapping.Mapping

Instruction Change: -.04%:small_red_triangle_down:

org.pentaho.di.trans.steps.metainject.MetaInject

Instruction Change: -.09%:small_red_triangle_down:

org.pentaho.di.trans.Trans

Complexity Change: -.07%:small_red_triangle_down:
Instruction Change: -.00%:small_red_triangle_down:
Line Change: -.00%:small_red_triangle_down:
Method Change: -.55%:small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/JobMapConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 40

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 41

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/JobTrackerConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertEquals. at Line: 44

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 45

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 46

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 47

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/PluginRegistryConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - java.util.Arrays.asList. at Line: 45

:heavy_exclamation_mark: Using a static member import should be avoided - java.util.Collections.singletonList. at Line: 46

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 47

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 48

/home/buildguy/project/engine/test-src/org/pentaho/di/concurrency/RowMetaConcurrencyTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertEquals. at Line: 44

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 45

/home/buildguy/project/engine/test-src/org/pentaho/di/trans/steps/getvariable/GetVariableMetaTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertEquals. at Line: 24

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertNotNull. at Line: 25

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 26

/home/buildguy/project/engine/test-src/org/pentaho/di/trans/steps/simplemapping/SimpleMappingTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertFalse. at Line: 24

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertTrue. at Line: 25

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Matchers.*. at Line: 26

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.mock. at Line: 27

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.never. at Line: 28

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.times. at Line: 29

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.verify. at Line: 30

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.when. at Line: 31

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.doReturn. at Line: 32


Would you be willing to use the tag feature to create a downloadable copy of a specific release?

Thank you for creating ncline  and releasing it as free software. Because it is free software, I would like to add ncline to the Free Software Foundation's Free Software Directory (FSD). What is preventing me from doing so is the FSD's requirement to review a specific version of a given project. The best way for us to review a specific version is if a project uses the tag feature of github. Would you be willing to use the tag feature to create a downloadable copy of a specific release?
Thank you for your consideration.

Hello @hwpplayer1, I moved away from GitHub releases as it is too much work for me at the moment. I like to keep a "always production ready" policy for the master branch instead.
Can't you submit to the FSD a specific commit insteaad? 🤔
Let me know if you have different options and thanks for considering ncline for the addition. 😊

@encelo We will study your project next Friday. Now I need to wait for other admins in the FSD. Thanks for your quick reply. See you.

@encelo  Thank you for the suggestion on creating a link to a specific commit, but I am not sure I know how to do this where the code base for the commit is easily accessible. Can you help me out?

Have a look at the list of all commits on the master branch and get a link to one of them, I suggest the last one.

@encelo Thanks for your contribution. We have been added your project to Free Software Foundation's Directory https://directory.fsf.org/wiki/Ncline

@hwpplayer1 Thank you for adding it to the directory! 🙏🏻


How to create thumbnails?

I understand that you can use transformWrite to resize an image. But how would you proceed when you want to save the image in original quality and in addition as a thumbnail? Do I have to use a different store for that and use upload.start();twice?

Hi @miri-am, it's true that currently there is no examples of how to create thumbnails, it's because currently there is no "official" way to do it. For now you could do like this :
Temporary solution
You save the original file without transforming it, then you define a transformRead(from, to, fileId, file, request) in your store to return a resized version of the image depending on what arguments are passed in the URL, I think you can get them with request.queryParams (ex: http://example.com/ufs/images/a2DkfS.jpg?thumb=200x200). This would however resize the original image on each request so you could improve this mechanism by saving the generated thumbnail in a cache to return it later.
Future solution
In fact, I've started coding the UploadFS.store.Multi that could be used to upload files to several stores on the fly (ex: Amazon S3 + local filesystem + mongo GridFS in a single upload).
You could also use it to save different version of the file (like thumbnails), a single default store would then be used to return the file. That will be the official way to do that because it's easier, cleaner and more flexible, but it still not ready. The main advantage is that if you delete a file from a multi store, it would delete from all the stores it handles so you would not have to do that yourself !
This is how you would declare a thumbnail Muli store :
// Images collection
Meteor.images = new Mongo.Collection('images');

// Images local store
Meteor.originalLocalStore = new UploadFS.store.Local({
    collection: Meteor.images,
    name: 'original',
    path: '/uploads/images'
});

// Thumbnails collection
Meteor.thumbs = new Mongo.Collection("thumbnails");

// Thumbnails local store
Meteor.thumbsLocalStore = new UploadFS.store.Local({
    collection: Meteor.thumbs,
    name: 'thumbnails',
    path: '/uploads/thumbnails',
    transformWrite: function (from, to, fileId, file) {
        // Resize to 200x200 in JPEG 75%
        from.pipe(ImageMagick.streams.convert({
            width: 200,
            height: 200,
            format: (/^jpg$/i.test(file.extension) ? 'JPEG' : file.extension).toUpperCase(),
            quality: 75
        })).pipe(to);
    }
});

// Multi store
Meteor.multiStore = new UploadFS.store.Multi({
    name: 'images',
    collection: Meteor.images,
    // Images are read from this store
    defaultStore: Meteor.originalLocalStore,
    stores: [
        Meteor.originalLocalStore,
        Meteor.thumbsLocalStore
    ]
});

@rodrigok hey, did you ever created thumbnails using UploadFS ?
And what do you think about the concept of a Multi Store explained above ?

Hi @jalik, sorry by the delay.
I didn't create thumbnails yet, but we will need this feature for Rocket.Chat soon.
I liked the Multi Store concept. How is the development? Can I help in something?
In your concept there is some way to prevent to save the file in a store, example: I'm uploading a PDF file and I don't need the thumbnail because I can use one PDF icon.
I don't know if it makes sense.

Multi Store was not that easy to implement, instead I added a copyTo option that you can use in any store and that allows to copy stream to a list of stores, it's more powerful as you can cascade copies easily.
https://github.com/jalik/jalik-ufs#copying-files-since-v036
At the moment, this feature is experimental and not published yet because there are some bugs to fix, if you want to test and use it, you have to checkout the sources of this repo and copy them in the packages folder of your app.


Update go builder

[ ] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

/retest

/retest


RSS Feed Request

Request originating from https://kotlinlang.slack.com/archives/C0BJ0GTE2/p1680605898567299?thread_ts=1680604869.354969&cid=C0BJ0GTE2 , Konstantin Tskhovrebov suggested an RSS feed for the blog section

As shared with Konstantin in the Kotlin Slack channel, RSS feed can be found in:
https://arrow-kt.io/community/blog/rss.xml
https://arrow-kt.io/community/blog/atom.xml
I will wait for feedback on there until I close the issue.

Should we put a RSS/Atom reference to that in the footer so that it's easy to find?

Should we put a RSS/Atom reference to that in the footer so that it's easy to find?

Yes, that sounds like a good idea :+1:


document API to create link to a passage

I'd love to create a link to a particular passage (or even better, several passages) of the bible.  I like that there is a button in the menu to create a link, but I'd like to be able to do this programmatically.
Even better would be to be able to create a link that shows several passages together, like:
http://bible.oremus.org/?version=NRSV&vnum=NO&passages=Genesis 1
James 1
Mark 1
Psalms 81

When you click on the hamburger menu, there's a URL at the bottom of the menu that will keep all the windows/passages open. If you look at the URL you'll see Bible references and window types

I guess this is a wont-fix closing of the bug?

Maybe I'm misunderstanding. This feature already exists and it works.
For example here's a link to see NIV and NASB for 2 Samuel:
http://biblewebapp.com/study/?w1=bible&t1=local%3AENGNIV&v1=S24_5&w2=bible&t2=local%3Aeng-NASB1995&v2=S24_5
w1 means window 1, v1 is the passage, and t1 is the Bible version.

The issue was to document an API to programmatically generate a link to a Bible passage.  Clicking a button is not programmatic.

@droundy You can create these links programmatically, but the onus is on you to do so. The URL interface already is an API of sorts, it is a request interface to the application. There doesn't need to be an API to form a query to send to the API.


Any Discussion Forum?

Hey, congratulation for the new release 🎉, It nice that this open-source project is coming to the new phase!
While we try the beta version, is there any forum like glitter, discord, or just use this Github issue to discuss further possible bug or improvement?

Sure. We used to have Slack, but I think Discord is taking world by storm.
Here's the Discord server: https://discord.gg/BA22ceW

Great thanks for providing Discord channel 👍  , as this already mentioned too in the Readme file, I'll close this issue.


New Project Addition: Breast Cancer Detection with Web App.

Breast Cancer Detection with Web App
Description
This project focuses on using both deep learning (DL) and machine learning (ML) techniques for breast cancer detection using ultrasound images. The project will include the development of a web application for easy access to the detection results.
Tasks

Implement DL models such as VGG16 and MLP for breast cancer detection.
Implement ML algorithms such as Logistic Regression and Random Forest for breast cancer detection.
Create a web application interface for uploading ultrasound images and displaying detection results.
Evaluate the performance of DL and ML models for accuracy and efficiency.
Optimize the models and web application for better user experience.

Aditya Khamitkar
github.com/TheNaiveSamosa
<EMAIL_ADDRESS>GSSoC 24' Contributor

@sanjay-kv Please assign this issue to me under GSSOC 2024


HTML/PDF Export problem, "An unknown error occurred" need some help.

BookStack Version: latest
PHP Version: 7
MySQL Version: 5.7
Apache2
Ubuntu 16 LTS latest

I have a problem with the HTML/PDF Export, (with ngixn and apache2). Everytime I try to export a book to PDF or HTML I get an error:
"An unknown error occurred".... nothing else.
I tried to install it with the Ubuntu 16 script and after that I installed all on my own.
All works except the export function..
Can anyone help?
!chown -R www-data:www-data on BookStack directory is done and all folders which needs r/w got chmod 777.!

Hi @Xerwulf7,
Sorry to hear you are having issues.
You can find some debugging instructions on the docs here. Please follow these and see if you get any more information with debugging turned on.
Post any logs or extra info here if you need further help.

Hey ssddanbrown,
here is some Info:
file_get_contents(/var/www/BookStack/public/css/export-styles.css): failed to open stream: No such file or directory (View: /var/www/BookStack/resources/views/books/export.blade.php)
/var
/www
/BookStack
/storage
/framework
/views
/02515d89108014d35935ae04766ce7bdb2647395.php
<!doctype html>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><?php echo e($book->name); ?></title>

    <?php echo $__env->yieldContent('head'); ?>

<?php echo e($book->name); ?>

Arguments
"file_get_contents(/var/www/BookStack/public/css/export-styles.css): failed to open stream: No such file or directory (View: /var/www/BookStack/resources/views/b ▶"

@Xerwulf7 Thanks for confirming the error info.
I can confirm this is a bug and I've just pushed out fix in 3cd08382e944600ecdd1212ce94a9922b4406050 and released v0.20.2 to cover this.
Simply update your BookStack instance and this should be fixed.
Let me know if you experience any issues afterwards.

Nice to hear, thanks :)

Works like a charm, thanks for the quick response and fix! Have a nice eastern weekend :)


Refer to usage terms for logo asset

This points to the Linux Foundation Trademark Usage page which applies to the IREE logo asset.

This variant touches the LICENSE file, which can make automated classification of the license terms more difficult.


Check that lat and long are within bounds.

@edrex It seems the author is not very active in this project anymore, many forks have been created. I would like to make this stable and I create goexif2 which integrates your patch:
https://github.com/xor-gate/goexif2/commit/20bbeb2dee10ba2641aeefc09bf6a17d12c0c661


Image rotation functionality when we edit the image.

Hello Team,
I need an Image rotation functionality along with the filter and crop functionalities.
I found the rotation function created inside the FMCropView.swift but it is empty(Screenshot below).
So could you please help me to achieve the desired result.

Thanks in advance.

Hello Team,
Is this rotate() function is unnecessary or currently in development?

Hello Team,
Is this rotate() function is useful or currently in development?

Sorry, no rotation support for now


Bumped PIL to version 9.0.0 and replaced python 3.6 with 3.10

Change Description
Updated pillow from 8.2 to 9.0 due to a security issue by re-locking the pipfile in presidio-image-redactor
Updated supported python versions from 3.6-3.9 to 3.7-3.10

/azp run


Review and testing required!: refactor cast module

@dcposch @feross: In preparation for DLNA support, the 3 way if/else location===device was a little messy, so I gave it a chance and tried to refactor the cast.js file resulting in this PR.
I don't have a chromecast device and my airplay emulator software is not very good, so i need to verify everything is in order.
I think this can be good base to extend to other external devices (an external player?) and protocols (Miracast? WiDi?)
I tried to keep the interface intact i only changed the openChromecast and openAirplay with an open(), only affected the UI invocation
Also, a code review is always welcome.

:100:  this is a very nice clean up

@feross thoughts / should we do prototype inheritance here? if so should we use the ES6 class and extends?

@grunjol i have access to a Chromecast and an Airplay so i'll test this soon

My first impulse was to implement an interface and create different implementations for each device, but then i realize i was coding in javascript and opted for a more functional approach :)

Haven't forgotten about this -- I'll try to merge this tomorrow

No problem, I am finalizing DLNA support (ETA tomorrow) based on this branch and its working fine, so the 'module interface' is working

@dcposch: updated the PR with the debug dependency removal @feross made in the project

Looks great.
My bad not testing this earlier. I'm in Tahoe now with no AppleTV or Chromecast, and I'll be back tomorrow.
I think my landlord's TV has Samsung AllShare so I'll try DNLA as well!

Just tried it out. Chromecast and Airplay both work.
:+1:

I haven't tried setVolume yet, but that feature isn't exposed, I think: the cast screen doesn't have volume controls.
We can test that if/when we add that feature.

I still think new ChromecastPlayer() would be a bit cleaner than having chromecastPlayer() return an object with function properties, but it's fine. This is definitely cleaner than what we had before and it works.

@grunjol thanks for doing this!


Fork FuncOp and CallOp to VHLO

Leaving out ModuleOp for now. It is awkward to convert ModuleOp to something else, also would also require adding --no-implicit-module to all calls which is less ergonomic and easy to miss. May decide to avoid forking ModuleOp, and instead just enforce that the op has valid types/attrs. If that op disappears we can get clever in the BytecodeReader. We can discuss this further next week.
This PR (built on top of ):

Fork Ops: FuncOp, CallOp
Fork Types: FunctionType
Fork Attributes: DictionaryAttr, TypeAttr (TypeAttr used for FunctionType attribute)
Add conversions:

func.func <--> vhlo.func
func.call <--> vhlo.call
func.return --> vhlo.return
vhlo.return --> func.return if parens is vhlo.func, else stablehlo.return

Added pretty print for func ops, since these are so common and generic format of functions is difficult to write tests for.

Closes #850.

Rebased on main, makes the review much easier.


[DOCS] Update all images to be transparent

Problem/Concern
We use Material for MkDocs which supports light and dark mode toggling.
Currently images used across docs (specifically in Overview (/motivation) use a white background and there do not work well in Dark Mode.
Proposed Solution
Update all images to have transparent background.

It isn't going to be as easy as changing the background color of the image, unfortunately.  For example, consider what this image would look like in dark mode:  https://discoverfinancial.github.io/a11y-theme-builder/_images/gaad-a11y-e2e.png
It has dark text in it, as well as dark inking for the people at the bottom and grays in the Design, Develop, Code, Interact section of the image.  All of these would be practically invisible with transparent background in dark mode.
Here is some guidance on how we should handle images in light and dark mode in mkdocs: https://squidfunk.github.io/mkdocs-material/reference/images/#light-and-dark-mode
Basically we need dark-mode versions of our images, especially those that don't have high contrast with dark colors.
These images probably need to be re-worked to create dark theme specific versions

[ ] _images/statista-2023-digital-population-worldwide.png
[ ] _images/gaad-a11y-e2e.png
[ ] _images/unified-design.png
[ ] _images/layers.png
[ ] _images/architecture.png

Perhaps also the logo.png from Theme Builder itself.  It has a white background with dark lines.

To enable an image for dark mode, a filter that darkens the image is required.  @lwnoble will provide the overlay settings/css.

for the css
img {
opacity: .68;
}
That should do it!

I introduced a css file that will be included that will change the opacity (as described above) for all images contained in all elements with the "slate" (aka dark mode) scheme applied to it.


Fix invalid escape sequence

Fixes:
$ flake8 --config=.flake8.cython
./cupy/core/raw.pyx:192:14: W605 invalid escape sequence '\*'
./cupy/core/raw.pyx:200:51: W605 invalid escape sequence '\*'

I wonder what's the flake8 version you're using? It runs fine on my machine. This is my setup:
leofang@macbook:~/cupy$ flake8 --version
3.5.0 (mccabe: 0.6.1, pycodestyle: 2.3.1, pyflakes: 1.6.0) CPython 3.6.5 on Linux

Plus it has also passed CI tests when the PR is merged.
The escape is necessary to get the asterisk rendered correctly (as can be verified on https://docs-cupy.chainer.org/en/latest/reference/generated/cupy.RawModule.html) Without it you'd get warnings when generating the doc:
docstring of cupy.RawModule:3: WARNING: Inline emphasis start-string without end-string.
docstring of cupy.RawModule:12: WARNING: Inline emphasis start-string without end-string.

(ah, the CI just failed with the same error as I'm typing) and the rendering becomes this:

Note the asterisk is mistakenly hyperlinked in blue.

Thank you for comment! I fixed the markup correctly.
This is the version I was using:
3.7.7 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.6.8 on Linux

I know this version is not used in CI, but its error seemed to make sense. (\* is not a Python valid escape sequence)

Ah I see. Thank you @niboshi for fixing it for me and for letting me know the correct usage. Built successfully and html rendering checked locally.

pfnCI, test this please.

Jenkins CI test (for commit 0d3e15e3e15f494c4ef9727f6a8552102c51a6b8, target branch master) succeeded!

LGTM!


Shipping recent changes

I got worried by the nuget page showing last publish in 2019, but it looks like there's been ongoing development in master.
Is the package now being shipped somewhere other than nuget, or could you help me explain the ship strategy to my team?

you can do
var seq1 = list1.OrderBy(t => t);
var seq2 = list2.OrderBy(t => t);
seq1.SequenceEqual(seq2);

or maybe
var set1 = new HashSet<MyType>(list1);
var set2 = new HashSet<MyType>(list2);
return set1.SetEquals(set2);

Is the package now being shipped somewhere other than nuget
AFAIK it does not

could you help me explain the ship strategy to my team?
probably the "new" commits are minor improvements, not bugs or features; but I agree with you, even after many minor improvements a new minor version of the package could be deployed by @atifaziz

@ndrwrbgs I have released a new version w/ all of the latest changes under morelinq.temp v3.3.3. Hope this helps until @atifaziz  can do a new release


Monitor status url of only active proxies

Monitor health check endpoints only of active proxies
Ref: https://github.com/hellofresh/janus-dashboard/issues/203

Integration tests are failing cos I've rebased with master, which is broken due this https://github.com/hellofresh/janus/pull/221

👍


Put service key binding/instance creation and job creation in one transaction

Similar as in #3567, now for service key binding and service instance creation to be consistent with #3567.
Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

Links to any other associated PRs
#3567

[X] I have reviewed the contributing guide

[X] I have viewed, signed, and submitted the Contributor License Agreement

[X] I have made this pull request to the main branch

[X] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

/easycla


Icon Type

[X] Folder
[X] File

Folder names
vscripts
File names
.nut
.nuc
Graphic ideas
.nut could just a nut icon, or just the document / .txt icon that's tan with a nut on the bottom right.
The vscripts folder icon could just be the normal folder icon that's tan with a V on the bottom right.
Squirrels website.
Additional context
Squirrel is used in many source engine games such as Team Fortress 2 and Left 4 Dead 2 to create mods like custom game modes / maps.
There is no special icon for squirrel file / folder types (besides the default gray icon).
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Dup of #2412, but let's keep this open becuase it adds a new file extension .nuc (#2412 only mentions .nut)


Sequence diagrams in the readme

@l3r8yJ thank you for reporting this. I'll assign someone to take care of it soon.

@PavelRyauzov this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-18T19:39:19.656296.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@PavelRyauzov @l3r8yJ
Sequence diagrams are here: https://github.com/Blamer-io/docs/wiki/System-Scenarios

@PavelRyauzov thank you for resolving this ticket. I've just added it to your active invoice. You can always check all your invoices and more on the Contributor Dashboard.


Remove float indexing

Some discussion in #792 and #906.

Removal of support for float indexing no nopython mode, and of the associated test.
Addition of a test of the error message when a float index is used in a tuple in nopython mode
Note that this error message is not produced when all indices are floats, because in that case the function just fails typing.

Looks great, let's do it.


Don't have a Spec Recommendation PC

My PC only has 4 cores CPU  and 16GB RAM ,is there any possilble that  this repo could run on my PC ?

Please check the README  for the recommended specs.
It will run in your environment, but don't expect all the features to work simultaneously.


Ci local runner edits 2 jan 24

Add powershell variable syntax for Windows set network driver env var troubleshooting.
Add troubleshooting to check if runner is running.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65945934a8f93200a016c951--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://659460b20f70d8028499e7c1--harness-developer.netlify.app


Fix error message in partner profiles

Summary
Fix unhelpful error message in partner profile edit
Why?
Reduce bank and partner confusion
Details
If (discovered as a bank, but this probably happens as a partner too), you edit an existing profile,  add a county, but do not add the client share,  and save, the error that shows is "Something didn't work quite right -- try again? nil can't be coerced into Integer"
The error should match the error given on the field -- that is, it should be "Something didn't work quite right -- try again?  Client share is not a number and Client share is not included in the list."
Criteria for completion
[ ] error message is correct when editing partner profile as bank and as partner
[ ] tests to demonstrate above behaviour

Would love to take this issue :)

It's yours!

I would love to take this if not completed! I can have it done by the weekend.

@rosali2003 Hi Rosa!  Are you still working on this, or may we pass it off to another developer?  Thanks.

Is anyone working on this? If not I would love to

Please do.


Test: Simplified JQ filter on Kubernetes test

Make it simpler to get Kubernetes version.
Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

This change is

Coverage decreased (-0.002%) to 43.93% when pulling b849e252deca828d76a23201db7b2fdcc6c0a4b9 on eloycoto:kubernetesTest into 8ffa351f7cb88f8b2bf57be5c6951b8bca5c08ba on cilium:master.

@eloycoto is this just an enhancement, or should this change be backported as well? Was there any functionality that wasn't working which necessitated this to be done?

just an enhancement :-)


After making a security backup of my files, I deleted my local repositories and wanted to clone again for a "fresh start". The clone appears in my folders, but not automatically in the desktop github app. After manually adding it to the desktop app, it recognizes that I have outdated files (some old files were deleted by the master, and some are new, locally created on my machine). If I now want to merge my new files into the master branch, I get the commit error message. In powershell it says that one file (the research proposal as an Rmd file for the second assignment) is not staged for the commit and the other (the actual html file) is untracked.
How to continue? Is there a way to get back on track with the master files? Google says I should manually resolve the merging conflicts, but neither in my desktop app nor in power shell, I am able to force a commit. :( Any idea?
PS: The same problem exists for other repositories I had cloned in my desktop app.

I tried to solve it in powershell, still getting errors: Maybe this log from powershell helps?!
E:\bjoer\Documents\GitHub\PairAssignment2 [master +0 ~0 -2 | +2 ~1 -0 !]> git init
Initialized empty Git repository in E:/bjoer/Documents/GitHub/PairAssignment2/.git/
E:\bjoer\Documents\GitHub\PairAssignment2 [master +6 ~0 -0 !]> git remote add origin git@github.com:user/project.git
E:\bjoer\Documents\GitHub\PairAssignment2 [master +6 ~0 -0 !]> git add .
E:\bjoer\Documents\GitHub\PairAssignment2 [master +6 ~0 -0]> git commit -m "Initial commit"
[master (root-commit) c5aeb41] Initial commit
6 files changed, 807 insertions(+)
create mode 100644 .Rhistory
create mode 100644 Literature Review.Rmd
create mode 100644 README.md
create mode 100644 Research Proposal RStudio Markdown.Rmd
create mode 100644 Research_Proposal_RStudio_Markdown.html
create mode 100644 library.bib
E:\bjoer\Documents\GitHub\PairAssignment2 [master]> git push -u origin master
ssh: connect to host github.com port 22: Bad file number
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
E:\bjoer\Documents\GitHub\PairAssignment2 [master]>
Was that a bad idea?

Can you link to the remote (GitHub) version of this repo.

I hope I understood you correctly. I tried to link my local version to the remote version on github.com?
E:\bjoer\Documents\GitHub [master +4 ~0 -0 !]> git remote
E:\bjoer\Documents\GitHub [master +4 ~0 -0 !]>
Does that mean there is no link to any remote?
Apparently github knows that my repo still exists:
E:\bjoer\Documents\GitHub> ls
Verzeichnis: E:\bjoer\Documents\GitHub

Mode                LastWriteTime         Length Name

d-----       22.10.2015     20:02                AnalysisJamboBukoba
d-----       22.10.2015     19:05                AnalysisJamboBukoba-master
d-----       22.10.2015     17:13                OLD
d-----       23.10.2015     15:51                PairAssignment2

Sorry, can you just send me the URL for the repository?

https://github.com/laurencehendry/PairAssignment2

Hm, two things to check:

Did you clone the repo or just download the zip file?

You shouldn't git init on a repository that already exists. git init initialised the repo, which only needs to be done once, ever. Not sure, but using git init on the clone might overwrite the previous git init and so dislodge it from master.

What I would do is reclone the repo (this should open Desktop GitHub automatically).

Hi Christopher,
I cloned again, and magically it is now commiting and syncing. I've no clue what was the issue then. I now tried to clone directly from the Git desktop app instead of the website. Didnt know that this makes a difference as well?!
Thanks anyway for your help!

My guess is that it had to do with running git init on a git repo. Though maybe this compounded the original problem rather than being the only cause of it.


letter_type=others

? . were not getting on place change the value to 46 and 63 working fine

dude.. 48 and 57 was for numbers not for ? and .
If you change that your numbers won't print.


agent opt out letter draft

Is the "Please reply to this request within 15 days by email to: {{email}}" address that of the consumer?  If so, how will the authorized agent know about or be able to track responses and non-responses?

It would be the agent's email address.

Ok, that makes sense to me.  It raises a second question:  Would the following email address be the same?  "If you have any questions please contact this organization directly at {{ email }}."   I'm thinking maybe auto-generating unique email addresses for reply to the individual consumer that rout to/through the service provider would make sense for this part: "Please reply to this request within 15 days by email to: {{email}}".  Is that how you are looking at it too?

Yes, that makes a lot of sense. There could be an address to confirm opt out and a separate address for questions...
<EMAIL_ADDRESS><EMAIL_ADDRESS>...or one address for both.

That would work!

So we don't lose the thought, do you mind if I pull an issue to explore the potential use of OAuth 2 or OIDC as another way to connect the consumer that selected you as an Authorized Agent to the consumer with data at a company and perhaps also to introduce another route for transferring communications and data.  This is kind of - broadly - related to the topic/question/options for routing communications, down the road.

I don't mind at all. That sounds like a really promising direction, thank you.
Also possibly OpenID Connect claims? https://openid.net/specs/openid-connect-core-1_0.html#Claims

Woot! https://github.com/dmarti/privacy-docs/issues/11


Please provide direct download links, not just via the API

Please provide a direct download link for the location codes, not just via the API. With AdWords it is much easier, because they provide a CSV download.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 749cc90f-2a91-02b7-8d03-f0821e493cdb
Version Independent ID: c622fe8a-b289-5fff-48ab-f261b95adb1c
Content: Geographical Location Codes - Microsoft Advertising
Content Source: Advertising/bingads-13/guides/geographical-location-codes.md
Service: bing-ads
GitHub Login: @eric-urban
Microsoft Alias: eur

@markusheiden - You can also download the location codes from the Microsoft Advertising Developer Portal. You must be signed in to the developer portal with a Microsoft account user who has Microsoft Advertising credentials. Then choose the Downloads tab on the Accounts page.


Command "Get-Module -ListAvailable Az" mentioned in the article does not display any output.

Contrary to the claim towards the end of the "Prerequisites" section of this article, the command "Get-Module -ListAvailable Az: does not display the latest version of the PowerShell installed on the machine. In fact, it does not display any output. Could it be a typo in the document?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: b04a28c3-81d7-123d-5b16-6642636c07a8
Version Independent ID: 2179498b-00e8-1c9d-bd11-4a903ae3ad52
Content: Azure Quickstart - Create a blob in object storage using Azure PowerShell
Content Source: articles/storage/blobs/storage-quickstart-blobs-powershell.md
Service: storage
GitHub Login: @roygara
Microsoft Alias: rogarana

@saf-itpro Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@saf-itpro thanks for bringing this to our attention, we appreciate it! I've investigated and found an alternate solution - I will update the article soon.
Until that time, for reference, you may use Get-InstalledModule -Name Az -AllVersions | select Name,Version to get the current installed version.

Changes have been merged, they should appear sometime tomorrow.
Again, thank you @saf-itpro , we really do appreciate you bringing this to our attention!
#please-close


VK_KHR_synchronization2 handling seems odd when creating Vulkan device

On my macOS my code works if I do this:
vk::PhysicalDeviceVulkan12Features vulkanDevice12Features{
        .timelineSemaphore = 1u,
    };
    vk::PhysicalDeviceVulkan13Features vulkanDevice13Features{
        .pNext            = &vulkanDevice12Features,
        .synchronization2 = 1u,
    };
    vk::PhysicalDeviceSynchronization2FeaturesKHR syncFeatures{
        .pNext = &vulkanDevice13Features,
        .synchronization2 = 1u};

    vk::DeviceCreateInfo deviceCreateInfo{.pNext                = &syncFeatures,
                                          .queueCreateInfoCount = 1u,
                                          .pQueueCreateInfos    = &queueInfo,
                                          .enabledExtensionCount =
                                              static_cast<std::uint32_t>(extensions.size()),
                                          .ppEnabledExtensionNames = extensions.data()};

while on Windows if I create Vulkan device with 1.3 capabilities I can only provide this and that's enough
vk::PhysicalDeviceVulkan12Features vulkanDevice12Features{
        .timelineSemaphore = 1u,
    };
    vk::PhysicalDeviceVulkan13Features vulkanDevice13Features{
        .pNext            = &vulkanDevice12Features,
        .synchronization2 = 1u,
    };

    vk::DeviceCreateInfo deviceCreateInfo{.pNext                = & vulkanDevice13Features,
                                          .queueCreateInfoCount = 1u,
                                          .pQueueCreateInfos    = &queueInfo,
                                          .enabledExtensionCount =
                                              static_cast<std::uint32_t>(extensions.size()),
                                          .ppEnabledExtensionNames = extensions.data()};

Seems odd to me, VkPhysicalDeviceVulkan13Features::synchronization2 should be enough if I create Vulkan 1.3 instance.
Edit: is it a consequence of some "limited support" of synchronization2 feature?

MoltenVK does not yet support Vulkan 1.3 or the VK_KHR_synchronization2 extension. What support there is for VK_KHR_synchronization2 is provided by a Khronos-developed layer.


Design "Our Contributors" Page

Hey @RitiChandak

Issue Closes #917

I have created Contributors Page Which Supports Both Dark mode and light mode theme.

Created contributors.html page
Added Suitable Hover Effects
Added Dark mode theme and Light mode theme styles
Adjust the contributors cards
Added Similar Navbar and Hamburger in Mobile View
Added Footer
Added Scroll down progress bar for consistency
Made it complete responsive for all devices.

Light Mode

Dark Mode

Responsive

Hey @RitiChandak pls Merge this PR

@RitiChandak if possible can you increase the level considering the overall changes?


Merge 'live' to 'master'

Docs Build status updates of commit 17965d4:
:warning: Validation status: warnings

File
Status
Preview URL
Details

toc.json
:warning:Warning

Details

bread/toc.json
:warning:Warning

Details

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\1vaq\toc.json'.

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\1vaq\bread\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit f252c45:
:warning: Validation status: warnings

File
Status
Preview URL
Details

bread/toc.json
:warning:Warning

Details

toc.json
:warning:Warning

Details

bread/toc.json

[Warning] Error happen when converting bread/toc.json to Pdf. Details: Could not find a part of the path 'T:\ddbv\bread\toc.json'.

toc.json

[Warning] Error happen when converting toc.json to Pdf. Details: Could not find file 'T:\ddbv\toc.json'.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Exclude files to be deleted when files are copied

Thank you for your project.
I'm using it for copying compiled documentation files (from .md to .html by Astro Starlight) from a source repository to a public one.
This public one should contain not only the built source files but also a CNAME file created by GitHub page when I set the subdomain docs.mysite.org in the settings of the public repo.
The problem is that, when the files of the source-directory are copied to the target-directory, all the files in the target-directory seem to be deleted before the copy because my CNAME file disappears and I need to create a new one manually. Is there a way to add an argument like exclude-file to exclude one or more files in a specific path from deletion?
Or just make the copy action to not delete the already stored files in the target directory, just overwrite the ones with the same name (could be better).

I'll have limited connection (mountain hiking and then holidays) next week, I might not follow up quickly.
At the moment it's deleting the the destination repository "by design" :-) I'm avoiding adding too many flags / configuration to keep maintenance low.
An immediate solution might be to fork the github action and make the changes that you need. Perhaps before the line rm -rf "$ABSOLUTE_TARGET_DIRECTORY" you could copy the file out from the destination repo (it's already cloned at that point) and then copy it back after the step echo "[+] Copying contents... (I cannot think now if deleting the "rm" would help, I think that there might need to be more changes if you did this!).
I know that is not ideal!
I'll see if I come up with a better idea when I'm back! (I avoid copying things doing https://cpina.github.io/push-to-another-repository-docs/faq.html#how-can-i-copy-only-some-files-only-some-directories-exclude-some-files-etc but this would delete the file).
Also, I know that there are other similar github actions to do similar things to do this one, and some might have what you need! have a look! (no harm in using another one, feel free to comment here in case that it is helpful).