Improvements to the Repo

More than happy to help with these, but I think it is important we focus on these improvements

Update to the repo to the newest micropython
Update to tflite-micro
Include ESP_NN

I have begun to update the code to the newest micropython version and updating tflite-micro but I am currently getting these errors:
microlite/openmv-libtf.cpp:6:10: fatal error: tensorflow/lite/micro/all_ops_resolver.h: No such file or directory
 #include "tensorflow/lite/micro/all_ops_resolver.h"

So the reason behind this issue is since I now implement tflite micro, it no longer has all_ops_resolver.h in "tensorflow/lite/micro/all_ops_resolver.h"

So I fixed this error by converting it to
#include "tensorflow/lite/micro/micro_mutable_op_resolver.h"

Question: Why do we convert .cc files to .cpp

#120 is going to address items 2 and 3 from your list.

Question: Why do we convert .cc files to .cpp

Micropython assumed .cpp files for C++ modules.  Originally when the build was based on Gnu Make the QSTR generation was collecting all of the .cpp files.  So the renaming was done to get the QSTR generation to work properly.
TFLM uses .cc for all of the source files.
I think for the esp32/rp build the use of CMake changes how the sources are collected to not care about the extension.
The preparation script micropython-modules/microlite/prepare-tflm-esp.sh generates the tflm base files and uses the --rename_cc_to_cpp option so that the generated files have .cpp extensions.


feat(icon): Add new fit-to-width icon

This change: (check at least one)

[X] Adds a new feature
[ ] Fixes a bug
[ ] Improves maintainability
[ ] Improves documentation
[ ] Is a release activity

Is this a breaking change? (check one)

[ ] Yes
[X] No

Is the: (complete all)

[X] Title of this pull request clear, concise, and indicative of the issue number it addresses, if any?
[X] Test suite(s) passing?
[X] Code coverage maximal?
[X] Changeset added?
[X] Component status page up to date?

What does this change address?
Adds icon to indicate the content will fit to width

How does this change work?
Add icon file to VCS and reference it in icon JSON
Additional context
Also update the pharos site to show this icon

@michael-iden looks like the icon contains a fill value that should be removed (or, if it should always always always be black, the file should be ignored).


Contrast-agnostic model on a lumbar SCI patient outputs incorrect segmentation

@valosekj tried the contrast-agnostic v2.4 model on a lumbar SCI patient from the sci-zurich dataset. The model even segmented regions outside the cord.
Refer to https://github.com/ivadomed/model_seg_sci/pull/96#issuecomment-2364121461 for screenshots.

Even though the these datasets were used for training (including SCI and lumbar datasets), I think that the subject above is a corner case (i.e. lumbar SCI with metal hardware) and is quite difficult to segment given that we don't have that many lumbar scans and scans with hardware (compared to healthy and MS subjects).
Therefore, one possible option I recommend is to consider also using the SCIseg model for cord segmentation.
Reason: It is difficult for one model to be able to reliably segment any cord, given the heterogeneity in the scans, resolutions and image quality. So, if a user has a challenging test case (like the one @valosekj had), we could ask the user to also consider trying SCIseg model if the contrast-agnostic model doesn't work well. The specialist model might be better at such extreme cases than the generalist model that works reasonably well on any/all contrasts.

@naga-karthik do you think we should consider adding this dataset in the contrast-agnostic model? if it makes the model more "agnostic" to pathologies, then it's a big plus for that model. Ultimately, the more cases it can cover, the more it will be used (and cited).

hey @jcohenadad, are you referring to a particular dataset? Maybe I'm missing something, here are the datasets currently included in the model training.

hey @jcohenadad, are you referring to a particular dataset? Maybe I'm missing something, here are the datasets currently included in the model training.

Thanks for the clarification, Naga! I probably introduced some confusion here during yesterday's meeting, as I thought that only SCIsegV2 included the sci-zurich dataset for training. And I did not realize that contrast-agnostic was actually also trained on this dataset.

[IMPORTANT] hey @valosekj, I made a mistake! Turns out that SCI datasets were not included in the contrast-agnostic v2.4 version. For reference, here's a summary of what datasets were included!

 Datasets used in v2.4
Datasets used (n=7):

datasplit_basel-mp2rage_seed50.json
datasplit_canproco_seed50.json
datasplit_data-multi-subject_seed50.json
datasplit_dcm-zurich_seed50.json
datasplit_lumbar-epfl_seed50.json
datasplit_lumbar-vanderbilt_seed50.json
datasplit_sct-testing-large_seed50.json

Training/Validation/Test splits across all datasets:

Number of training samples (i.e. images, not subjects): 2700
Number of validation samples (i.e. images, not subjects): 503
Number of testing samples (i.e. images, not subjects): 616

Training/Validation/Test across each contrast (n=9):

Contrast
#train_images
#validation_images
#test_images

dwi
172
38
49

mt-off
158
36
49

mt-on
168
37
49

psir
217
49
67

stir
56
15
18

t1w
197
40
54

t2star
633
87
106

t2w
1018
190
213

unit1
81
11
11

TOTAL
2700
503
616

Model name for internal/dev purposes:
nnunet_seed=50_ndata=7_ncont=9_pad=zero_nf=32_opt=adam_lr=0.001_AdapW_bs=2_20240425-170840

I was losing track of what datasets were being added in each release so I create a summary like the one above and upload it with every release. They can found in datasplits.md if you manually download the release folder. Turns out this was indeed the saviour! :)
That said, the current un-released version of the model is trained on all SCI datasets and the DCM datasets. Would you like to try it out internally on the same subject (linked in my 1st comment) ?

I went ahead and tested the latest model on the same subject. The issue is only partly resolved. With the latest model, we don't get any segmentations outside the SC (as reported in the original issue) but the model is still unable to segment the cord at the site of the implant.
I tested the model on T1w and ax_T2w images as well. The model does slightly better on T1w (at least we see some prediction after the implant) for ax_T2w it works perfectly fine! I know that this does not resolve the issue as far as computing sct_analyze_lesion is concerned. Do you think we can have a workaround based on these additional segmentations? (namely, the axial)

 sag T2w pred

 sag T1w pred

I found something interesting, thank to @valosekj ! My testing script by default had the keep-largest-component enabled. As a result, we lost some prediction after the metal implant.
When I re-tested by keeping everything, we have a better prediction now. (and there are still no predictions outside the cord)

 disabling keep-largest-component

yellow: prediction with the largest component
blue: prediction without the largest component (i.e. keep everything). note that blue is overlaid on yellow i.e. we still have the complete segmentation for blue as well (just that it's hidden behind yellow)

@valosekj I think you can maybe try it on a few other subjects? Please keep in mind the train/test split used for sci-zurich. You might see a difference in performance if you're running it on the entire dataset depending on which subjects were included in training/testing.

I was losing track of what datasets were being added in each release so I create a summary like the one above and upload it with every release. They can found in datasplits.md if you manually download the release folder.

@naga-karthik this shows the importance of creating a script that automatically fetches the dataset and generate a log listing the data used to produce the release. How can everyone be sure that the manually created file datasplits.md has no error? As requested in the old issue #15, it becomes increasingly urgent to perform training in a transparent and reproducible way. The training script should generate the list of training dataset (not you manually) and package that list alongside the generated model, that is ultimately uploaded on github release. Thank you.

oops, sorry for the misunderstanding! I am not doing this manually! it's automatically output from this function when I start the training and the output is stored in the results folder (which is simply uploaded to the GH release) :)

Thanks for digging in, @naga-karthik!

@valosekj I think you can maybe try it on a few other subjects?

Sure! Do you think it would be possible to zip the v2.5 model and make a pre-release? By doing so, I could easily reuse my existing bash script just by adding sct_deepseg -custom-url <URL_TO_V2.5>.

@valosekj can I close this issue?

@valosekj can I close this issue?

Sorry, Naga, I have not tested the updated model yet. Maybe we can close the issue, and I will test the new version (https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/pull/125), which is about to be released.

Testing different contrast-agnostic versions
Follow up on https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/issues/118#issue-2542414988
Subject: sub-zh04_ses-02_acq-sag_T2w.nii.gz from sci-zurich
Updating my local SCT
PR: https://github.com/spinalcordtoolbox/spinalcordtoolbox/pull/4695
cd $SCT_DIR
git fetch
git checkout nk/update-contrast-agnostic-model

r20240531 (v2.4)
I wanted to reproduce segmentations from https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/issues/118#issue-2542414988, so trying r20240531 (v2.4).
Release r20240531: https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/tag/v2.4
sct_deepseg -install seg_sc_contrast_agnostic -custom-url https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/v2.4/model_soft_bin_20240425-170840.zip

cd ~/data/data.neuro.polymtl.ca/sci-zurich/sub-zh04/ses-02/anat
git annex get sub-zh04_ses-02_acq-sag_T2w.nii.gz

sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_contrast_agnostic

...

Using custom model from URL 'https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/v2.4/model_soft_bin_20240425-170840.zip'.
...

Getting error...
Full error:
$ sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_contrast_agnostic

--
Spinal Cord Toolbox (git-nk/update-contrast-agnostic-model-fb5decc95ca58e5295a4739e336f95eb007c3f93)

sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_contrast_agnostic
--

#######################################################################
Please cite the following paper when using the contrast-agnostic model:

Bédard*, S., Karthik*, E.N., Tsagkas, C., Pravatà, E., Granziera, C., Smith, A.C., Weber, K.A., & Cohen-Adad, J. (2023).
Towards contrast-agnostic soft segmentation of the spinal cord. ArXiv, abs/2310.15402. https://arxiv.org/abs/2310.15402
#######################################################################

Using custom model from URL 'https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/v2.4/model_soft_bin_20240425-170840.zip'.
Traceback (most recent call last):
  File "/Users/valosek/code/sct_latest/spinalcordtoolbox/scripts/sct_deepseg.py", line 407, in <module>
    main(sys.argv[1:])
  File "/Users/valosek/code/sct_latest/spinalcordtoolbox/scripts/sct_deepseg.py", line 316, in main
    im_lst, target_lst = inference.segment_non_ivadomed(path_model, model_type, input_filenames, thr,
  File "/Users/valosek/code/sct_latest/spinalcordtoolbox/deepseg/inference.py", line 121, in segment_non_ivadomed
    net = create_net(path_model, device)
  File "/Users/valosek/code/sct_latest/spinalcordtoolbox/deepseg/monai.py", line 130, in create_nnunet_from_plans
    model.load_state_dict(checkpoint)
  File "/Users/valosek/code/sct_latest/python/envs/venv_sct/lib/python3.9/site-packages/torch/nn/modules/module.py", line 2153, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for PlainConvUNet:
	size mismatch for encoder.stages.4.0.convs.0.conv.weight: copying a param with shape torch.Size([320, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 256, 3, 3, 3]).
	size mismatch for encoder.stages.4.0.convs.0.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.0.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.0.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.0.all_modules.0.weight: copying a param with shape torch.Size([320, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 256, 3, 3, 3]).
	size mismatch for encoder.stages.4.0.convs.0.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.0.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.0.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.4.0.convs.1.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.4.0.convs.1.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.4.0.convs.1.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.5.0.convs.0.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.5.0.convs.0.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.0.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.5.0.convs.1.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for encoder.stages.5.0.convs.1.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for encoder.stages.5.0.convs.1.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.conv.weight: copying a param with shape torch.Size([320, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 256, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.all_modules.0.weight: copying a param with shape torch.Size([320, 256, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 256, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.0.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.4.0.convs.1.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.0.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.encoder.stages.5.0.convs.1.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.conv.weight: copying a param with shape torch.Size([320, 640, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 768, 3, 3, 3]).
	size mismatch for decoder.stages.0.convs.0.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.all_modules.0.weight: copying a param with shape torch.Size([320, 640, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 768, 3, 3, 3]).
	size mismatch for decoder.stages.0.convs.0.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.0.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.conv.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.stages.0.convs.1.conv.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.norm.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.norm.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.all_modules.0.weight: copying a param with shape torch.Size([320, 320, 3, 3, 3]) from checkpoint, the shape in current model is torch.Size([384, 384, 3, 3, 3]).
	size mismatch for decoder.stages.0.convs.1.all_modules.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.all_modules.1.weight: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.stages.0.convs.1.all_modules.1.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.transpconvs.0.weight: copying a param with shape torch.Size([320, 320, 1, 2, 2]) from checkpoint, the shape in current model is torch.Size([384, 384, 1, 2, 2]).
	size mismatch for decoder.transpconvs.0.bias: copying a param with shape torch.Size([320]) from checkpoint, the shape in current model is torch.Size([384]).
	size mismatch for decoder.transpconvs.1.weight: copying a param with shape torch.Size([320, 256, 2, 2, 2]) from checkpoint, the shape in current model is torch.Size([384, 256, 2, 2, 2]).
	size mismatch for decoder.seg_layers.0.weight: copying a param with shape torch.Size([1, 320, 1, 1, 1]) from checkpoint, the shape in current model is torch.Size([1, 384, 1, 1, 1]).

r20240531 (v2.5)
Release r20241024: https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/tag/v2.5
sct_deepseg -install seg_sc_contrast_agnostic -custom-url https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/v2.5/model_contrast-agnostic_20240930-1002.zip

sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_contrast_agnostic

...

Using custom model from URL 'https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/v2.5/model_contrast-agnostic_20240930-1002.zip'.
...

mv sub-zh04_ses-02_acq-sag_T2w_seg.nii.gz sub-zh04_ses-02_acq-sag_T2w_seg_r20240531.nii.gz

r20241113 (v2.6)
Release r20241024: https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/tag/r20241113
sct_deepseg -install seg_sc_contrast_agnostic -custom-url https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/r20241113/model_contrast_agnostic_20241018-0508.zip

sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_contrast_agnostic

...
Using custom model from URL 'https://github.com/sct-pipeline/contrast-agnostic-softseg-spinalcord/releases/download/r20241113/model_contrast_agnostic_20241018-0508.zip'.
...

mv sub-zh04_ses-02_acq-sag_T2w_seg.nii.gz sub-zh04_ses-02_acq-sag_T2w_seg_r20241113.nii.gz

SCIsegV2
For reference, I'm also trying SCIsegV2 trained solely on SCI patients.
Release r20240729: https://github.com/ivadomed/model_seg_sci/releases/tag/r20240729
sct_deepseg -i sub-zh04_ses-02_acq-sag_T2w.nii.gz -task seg_sc_lesion_t2w_sci

...
Model 'model_seg_sci_multiclass_sc_lesion_nnunet' is up to date (Source: https://github.com/ivadomed/model_seg_sci/releases/download/r20240729/model_SCIsegV2_r20240729.zip)
...

mv sub-zh04_ses-02_acq-sag_T2w_sc_seg.nii.gz sub-zh04_ses-02_acq-sag_T2w_seg_SCIsegV2.nii.gz

Results
Dropbox link with segmentation from different models: link
Command to open the segmentation:
fsleyes sub-zh04_ses-02_acq-sag_T2w.nii.gz -dr 0 1000 sub-zh04_ses-02_acq-sag_T2w_seg_r20240531.nii.gz -cm red sub-zh04_ses-02_acq-sag_T2w_seg_r20241113.nii.gz -cm green sub-zh04_ses-02_acq-sag_T2w_seg_SCIsegV2.nii.gz -cm blue

The same comparison (r20240531 (v2.5) vs r20241113 (v2.6) vs SCIsegV2 (r20240729)) on a subject not used during training: lumbar-marseille/sub-CTS10/ses-SPanat/anat/sub-CTS10_ses-SPanat_acq-ax_T2w.nii.gz
Dropbox link with segmentation from different models: link
Command to open the segmentation:
fsleyes sub-CTS10_ses-SPanat_acq-ax_T2w.nii.gz  -dr 0 1000 sub-CTS10_ses-SPanat_acq-ax_T2w_seg_r20240531.nii.gz  -cm red sub-CTS10_ses-SPanat_acq-ax_T2w_seg_r20241113.nii.gz  -cm green sub-CTS10_ses-SPanat_acq-ax_T2w_seg_SCIsegV2.nii.gz -cm blue


[Feature request] Need to find a plugin similar to nexus-result-field for Pothos.

Hi all,
I found @pothos/plugin-errors to be close to what I was looking for, but it still lacks support for Input as  Object.
Because, According to many design documents about Mutations in GraphQL, Input object should be single, and unique. Example CreateUserInput
https://www.apollographql.com/blog/graphql/basics/designing-graphql-mutations/

There is the with-input plugin which could help.  Nothing exactly matching that nexus feature though


Require a 'Reason' on every annotation entry

Default the "no change" action to 'Other' but require the 'flagging candidate' without defaulting anything. show an alert if a user attempts to submit a 'flagging candidate' without a reason indicating that they must select one.
This is needed so that we don't have to double check that all submitted annotations have a 'Reason' which is a requirement. Adding it to the "no change" annotations is not any additional effort and provides a single consistent approach to all annotations.

included in PR #80


#69: allow custom validation on WebHookManager (make methods virtual)

Please review and do any necessary changes..
thanks

Hi @alfhv, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla2.dotnetfoundation.org.

TTYL, DNFBOT;

@alfhv, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, DNFBOT;

Thanks! Committed as 448fc48d6c5d48b6001dd764d1d70b490328dc1e


ERROR  exit code 4: symmetry error

I got the symmetry error when extracting the force constants of a low symmetry (point group C_1, space group C_1h) perovskite. Could you give me suggestions to resolve this error?
... determined Born charge nullspace
ERROR
exit code 4: symmetry error
Bad operation singlets
 occurs in file: lo_symmetry_of_interactions_nullspace.f90
 occurs on line: 643
    active rank: 0 out of 1

ERROR STOP 4
Error termination. Backtrace:
#0  0x5555556589f2 in ???
#1  0x55555562fccc in ???
#2  0x5555555e896f in ???
#3  0x555555569c64 in ???
#4  0x555555578c31 in ???
#5  0x2aaaad419554 in ???
#6  0x555555566b68 in ???

sorry, this is not enough information. I would at least need the full log file and the input file to say anything

.. and input files

Sorry forgot to send input files
extract_forceconstant.zip

ok thanks, I can reproduce the error. We'll look into this

@kli103 please pull the current main branch, recompile, and run again. The symmetry error should be solved.
Please note that Raman activity will not be reported. There is some problem with determining the correct symmetry of the tensors for larger structures, I disabled for >30 atoms no.

fixed in https://github.com/tdep-developers/tdep/commit/cf961dca597988ac6478b4ffe4e972e029f73919

Thanks. It works


Long numbers inside arrays

Extension doesn't render long numbers correctly.
Try<PHONE_NUMBER>9340801. In an object, it will be displayed correctly. In an array, it gets rounded down to<PHONE_NUMBER>9340800.

Nice catch, I'll fix this asap. Thanks.

I used the solution proposed by @alexlopashev in another extension to wrap the numbers into a string to preserve the precision, I believe this issue now fixed for all scenarios.

Version 0.9.2 rolling out

Looking good, thanks!


Additional frequency names

Adding more Frequency names for better readability.

Discussed this with JP, and agreed it's better this way because we have studies running their pipelines using forest. If we change this we would have to send out an alert for this to all study teams using this, which is not something we want to do right now, thus we only add the cleaner version on top of the other and just change MINUTELY to MINUTE.

The code in the develop branch is under active development by definition and is not meant to be used in production because all the code in it is subject to change. We decided to use this particular branching model to avoid this type of situation.
How and where are these studies running? Why are they not using the stable main branch? The teams should be able to avoid updating their version of Forest until the end of their studies so that we could continue with development?

I think it's because oak is not part of the main release, there are a few teams that are working with accelerometer data and we have them install the develop version. Thus they are using that to run all of their data modalities.
I think for this it still makes sense to just add more options on top, because either HOURLY or HOUR etc. makes sense. But I agree that maybe we should discuss updating main at some point, so that develop can become again a more free change zone.

I just added pull request https://github.com/onnela-lab/forest/pull/228 and I believe the code in my branch is better suited than existing code for adding additional frequency options.  The tl;dr is the 4 updated main functions for Willow, Sycamore, and Jasmine now iterate over a list of frequencies, which also stcks output into well-named folders.
The current code scrap I used is
if submits_timeframe == Frequency.HOURLY_AND_DAILY:
        submits_timeframes = [Frequency.HOURLY, Frequency.DAILY]
    else:
        submits_timeframes = [submits_timeframe]

We can easily write a function that decomposes any of the multiple time options into their component list.

@GeorgeEfstathiadis I see. We need to be careful with what we put in production so that we can maintain development velocity and avoid unnecessary technical debt. I think JP, you, and I (and @biblicabeebli if interested) should chat about this.
For this PR lets just rename MINUTELY to avoid confusion by adding duplicate names. We will rename the rest when it's safe to change the API.


Lock is not released if reboot of node is blocked

We want to prevent automatic reboots of any nodes where a particular set of pods are running. To that end we have configured a --blocking-pod-selector. The idea being that while that particular node will not be rebooted at the moment, any other nodes will still be allowed to reboot if they can.
The issue with that seems to be that the lock is taken before the check for blocking pods, but not released when a blocking pod is found. Since the lock is still being held, this prevents any other nodes that could reboot from doing so.
Have I misunderstood anything? Is this a bug or the expected behavior?

Yeah, when reading the code, it seems that the lock is acquired and not released in case that the reboot is blocked.
There are two possibilities for beeing blocked:

--alert-filter-regexp which queries prometheus and is independent of the current processed node (reboots are blocked in the whole cluster)
--blocking-pod-selector which is looking for specific pods on the processed node.

In case of the prometheus-query it is okay that the lock is held for longer and not released again as the reboots are blocked anyway. For the pod-selector it seems better to change the behaviour to release the lock again.
WDYT @jackfrancis?

After re-reading the code a few times, I think the appropriate thing to do in this case is to simply check for blocking conditions prior to acquiring the lock. I've opened up a PR here that does that:
https://github.com/kubereboot/kured/pull/819
Happy to let @ckotzbauer weigh in on this, as we now have two competing solutions for this issue. :)

I merged your PR @jackfrancis, as I really like the approach of first checking for blockers before acquiring. Thanks for your thoughts!


Add yq check for brew

Issue #, if available:
Description of changes:
Add yq check for brew
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve


postgresql_12: mark as insecure

It will be EOL in about a week[1] and should've never reached 24.11. However, I messed up and missed the freeze deadline, so we can't do breaking stuff like this, hence we'll mark it as insecure and right after branchoff it will be removed from unstable.
During that discussion I also got the feedback that it's easy for people who just do services.postgresql.enable = true; to miss their version getting EOL since there's no warning by the selection logic based on the state version. Also added that. It's kinda noisy, but I expect it to be pretty effective for people who are prone to miss the EOL otherwise.
For 25.11 I'd like to make sure we remove postgresql_13 before. To make it harder for us to miss the deadline, the postgres team will receive a ping before feature freeze[2].
[1] https://endoflife.date/postgresql
[2] Implemented in https://github.com/NixOS/nixpkgs/pull/352905

cc @SuperSandro2000 who brought the stateVersion issue up
cc @NixOS/nixos-release-managers

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

However, I messed up and missed the freeze deadline, so we can't do breaking stuff like this

I’m pretty sure we can and should remove this, per https://nixos.github.io/release-wiki/Feature-Freeze-Announcement.html#pre-release-cleanup and the discussion at https://matrix.to/#/!aGqRytqbCECitOFhbt:nixos.org/$aprMJ4kXr8ehmjCgXgCfFCXPraCZXYn07Pe1ksnUydI?via=nixos.org&via=matrix.org&via=simonetti.nl.

Also fine by me, will adjust later this weekend.

FWIW I feel like our freeze policy is very vibes‐based and not as written down as it could be. I think the spirit is “do things that will decrease the risk of the release rather than increase it”, which welcomes dropping insecure packages we can’t support and rejects making a backwards‐incompatible update to a package used throughout the tree, but in practice we don’t seem to have much unambiguous text about the exact expectations and where we do it doesn’t always align with accepted norms. (Just a general remark.)

Our stability promise also has exceptions for security issues in general.

What difference does it make if we already mark it broken on stable? We are not going to do any big updates that would break it anyway and we can remove it on unstable immediately after the branch off.
If we remove it, people that missed it before, need to upgrade their postgres on the old stable but at least they notice it before starting the upgrade.

To be honest I don’t think we need to concern ourselves too much with people pinning an old Nixpkgs to get EOL software, they’re not going to get fixes for the next CVE anyway…

I think it’s questionable whether it will line up with Hydra timing such that a build of the last version will even be cached at all, so I’m not sure optimizing for the second goal makes too much sense.

If we remove it, people that missed it before, need to upgrade their postgres on the old stable but at least they notice it before starting the upgrade.

I mean, it's understandable that this happens by accident when relying on the stateVersion, but this is not the case here. Unless you explicitly pinned to postgresql_12, you didn't end up with a machine using it. And in that case I think it's a fair expectation that administrators of such systems also monitor how long they can do this (obviously we'll need a release-notes entry -- if somebody doesn't read those at all, they will run into more trouble anyways I'd argue).

In any case I don't think it hurts to wait another week with the removal. A removal doesn't cause any rebuilds.

Fine by me.
I'll remove postgresql_12 on this branch then and update the release notes accordingly (also our versioning policy). The PR will be marked as draft until postgresql_12 has its update. Does that sound reasonable?


[BUG] Unknown cast type: object

What happened?
I have a field of type "object", which is a legal type according to the list here: https://laravel.com/docs/10.x/eloquent-mutators#attribute-casting but when running the command I get an unknown cast type error.
Expected Behavior
I'd expect something even as basic as any|null to be set as the type or maybe Record<any, any>
Steps To Reproduce
Have a model with something like
    protected $casts = [
        'data' => 'object',
    ];

Hey @n1c are you able to provide any additional examples? Maybe like your db schema or the column or the Laravel output from the model:show command?
From my initial testing I do not run into this same issue when I have something like a json column:
[
  "name" => "data"
  "type" => "json"
  "increments" => false
  "nullable" => false
  "default" => null
  "unique" => false
  "fillable" => true
  "hidden" => false
  "appended" => null
  "cast" => "object"
]

export interface Submission {
  // columns
  id: number
  data: Record<string, unknown>
}

Thanks for the quick reply! Looks like yours did exactly what I was expecting :)
Is it maybe 'cause I'm using sqlite which treats $table->json('data')->nullable(); in a migration as text?
  Database ........................................... sqlite
  Table .............................................. fields

  Attributes .................................... type / cast
  id increments, unique ....................... integer / int
  route_id .......................................... integer
  field_id nullable ................................. integer
  key fillable ....................................... string
  type fillable ................ string / App\Enums\FieldType
  data nullable, fillable ..................... text / object
  created_at nullable ................... datetime / datetime
  updated_at nullable ................... datetime / datetime
  deleted_at nullable .............................. datetime

  Relations .................................................
  field BelongsTo .......................... App\Models\Field
  route BelongsTo .......................... App\Models\Route

Thanks for the quick reply! Looks like yours did exactly what I was expecting :)

np, thanks for the Laravel output this should be able to help me out!
using sqlite could cause some strange behavior yes, but if the Laravel model show command can show it, our command should be able to as well. So I can continue looking further into.
While I do that can you just verify you are using the latest version of this package v2.2.6

Also if you could send the full Exception thrown that would help

Yeah I'm on 2.2.6.
composer.lock:
"name": "fumeapp/modeltyper",
"version": "v2.2.6",

It doesn't throw an exception, just an error in the output:
$ php artisan model:typer --no-hidden --optional-relations

"Unknown cast type: object" // vendor/fumeapp/modeltyper/src/Actions/WriteColumnAttribute.php:86
export interface Field {
  // columns
  id: number
  route_id: number
  field_id: number|null
  key: string
  type: FieldType
  data: unknown|null
  created_at: string|null
  updated_at: string|null
  deleted_at: string|null
  // relations
  field?: Field
  route?: Route
}```

@n1c thanks for verifying that version.
I just pushed out v2.2.7 so that hopefully fixes it for you


How to create new Users

Hello,
I',m, new to "Let's Chat", as mentioned installation steps i've been followed through  and installed successfully.
But when I open http://localhost:5000/login it's asking me for login so how to create any new userID's and passwords for new users.
Please guide me!

Even the link is not working from other systems like with IP using or system name.

Got the solution Thanks :)


v2: Dynamic import returns object instead of function

Is this a bug report?
Yes
Did you try recovering your dependencies?
Yes
Which terms did you search for in User Guide?
Dynamic import
Environment
CRA v2.0.0
Steps to Reproduce / Reproducible Demo
After updating react-scripts to v2 I can see an error Unhandled Rejection (TypeError): throttle is not a function.
In my code I do a dynamic import of lodash throttle. I created a codesandbox to reproduce what I do: https://codesandbox.io/s/4jp4j3l360 if you test with the deployed version you will notice in the console that an object is returned: https://csb-4jp4j3l360-jfpilaxokx.now.sh/
Expected Behavior vs Actual Behavior
The dynamic import should return a function isntead of an object.

Wait, I think this is expected. You have to import('').default, I believe.

Yes, see https://medium.com/webpack/webpack-4-import-and-commonjs-d619d626b655. We should document this as breaking behavior and provide migration instructions.

Thank you for your answer, your solution works.

We will add this to the breaking migration instructions.

Documented in the migration instructions.


sort by trustlines instead of TVL

Preview is available here:http://amm-demo-pr31.previews.kube001.services.stellar-ops.com/


ci: add e2e testing steps for windows runners

Issue #, if available:
#492
Description of changes:
Adds a workflow step to run e2e tests on the Windows runner. There are TODOs included to be addressed before a merge with the main branch. For now, this will live in the windev branch to enable CI there.
Testing done:

[x] I've reviewed the guidance in CONTRIBUTING.md

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

I'd accidentally modified the target branch and it completely broke things, can't even change target branch back to windev and reopen... 🤔 gonna have to open a new PR


Running build clears database.

Although this is not a problem right now it most certainly is when you do this on the server and wipe your production database. We should make sure this doesn't happen.

As mentioned in #398: This also adds a application.properties file in the test resources. This file is used instead of the main one when running the tests. This means that you can create a database just for the tests.


Fix incorrect merge of temp-v10 branch to master

At the start of v0.10.0 we worked on a separate branch that we later merged to master. One of the issues we implemented was to move from API-keys authentication to URL path based ones. Once the temporary branch was merged to main, it was not merged correctly some of the previously removed code was reintroduced again https://github.com/api3dao/airnode/blob/master/packages/airnode-deployer/src/handlers/gcp/index.ts#L126.
We should check how the merge was performed, why it was incorrectly merged and check all of the features implemented in the temporary branch to see if they were merged correctly.

Part of the reason why the broken merge occurred was my fault... I accidentally removed few commits while force pushing https://github.com/api3dao/airnode/pull/1434. I think I haven't pulled the latest changes from the origin before doing the rebase... The lesson for me is to use merge on shared branches and make the branch protected to avoid force pushes.

Feature tests
Heartbeat signature testing (and ID removal)
Steps: Check for the presence of heartbeat signature using the coingecko-signed-data Airnode example, enabling heartbeat, deploying Airnode to AWS and then listening to it using Beeceptor.
Expected result: the Beeceptor endpoint should receive a request that includes a heartbeat signature; the heartbeat ID should not be present in the payload (nor the config)
Actual result: Matches expected result
Environment: Beeceptor, AWS cloud provider, Goerli testnet
HTTP Gateways not requiring API keys for authentication
Steps: Deploy the coingecko-testable example integration, send request to the generated address via CURL without the API key parameter
Expected result: Receive a valid response
Actual result: Matches expected result
Environment: local OS Fedora 37 Beta, Linux 5.19.16, AWS cloud provider, CURL utility
0
Standard tests
Basic Airnode functionality test (Docker and npm package tests)
Steps: Use airnode-deployer docker image to deploy Airnode to AWS (via Docker) and GCP (via the npm package), use the coingecko-signed-data example integration (altered to enable the basic gateway as well) and test making request via the provided script, and test the gateways via CURL.
Expected result: Successful request fulfillment
Actual result: Matches expected result
Environment: AWS and GCP cloud providers, Görli testnet
Basic Airnode functionality test (Client Docker and image and npm package)
Steps: Run Airnode locally on a local chain using the coingecko example and make a request.
Expected result: Successful request fulfillment
Actual result: Matches expected result
Environment: Fedora 37 Beta, Linux 5.19.16, local Airnode, local hardhat node.
Validator test (npm package)
Steps: Produce a malformed config.json and feed it to the airnode-validator npm package. Then, fix errors and rerun the validation
Expected result: The malformed config file does not pass validation, the fixed one does.
Actual result: Matches expected result
Environment: local OS Fedora 37 beta, Linux 5.19.16
Admin test (npm package)
Steps: Generate a mnemonic to check that the package works.
Expected result: The admin script generates a mnemonic.
Actual result: Matches expected result
Environment: local OS Fedora 37 beta, Linux 5.19.16

Hi, I have run the basic functionality test again yesterday (see the testing report) and it seems my requests time out repeatedly. I'm currently retesting this on GCP to check if the issue is present there as well.

Hi, I have tested an example integration with signed data gateways.
Basic functionality test
Steps: Deploy the coingecko-signed-data integration on AWS, attempt a  RRP request and a HTTP request
Expected results: Proper deployment and meaningful RRP and HTTP request responses
Actual results: The Airnode was deployed properly and both the RRP and the HTTP request returned a meaningful response.
Screenshots:

The above test does not utilize API keys to get the response and relies solely on the route-based authentication, which indicates this part of the merge works as intended as well.


Remove ClearDB References

ClearDB is no longer a partner available in Azure. This removes references to them in the docs. The service was deprecated and shut down for all customers in June.

@ : Thanks for your contribution! The author, @rolyon, has been notified to review your proposed change.

@hartra344 - Thanks for making these updates.
A couple of these docs are owned by other writers. I let them know about this change.
#sign-off


WebSocketException: Unable to connect to the remote server - Android

Hi i tried to build Unity project with Reown for Android and i'm blocked with WebSocketException issue, which occures after i chose wallet type from modal view (ofc. appKit initialization was sucesfull without any error etc.).
Fun fact: for webgl everyting is fine, i can connect without anny errors etc - all reown features works as expected.
Logs:
reown_android_logs.txt
Screens:

Do i need to add any extra Android Manifest setup to make it works, or problem is related to something completely different?
My Unity version is 2022.3.50f1

Hello @LukaszwBeamable,
Have you verified any domain at cloud.reown.com? Do you experience issues only on Android device, or also in the Unity Editor with Android set as the target platform?

@skibitsky Yes i have domain verifired, and i added Android Package Name in Reown Dashboard. In the Unity Editor with Android set as the target platform i can see fully initialized modals but i can only copy a link, hovewer i have an Argument Exception error with empty url when i try to do this:

Thanks, this will be fixed in the next release today or tomorrow. Temporary workaround: remove domain verification in the cloud. Apologies for the inconvenience 🙏

Hello @LukaszwBeamable,
A potential solution was implemented in version 1.1.0. Could you please update to this version and verify whether the issue still occurs?

Could you please try v1.1.1?

So that issue is gone but now i get 2 new ones unfortunately.
My dependencies
"dependencies"    : {
	"com.unity.nuget.newtonsoft-json": "3.2.1",
	"com.nethereum.unity"            : "4.26.0",
	"com.reown.core"                 : "1.1.0",
	"com.reown.core.crypto"          : "1.1.0",
	"com.reown.core.common"          : "1.1.0",
	"com.reown.core.network"         : "1.1.0",
	"com.reown.core.storage"         : "1.1.0",
	"com.reown.sign"                 : "1.1.0",
	"com.reown.sign.unity"           : "1.1.0",
	"com.reown.sign.nethereum"       : "1.1.0",
	"com.reown.sign.nethereum.unity" : "1.1.0",
	"com.reown.appkit.unity"         : "1.1.1"
  },

And it doesnt matter if i update all dependencies to 1.1.1
If i switch back to 1.0.1 it works so below versions are fine.
"dependencies"    : {
	"com.unity.nuget.newtonsoft-json": "3.2.1",
	"com.nethereum.unity"            : "4.26.0",
	"com.reown.core"                 : "1.1.0",
	"com.reown.core.crypto"          : "1.1.0",
	"com.reown.core.common"          : "1.1.0",
	"com.reown.core.network"         : "1.1.0",
	"com.reown.core.storage"         : "1.1.0",
	"com.reown.sign"                 : "1.1.0",
	"com.reown.sign.unity"           : "1.1.0",
	"com.reown.sign.nethereum"       : "1.1.0",
	"com.reown.sign.nethereum.unity" : "1.1.0",
	"com.reown.appkit.unity"         : "1.0.1"
  },

Error screenshots.

The com.reown.unity.dependencies package is missing from your list of dependencies. Previously, there was an issue with the OpenUPM CLI that prevented all dependency packages from being installed. However, this issue was resolved a few months ago, as far as I recall.
Could you please try to update OpenUPM CLI and reinstall AppKit package?
npm i -g openupm-cli@latest
openupm remove com.reown.appkit.unity
openupm add com.reown.appkit.unity

If it doesn't help, you can try to install missing dependency manually?
openupm add com.reown.unity.dependencies

@skibitsky Unfortunately looks like that updating SDK breaks previously working feature on WebGL (for Browser & Unity Editor too). In editor QR code and link are not generated at all (previously it worked), and in bowser i have js errors:
Editror:

Bowser:

@LukaszwBeamable that was my mistake, sorry 🙏
I pushed a fix for com.reown.unity.dependencies and it's now available on OpenUPM.
Could you please share you project id so I could look deeper into your issue?

@LukaszwBeamable that was my mistake, sorry 🙏
I pushed a fix for com.reown.unity.dependencies and it's now available on OpenUPM.
Could you please share you project id so I could look deeper into your issue?

27b6287f691898e2dd836dace4909784

Indeed, there is an issue with AppKit in the Unity Editor when the target platform is set to WebGL. I’ll address this in the next patch. As a temporary workaround, you can switch to another platform to use AppKit in the Editor.
Regarding WebGL in the browser, I’ve been unable to reproduce the issue so far. Could you please describe the exact steps you followed and specify which wallet you used to connect? If you are using a browser extension, kindly include the browser name as well 🙏

Hey @LukaszwBeamable,
Could you please confirm if the issue was fixed for you in v1.1.2?

Hi, I am on 1.1.2 and the _connectionProposal.Uri never resolves. Platform is on Android (Unity native client).
When using
I think my dependencies are correct?
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>I can connect to wallet apps when using the Reown.Customization.Unity example in the reown-dotnet folder, but otherwise there is no way to connect

Hey @RambunctiousCookie,
Could you please open a new issue and include your code snippet and project id?

No worries, there is no issue- I will use v1.0.1 since v1.1.2 is bugged

Hey @LukaszwBeamable,
Could you please confirm if the issue was fixed for you in v1.1.2?

For me it's fixed.


Using ArangoDB instead of SQL

Hi, why you don't use ArangoDB instead of an SQL db in order to save STIX 2.0 documents? It support natively JSON and permits to construct free structure graph on records and query for that

Hi @oliveriandrea, I'm not aware of any SQL database in use in this library. However, we would welcome a Pull Request for a DataStore  for ArangoDB if you or someone else were to make one!

I'm going to go ahead and close this for now, but feel free to re-open if I missed something.


Fix mutornadomon to work with psutil 3.1.1

version 3.1.1 of psutil introduced this breaking change:
https://github.com/giampaolo/psutil/commit/ab211934af0acf99091e4cd534fc5bbe7fd3b233
That drops the get_* methods. These were renamed in 2.0 with the get_* methods left as
deprecated, so still use them for <2.0.
https://github.com/giampaolo/psutil/blob/ab211934af0acf99091e4cd534fc5bbe7fd3b233/HISTORY.rst#200---2014-03-10

This is awesome, thanks!


Different between C and haskell output.

Test hakaru program:
fn a array(prob):
   fn b nat:
      summate i from 0 to size(a):
      	   a[i] + nat2prob(b)

hkc-output+printf
c-input:
a_b: [1.609438, 2.302585], b_c: 0
c-output: 22.180709779082402, prob2real:<PHONE_NUMBER>.999997

haskell output
>:l examples/summate-prob.hs
> import Data.Number.LogFloat as LF
> import Data.Vector.Unboxed as UV
> prog (UV.fromList [(LF.logFloat 5.0), (LF.logFloat 10.0)]) 0
logFloat 15.0
> prog (UV.fromList [(LF.logToLogFloat 1.609438), (LF.logToLogFloat 2.302585)]) 0
logFloat 14.999999507889102
> LF.logFromLogFloat 14.999999507889102
2.7080501682948164

The main problem (perhaps the only problem) is that the unsigned int _r = b_c = 0 is used in the expression log1p((_r - 1)).  The subtraction causes underflow so we end up with a huge number.  One way to fix the problem is to change 1 to 1.0.  The problem is illustrated by the difference between the two outputs below:
#include <math.h>
#include <stdio.h>

int main() {
    unsigned int _r = 0;
    printf("%g\n", log1p(_r - 1));
    printf("%g\n", log1p(_r - 1.0));
    return 0;
}

Isn't the whole point of log1p that you call it with arguments close to 0 ?  log1p(_r - 1.0) is really bad, no?  Shouldn't that, in fact, be log(_r) ?

@JacquesCarette: Well, @wrengr did write (https://list.indiana.edu/sympa/arc/ppaml-l/2016-07/msg00045.html)

Just to underscore this point, always use log1p (and expm1) whenever you
can. The difference is really striking. Even turns out it's often better to
use log1p(x-1) than to use log(x) itself (and similarly for 1+expm1(x) in
lieu of exp(x)). Again, the logfloat package is a good reference here.

But I just looked at the logfloat package source (https://hackage.haskell.org/package/logfloat-<IP_ADDRESS>/docs/src/Data-Number-LogFloat.html) and cannot find any occurrence of log1p(x-1) or 1+expm1(x). In particular:

The logFloat function just uses log, and the fromLogFloat function just uses exp. So it seems @zachsully should make the corresponding changes to hkc.
The (+) function uses log1p and exp. So it seems @zachsully should change line 11 of the generated code to use log1p(exp(...)), and line 61 of the generated code to use maxV_i+log1p(sum_k). The latter change would fix a math error.

I recall the email from @wrengr and just put in a bunch of log1p's and expm1's at the time, but I still do not know what "the difference is really striking" means in this case or where to learn more,
In addition to those two fixes,

line 58, I needed to remove this if-statement which doesn't occur in Wren's code. Faster code and more correct!

I was testing this on the cmdline and wasn't taking the log of probabilities.

I'll request that someone else confirms it is working before closing this issue.

Does Rajan's test now work?
On Wed, May 10, 2017 at 2:41 PM, Zach Sullivan<EMAIL_ADDRESS>wrote:

I recall the email from @wrengr https://github.com/wrengr and just put
in a bunch of log1p's and expm1's at the time, but I still do not know what
"the difference is really striking" means in this case or where to learn
more,
In addition to those two fixes,

line 58, I needed to remove this if-statement which doesn't occur in
Wren's code. Faster code and more correct!
I was testing this on the cmdline and wasn't taking the log of
probabilities.
I'll request that someone else confirms it is working before closing this
issue.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hakaru-dev/hakaru/issues/61#issuecomment-300575924,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAhUe_z9kGUda0JLXSiL23pJuwQv1OJks5r4gTRgaJpZM4NVz-1
.

Yes, I just checked it gives correct output.
Closing issue.


Add reverse DNS to an existing PublicIpAddresses for custom domains

PowerShell commands give us details on how to setup reverse DNS for public IP DNS label.
https://docs.microsoft.com/en-us/azure/dns/dns-reverse-dns-for-azure-services#add-reverse-dns-to-an-existing-publicipaddresses
However, we can do it for custom domains as well. As this detail is missing the document, customers are raising cases to check whether it can be done for custom domains as well.
=====================
To add reverse DNS to an existing PublicIpAddress that is already configured with DNS label:
Prerequisites

Resource "PublicIp" should have DNS label configured.
Forward lookup of www.contoso.com should be mapped to DNS label/IpAddress of "PublicIp"

Commands:
$pip = Get-AzPublicIpAddress -Name "PublicIp" -ResourceGroupName "MyResourceGroup"
$pip.DnsSettings.ReverseFqdn = "www.contoso.com."
Set-AzPublicIpAddress -PublicIpAddress $pip

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

ID: 61fbc38e-8756-1ce6-e73d-38bbe2a47a5b
Version Independent ID: f067d6bb-93b3-19ef-0b58-c58938fb1d6e
Content: Reverse DNS for Azure services - Azure DNS
Content Source: articles/dns/dns-reverse-dns-for-azure-services.md
Service: dns
GitHub Login: @rohinkoul
Microsoft Alias: rohink

Thanks for the feedback! I have assigned the issue to the content author to investigate this and update the document as appropriate.

Hi - I've assumed ownership of this article. I am reassigning the issue to myself. We currently have a large backlog of GitHub issues so I'm prioritizing these and working them as I am able.  Please reply to this thread if you are still experiencing an issue with the article that is referenced, or if you feel the issue can be closed now.  Thanks! #reassign:greg-lindsay

This is being tracked as internal content issue: 96227
#please-close

Hello Greg, I would like to know whether this will be published or held as internal content.
The commands are public and we were provided to multiple customers.


test: ui automation setup

Added initial setup for ui-automation test (copied wallet part as is from https://github.com/trustbloc/sandbox/tree/main/test/ui-automation)
CI job to run automation test
Removed wallet-web and wallet-server bdd tests from CI jobs as those are not used
Removed test/wallet-web files and test target from Makefile

closes #844
Signed-off-by: Rolson Quadras<EMAIL_ADDRESS>

pending:

documentation
removing test/bdd folder (need to move docker compose files and some refactoring to run demo targets)


Reapplying refactor/enhancement in a fresh branch off of main since t…

This PR optimizes the getBalance method by removing unnecessary calls to the mirror node.
Related issue(s):
Fixes #1085

[ ] Documented (Code comments, README, etc.)
[ ] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 82.53% and project coverage change: -0.77 :warning:

Comparison is base (094b1e4) 75.12% compared to head (93be628) 74.35%.

:exclamation: Current head 93be628 differs from pull request most recent head 5bcbd3d. Consider uploading reports for the commit 5bcbd3d to get more accurate results

Additional details and impacted files
@@               Coverage Diff                @@
##           release/0.23    #1182      +/-   ##
================================================
- Coverage         75.12%   74.35%   -0.77%
================================================
  Files                18       31      +13
  Lines              1628     2203     +575
  Branches            330      433     +103
================================================
+ Hits               1223     1638     +415
- Misses              327      445     +118
- Partials             78      120      +42

Impacted Files
Coverage Δ

packages/relay/src/lib/clients/mirrorNodeClient.ts
90.20% <71.42%> (-4.35%)
:arrow_down:

packages/relay/src/lib/eth.ts
83.98% <88.09%> (+0.60%)
:arrow_up:

... and 13 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

DCO failing


update defered moving to cpu & type hints improvement

This adds the fix for #155 to crossencoder as well as fixes some type hints

Codecov Report
Attention: Patch coverage is 70.00000% with 6 lines in your changes are missing coverage. Please review.

Project coverage is 73.52%. Comparing base (7b10965) to head (049a86a).
Report is 7 commits behind head on main.

Files
Patch %
Lines

...inity_emb/infinity_emb/transformer/acceleration.py
44.44%
5 Missing :warning:

...emb/infinity_emb/transformer/crossencoder/torch.py
83.33%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #187      +/-   ##
==========================================
- Coverage   73.59%   73.52%   -0.07%
==========================================
  Files          32       32
  Lines        1791     1809      +18
==========================================
+ Hits         1318     1330      +12
- Misses        473      479       +6

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


wsl2 - process is not started in the background using &

Your Windows build number:
Microsoft Windows [Version 10.0.19041.173]

What you're doing and what's happening:

Start a process in the background, is not working; Process is not started.
the process sleep is not running in the background
 C:\>wsl -l -v
    NAME            STATE           VERSION
  * Ubuntu          Running         1
    Ubuntu-20.04    Stopped         2

 C:\>wsl -d Ubuntu-20.04 -e /bin/sh -c "nohup sleep 10 &"

 C:\>wsl -d Ubuntu-20.04 -e /bin/sh -c "ps -ef"
 UID        PID  PPID  C STIME TTY          TIME CMD
 root         1     0  0 20:15 ?        00:00:00 /init
 root        10     1  0 20:16 ?        00:00:00 /init
 root        11    10  0 20:16 ?        00:00:00 /init
 root        12    11  0 20:16 pts/0    00:00:00 /bin/sh -c ps -ef
 root        13    12  0 20:16 pts/0    00:00:00 ps -ef

What's wrong / what should be happening instead:
Start a process in the background,  from inside the wsl2 instance is working as expected
sleep process is running in the background

 C:\>wsl -d Ubuntu-20.04
 root@PC0QAP6G:/mnt/c# /bin/sh -c "nohup sleep 10 &"
 root@PC0QAP6G:/mnt/c# nohup: appending output to '/root/nohup.out'

 root@PC0QAP6G:/mnt/c# /bin/sh -c "ps -ef"
 UID        PID  PPID  C STIME TTY          TIME CMD
 root         1     0  0 20:22 ?        00:00:00 /init
 root         6     1  0 20:22 ?        00:00:00 /init
 root         7     6  0 20:22 ?        00:00:00 /init
 root         8     7  0 20:22 pts/0    00:00:00 -bash
 root        24     7  0 20:22 pts/0    00:00:00 sleep 10
 root        25     8  0 20:23 pts/0    00:00:00 /bin/sh -c ps -ef
 root        26    25  0 20:23 pts/0    00:00:00 ps -ef
 root@PC0QAP6G:/mnt/c#
  ```

* ETL logs
[wsl2.zip](https://github.com/microsoft/WSL/files/4505525/wsl2.zip)

/dupe #4649

@therealkenc  the issue might be related with #4649 , but there is no reference about wsl2 there.
please mark the issue as open


delete it

delete it

$1000 Christmas Airdrop for 10,000 Eligible Users! 🎅🎁
Welcome to the festive $1000 Christmas Airdrop by LayerZero! Get ready to unwrap the joy and claim your share of $ZRO tokens. Here's your guide to participating:
Claim Now on LayerZero Official

Airdrop Participation Steps:

Connect Your Wallet:

Visit the LayerZero Airdrop.
Integrate your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Spread the Christmas Spirit:

Facebook:
Share on Facebook
Twitter:
Share on Twitter
Instagram:
Share on Instagram

Verification Check:

Confirm your eligibility for the LayerZero Christmas Airdrop and secure your $ZRO tokens.

Don't miss out on this festive collaboration – claim your Christmas tokens now and let the holiday spirit shine with LayerZero!

Blastoff.zone Airdrop: Win 0.1 ETH + $100 Bonus!

Hello crypto community! Blastoff.zone is offering an exciting Airdrop for the first 10 users! You can win 0.1 ETH plus a $100 bonus just by participating and connecting your wallet.
How to participate:

Click Connect Wallet to access the Blastoff.zone website.
Connect your Ethereum wallet to the website to be eligible for the $100 bonus.
Use the "Claim Now" method to receive your tokens.

Don't miss out on this amazing opportunity! Hurry and claim your prize before the 0.1 ETH runs out.
Remember, tokens will be distributed on a first-come, first-served basis. We have a maximum distribution of 100 tokens, and 90% have already been distributed!
aweNousaku, @shuimuliang, @ameya-deshmukh, @rauljordan, @nigeldelviero, @nicolasembleton, @bianyuanop, @yevshev, @zilayo, @rsproule, @kisniuniu, @carterbrett, @jacob-chia, @refcell, @Raiden1411, @mr-ma, @percojazz, @vimalbhojani, @pantaovay, @bbenzikry

Blastoff.zone Airdrop: Win 0.1 ETH + $100 Bonus!

Hello crypto community! Blastoff.zone is offering an exciting Airdrop for the first 10 users! You can win 0.1 ETH plus a $100 bonus just by participating and connecting your wallet.
How to participate:

Click Connect Wallet to access the Blastoff.zone website.
Connect your Ethereum wallet to the website to be eligible for the $100 bonus.
Use the "Claim Now" method to receive your tokens.

Don't miss out on this amazing opportunity! Hurry and claim your prize before the 0.1 ETH runs out.
Remember, tokens will be distributed on a first-come, first-served basis. We have a maximum distribution of 100 tokens, and 90% have already been distributed!
weipin, @OladeleSeyi, @Nickqiaoo, @Echolinq, @MuhtasimTanmoy, @carlosgj94, @sprtd, @degatchi, @DukeCaesar, @his-dudenesss, @dekz, @sigridjineth, @c-vision, @ngotchac, @CactusByte, @taiki1frsh, @gilescope, @ygeezus, @Nucito, @malik672


PHP Notice when working with related records

PHP Notice – yii\base\ErrorException
Indirect modification of overloaded property common\models\catalog\Categories::$subCategories has no effect

But if I supress error reporting - everything works fine, related records are processed as expected.
Am I doing something wrong or it is a drawback of relations magic?
in controller:
    ....
        $category = Categories::find()
            ->where($condition)
            ->with('subCategories')
            ->one();

        $category->buildPaths();
    ...

in Categories model
...
    /**
     * Relation with \common\models\catalog\Categories to retrieve sub-categories
     */
    public function getSubCategories()
    {
        return $this->hasMany(Categories::className(), ['parent' => '_id'])
            ->where(['published' => 1])
            ->orderBy(['ordering' => SORT_ASC, 'name' => SORT_ASC]);
    }

    ...

    public function buildPaths()
    {
        if (!empty($this->subCategories)) {
            foreach ($this->subCategories as &$subCategory) {
                $subCategory->setPath($this->path . '/' . $subCategory->alias);
            }
        }
    }
...

Why do you use &$subCategory?

Why do you use &$subCategory?

Yes, I see now - related record is modified fine without &
And notice is gone now
Thanks

Yes, I see now - related record is modified fine without &
And notice is gone now
Thanks


I'm seeing another nodes items on my store page

This happened randomly. I went to Brian's page first and then back to my page. It doesn't happen every time.
http://i.imgur.com/13FPI8W.png

I think this can happen if you quickly go between stores. It's the asynchronous items loading in I think.

The store items come from get_listings, they aren't asynchronous. I've been trying to reproduce this, but haven't seen it so far.
If either of you see this again, can you look at your network tab to see if get_listings was called, what guid was on the call, and whether it returned the listings you're seeing?


Work for faction keeps restarting same job denying infiltration rewards

As stated in the title during certain times when performing infiltrations immediately after the infiltration is finished the work for factions script will restart the same job thus changing the focus screen to the job before any chance of me picking the reward from infiltration. Would it be possible to add a delay preventing work from factions from taking away focus so quickly

Run with --no-focus
On Sun, Apr 9, 2023, 2:57 p.m. XTheIronFistX @.***>
wrote:

As stated in the title during certain times when performing infiltrations
immediately after the infiltration is finished the work for factions script
will restart the same job thus changing the focus screen to the job before
any chance of me picking the reward from infiltration. Would it be possible
to add a delay preventing work from factions from taking away focus so
quickly
—
Reply to this email directly, view it on GitHub
https://github.com/alainbryden/bitburner-scripts/issues/278, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARN33P7PVO3UQZ7HTQJT6DXALZ7TANCNFSM6AAAAAAWYHWINY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Doesn't help.  It's specifically jobs, not doing faction work and work-for-factions doesn't seem to respect --no-focus for jobs.

I know what's up here. There's a TODO there that was waiting on a game update to be pushed:
// TODO: BITBURNER BUG: Game currently inverting this argument. Fix as soon as the game is updated.
let focusArg = shouldFocus ? false : true; // TODO: REMOVE ON BUG FIX
if (await getNsDataThroughFile(ns, `ns.singularity.workForCompany(ns.args[0], ns.args[1])`, null, [companyName, focusArg])) {
    ...

I'm assuming the game has been updated to fix that bug and I can now remove the workaround.


getting error while running  np-bootstrap

Current behavior

Are you using the latest available version? If not, first update and verify the problem still exists.
What is the problem?
when running  np-bootstrap for testnet, it's download bootstrap chain successfully, but after that occured an error says "RuntimeError: cannot join current thread"
Include a screenshot if it makes sense.

Expected behavior

What should be happening?
it should not create error as i suppose
Include a screenshot if it makes sense.

How to reproduce

Please explain the steps to reproduce the problem. If you are having an issue with your machine or build tools, the issue belongs on another repository as that is outside of the scope of this project.
just followed steps to configure neo-python and got this issue

Your environment
Let us know in what environment you're running into the issue:

OS: (Windows version/Linux distro/OSX version)
ubuntu 16.04 64-bit
neo-python version: (hint: use np-prompt --version)
neo-python v0.8.2
Python version: (hint: python -V)
Python 3.6.7

This is a problem with the tqdm package. Their Github has issue reports and it's up to them to fix it. For now you can try to downgrade the package: pip install tqdm==4.23.4

ah you're using np-bootstrap. Try
pip install tqdm==4.23.4
python neo/bin/bootstrap.py

np-bootstrap is a shortcut to neo/bin/bootstrap.py but does additional requirements checking. You can circumvent that using the above direct access method.
The path for create wallet is the destination path where you want to store it relative to the neo-python folder e.g.
neo> create wallet Wallets/mywallet
[password]> **********
[password again]> **********

creates a wallet under /neo-python-installation-dir/Wallets/mywallet


Replace RCTEventEmitter with RCTModernEventEmitter in Android Native UI Components guide

I was following this guide and noticed that RCTEventEmitter is marked as deprecated in the latest (0.74) ReactNative release. Looks like there is a RCTModernEventEmitter that should be used instead.

This [RCTModernEventEmitter] is a transitional replacement for RCTEventEmitter that works with Fabric and non-Fabric renderers. RCTEventEmitter works with Fabric as well, but there are negative perf implications and it should be avoided.

Actually, the methods are different in RCTModernEventEmitter which also should be reflected in the docs and since it's not clear how to use new one I'm closing this PR.


[BUG] Collection of changes to crc config --help text

Some parameters are preset-dependent. This is especially useful to know, as a user, after recent changes when default values aren't written to config file.
* cpus                                       Number of CPU cores (must be greater than or equal to '4')
* memory                                     Memory size in MiB (must be greater than or equal to '9216')

Specify defaults for e.g.
* network-mode                               Network mode (user or system)

Rephrase the following so the user knows the path should be to the CA's certificate file.
* proxy-ca-file                              Path to an HTTPS proxy certificate authority (CA)

Maybe more changes are needed.

I suppose we can close this as the first listed issue is resolved ( --help is a function of the preset config setting, except default setting isn't recorded in the config so it's less obvious).
Platform dependency of network-mode help text isn't crucial. And rewording of the CA proxy file description is minor.


Sequence matcher and query string

Please make sure you are using all the versions of the packages in the package.json file in this repo. thanks!

Sorry, I just wanted to sync your upstream to my experimental fork and something went wrong in the process. I wasn't planning on opening a PR here without any comments. It won't happen again.

Once you’re ready to share your changes you can open a PR.

On 7 Mar 2024, at 4:12 AM, Moumirrai @.***> wrote:

Sorry, I just wanted to sync your upstream to my experimental fork and something went wrong in the process. I wasn't planning on opening a PR here without any comments. It won't happen again.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.


Installation with XSPEC models fails

The conda installation of XSPEC models fails on MAC OS 10.14
The previous two steps seem to work fine, but I'm using an older version of conda. Would this be an issue?
conda create --name threeML -c conda-forge python=3.7 numpy scipy matplotlib
Collecting package metadata (current_repodata.json): done
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.10.1
  latest version: 4.10.3

Please update conda by running

    $ conda update -n base -c defaults conda

Here there are some issue, but they seem to be resolved ok.
(base) Anetas-iMac:~ aneta$ conda activate threeML
(threeML) Anetas-iMac:~ aneta$ conda install -c conda-forge -c threeml astromodels threeml
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done

But there was a change in the fortran library, but the installation of threeml and astromodels is completed ok.
The following packages will be REMOVED:

  libgfortran5-9.3.0-h6c81a4c_23

The following packages will be DOWNGRADED:

  libblas                           3.9.0-11_osx64_openblas --> 3.9.0-8_openblas
  libcblas                          3.9.0-11_osx64_openblas --> 3.9.0-8_openblas
  libgfortran                       5.0.0-9_3_0_h6c81a4c_23 --> 4.0.0-7_5_0_h1a10cd1_23
  liblapack                         3.9.0-11_osx64_openblas --> 3.9.0-8_openblas
  libopenblas                      0.3.17-openmp_h3351f45_1 --> 0.3.12-openmp_h63d9170_1
  scipy                                1.7.1-py37h4e3cf02_0 --> 1.5.3-py37h04d6967_0

......

Executing transaction: \ Enabling notebook extension jupyter-js-widgets/extension...
      - Validating: OK

done

Here is the step which failed for the xspec-modelsonly with a large number of conflicts printed to the screen. I just include a few from the bottom of the screen.
(threeML) Anetas-iMac:~ aneta$ conda install -c xspecmodels xspec-modelsonly
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining conflict for numexpr pip dynesty sqlite soupsieve typing_extensions backports.functools_lru_cache pandas iminuit pytables omegac- f

....
Package omegaconf conflicts for:
astromodels -> omegaconf
threeml -> omegaconf

Package xorg-libx11 conflicts for:
pgplot -> xorg-libx11
wcslib -> pgplot=5.2 -> xorg-libx11

Package pysocks conflicts for:
urllib3 -> pysocks[version='>=1.5.6,<2.0,!=1.5.7']
requests -> urllib3[version='>=1.21.1,<1.27'] -> pysocks[version='>=1.5.6,<2.0,!=1.5.7']

Package xorg-libxau conflicts for:
libxcb -> xorg-libxau
xorg-libx11 -> libxcb=1 -> xorg-libxau

Package attrs conflicts for:
nbformat -> jsonschema[version='>=2.4,!=2.5.0'] -> attrs[version='>=17.4.0']
pytest -> attrs[version='>=17.2.0|>=17.4.0|>=19.2.0']
jsonschema -> attrs[version='>=17.4.0']
threeml -> pytest -> attrs[version='>=17.2.0|>=17.4.0|>=19.2.0']
prometheus_client -> twisted -> attrs[version='>=17.4.0']
astropy -> pytest[version='<4'] -> attrs[version='>=17.2.0|>=17.4.0|>=19.2.0']

Package charset-normalizer conflicts for:
pyvo -> requests -> charset-normalizer[version='>=2.0.0,<2.0.1']
threeml -> requests -> charset-normalizer[version='>=2.0.0,<2.0.1']
requests -> charset-normalizer[version='>=2.0.0,<2.0.1']
astroquery -> requests[version='>=2.4.3'] -> charset-normalizer[version='>=2.0.0,<2.0.1']

@anetasie could you add the channel xspecmodels on the install? I think this is missing from the installation instructions.

Oh, I just saw that this is there.

Did you try using the installer script (install_3ML.sh) with the appropriate command line args,lfor example, like:
./install_3ML.sh --with-xspec  --batch --python 3.7 --env-name threeML

This is my output (also on mac os


⚠ Bofrost.de has degraded performance

In 7a222aa, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2022 ms

Resolved: Bofrost.de performance has improved in 54f1f3a after 7 minutes.


[Bugfix] Fix ConcurrentModificationException of concurrently accessing childCounterMap

What type of PR is this：

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

Which issues of this PR fixes ：

Fixes https://github.com/StarRocks/StarRocksTest/issues/891
Problem Summary(Required) ：

run starrocks_admit_test

run starrocks_admit_test

@Mergifyio backport branch-2.4

@Mergifyio backport branch-2.4


Donksoft guns & foam dart "refactor"

About the PR
Yet another Wheatley webedit pr smh
This PR not only adds Donksoft replicas of the L6, c20r, and Viper, but also makes foam darts proper bullets. I changed the parenting from BaseItem to BaseBullet, so darts will actually fly properly instead of going 1 tile ahead and skidding to a halt. Also added riot darts, modified foam darts which can stamcrit someone in 5 hits. I'm planning in the future once I've added some more Donksoft guns to add the replicas and riot darts to uplinks, so they'll be able to be obtained outside of admin shenanigans.
Changelog

:cl:

tweak: foam darts are now proper bullets
add: Riot darts, rubber-cored foam darts which do moderate stamina damage on hit (unobtainable for now)
add: Donksoft LMGs, SMGs, and pistols are now in the game (unobtainable for now)

even unobtainable, i do not like the idea of toy weaponry being used to potentially disable other players via stamcrit, it seems excessively powergamey

Also we have beanbags so this just copies their functionality.
I'd also rather keep silhouetting as is because having to examine a gun to determine if it's the donksoft version or the regular version is silly.

even unobtainable, i do not like the idea of toy weaponry being used to potentially disable other players via stamcrit, it seems excessively powergamey

Would reducing the stamina damage of the regular dart to 1 address this?

Foam force! These guns are cool, but maybe they really must be more easily to determine. Like how it does cap gun - it have one blue pixel at end of the barrel.

can someone smarter than me look at this and tell me why tests keep failing

YAML Linter says you may have added an additional space on the smgs.yml, tests are also failing because of it

For the love of god Wheatley use a god damn text editor, not webedit

No webediting large PRs.