"new_dataset is not in the dataset registry"

I have modified the file as the tutorial "1_new_dataset.md", including create new file "ls_dataset.py"  and "ls_data_source.py", and modified the "init.py" according to the tutorial.
However when I run the command
"bash tools/benchmarks/mmdetection/mim_dist_train_c4.sh configs/benchmarks/mmdetection/voc0712/faster_rcnn_r50_c4_mstrain_2x_voc0712.py /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth 1 "
It raised the error :

May I ask how to solve it? Thanks for your help.

In addition to modifying the __init__.py, you need to register you customized dataset, following this example. Thanks!

I have already register my dataset according to the "1_new_dataset.md" as below.

I searched for the solution, but could only find the solution to how to modify the mmdetection to own VOC format dataset.
As that blog said , I guess this error is because that maybe after operating as the "1_new_dataset.md" , I need to run some file as below.

But the "1_new_dataset.md"  didn't include this procedure, so after trying many methods, I still don't know how to solve this problem. Could you help me?
Thanks for your help.

I searched for the solution, but could only find the solution to how to modify the mmdetection to own VOC format dataset.
As that blog said , I guess this error is because that maybe after operating as the "1_new_dataset.md" , I need to run some file as below.

But the "1_new_dataset.md"  didn't include this procedure, so after trying many methods, I still don't know how to solve this problem. Could you help me?
Thanks for your help.

I tried so many solutions, but still couldn't solve this problem. May I get some advice? Thanks for your help.

Sorry for the late reply. We should implement your dataset in mmdetection, instead of mmselfsup. Thanks!

By "implement your dataset in mmdetection", does it mean I should run the downstream object detection task in mmdetection ?
Then how should I use the downloaded mmselfsup checkpoints "byol_resnet50_8xb32-accum16-coslr-200e_in1k_20220225-5c8b2c2e.pth" in mmdetection ?
I also tried to download the mmdetection_master project , but don't know how to run a mmselfsup downstream using mmdetection project.

There is no need to run detection in mmdetection. You can follow the steps below；

clone mmdetection to your local machine.
create your customized dataset in mmdetection, following this tutorial
in the root directory, run pip install -v -e .
finally, you can use your customizd dataset, using the same command in mmselfsup, just as before.

Thanks for your help.
I have done following the step 1~3. But in the step 4 , the same command in mmselfsup couldn't be used .
Because in mmselfsup the benchmark task commmand I use is:

But there aren't the same files in mmdetection, such as "mim_dist_train_c4.sh" and "configs/benchmarks/mmdetection/voc0712/faster_rcnn_r50_c4_mstrain_2x_voc0712.py".
So I tried to copy these two files in the mmdetection directory. And run the step 4 :using the same command in mmselfsup.

And I got the error that:

Fully result is :
"
2022-06-28 10:20:52,852 - mmdet - INFO - Set random seed to<PHONE_NUMBER>, deterministic: False
2022-06-28 10:20:53,016 - mmdet - INFO - initialize ResNet with init_cfg {'type': 'Pretrained', 'checkpoint': '/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth'}
2022-06-28 10:20:53,017 - mmcv - INFO - load model from: /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth
2022-06-28 10:20:53,018 - mmcv - INFO - load checkpoint from local path: /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth
2022-06-28 10:20:53,060 - mmcv - WARNING - The model and loaded state dict do not match exactly
unexpected key in source state_dict: layer4.0.conv1.weight, layer4.0.bn1.weight, layer4.0.bn1.bias, layer4.0.bn1.running_mean, layer4.0.bn1.running_var, layer4.0.bn1.num_batches_tracked, layer4.0.conv2.weight, layer4.0.bn2.weight, layer4.0.bn2.bias, layer4.0.bn2.running_mean, layer4.0.bn2.running_var, layer4.0.bn2.num_batches_tracked, layer4.0.conv3.weight, layer4.0.bn3.weight, layer4.0.bn3.bias, layer4.0.bn3.running_mean, layer4.0.bn3.running_var, layer4.0.bn3.num_batches_tracked, layer4.0.downsample.0.weight, layer4.0.downsample.1.weight, layer4.0.downsample.1.bias, layer4.0.downsample.1.running_mean, layer4.0.downsample.1.running_var, layer4.0.downsample.1.num_batches_tracked, layer4.1.conv1.weight, layer4.1.bn1.weight, layer4.1.bn1.bias, layer4.1.bn1.running_mean, layer4.1.bn1.running_var, layer4.1.bn1.num_batches_tracked, layer4.1.conv2.weight, layer4.1.bn2.weight, layer4.1.bn2.bias, layer4.1.bn2.running_mean, layer4.1.bn2.running_var, layer4.1.bn2.num_batches_tracked, layer4.1.conv3.weight, layer4.1.bn3.weight, layer4.1.bn3.bias, layer4.1.bn3.running_mean, layer4.1.bn3.running_var, layer4.1.bn3.num_batches_tracked, layer4.2.conv1.weight, layer4.2.bn1.weight, layer4.2.bn1.bias, layer4.2.bn1.running_mean, layer4.2.bn1.running_var, layer4.2.bn1.num_batches_tracked, layer4.2.conv2.weight, layer4.2.bn2.weight, layer4.2.bn2.bias, layer4.2.bn2.running_mean, layer4.2.bn2.running_var, layer4.2.bn2.num_batches_tracked, layer4.2.conv3.weight, layer4.2.bn3.weight, layer4.2.bn3.bias, layer4.2.bn3.running_mean, layer4.2.bn3.running_var, layer4.2.bn3.num_batches_tracked
2022-06-28 10:20:53,069 - mmdet - INFO - initialize RPNHead with init_cfg {'type': 'Normal', 'layer': 'Conv2d', 'std': 0.01}
2022-06-28 10:20:53,124 - mmdet - INFO - initialize ResLayerExtraNorm with init_cfg {'type': 'Pretrained', 'checkpoint': '/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth'}
2022-06-28 10:20:53,124 - mmcv - INFO - load model from: /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth
2022-06-28 10:20:53,125 - mmcv - INFO - load checkpoint from local path: /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth
2022-06-28 10:20:53,161 - mmcv - WARNING - The model and loaded state dict do not match exactly
unexpected key in source state_dict: conv1.weight, bn1.weight, bn1.bias, bn1.running_mean, bn1.running_var, bn1.num_batches_tracked, layer1.0.conv1.weight, layer1.0.bn1.weight, layer1.0.bn1.bias, layer1.0.bn1.running_mean, layer1.0.bn1.running_var, layer1.0.bn1.num_batches_tracked, layer1.0.conv2.weight, layer1.0.bn2.weight, layer1.0.bn2.bias, layer1.0.bn2.running_mean, layer1.0.bn2.running_var, layer1.0.bn2.num_batches_tracked, layer1.0.conv3.weight, layer1.0.bn3.weight, layer1.0.bn3.bias, layer1.0.bn3.running_mean, layer1.0.bn3.running_var, layer1.0.bn3.num_batches_tracked, layer1.0.downsample.0.weight, layer1.0.downsample.1.weight, layer1.0.downsample.1.bias, layer1.0.downsample.1.running_mean, layer1.0.downsample.1.running_var, layer1.0.downsample.1.num_batches_tracked, layer1.1.conv1.weight, layer1.1.bn1.weight, layer1.1.bn1.bias, layer1.1.bn1.running_mean, layer1.1.bn1.running_var, layer1.1.bn1.num_batches_tracked, layer1.1.conv2.weight, layer1.1.bn2.weight, layer1.1.bn2.bias, layer1.1.bn2.running_mean, layer1.1.bn2.running_var, layer1.1.bn2.num_batches_tracked, layer1.1.conv3.weight, layer1.1.bn3.weight, layer1.1.bn3.bias, layer1.1.bn3.running_mean, layer1.1.bn3.running_var, layer1.1.bn3.num_batches_tracked, layer1.2.conv1.weight, layer1.2.bn1.weight, layer1.2.bn1.bias, layer1.2.bn1.running_mean, layer1.2.bn1.running_var, layer1.2.bn1.num_batches_tracked, layer1.2.conv2.weight, layer1.2.bn2.weight, layer1.2.bn2.bias, layer1.2.bn2.running_mean, layer1.2.bn2.running_var, layer1.2.bn2.num_batches_tracked, layer1.2.conv3.weight, layer1.2.bn3.weight, layer1.2.bn3.bias, layer1.2.bn3.running_mean, layer1.2.bn3.running_var, layer1.2.bn3.num_batches_tracked, layer2.0.conv1.weight, layer2.0.bn1.weight, layer2.0.bn1.bias, layer2.0.bn1.running_mean, layer2.0.bn1.running_var, layer2.0.bn1.num_batches_tracked, layer2.0.conv2.weight, layer2.0.bn2.weight, layer2.0.bn2.bias, layer2.0.bn2.running_mean, layer2.0.bn2.running_var, layer2.0.bn2.num_batches_tracked, layer2.0.conv3.weight, layer2.0.bn3.weight, layer2.0.bn3.bias, layer2.0.bn3.running_mean, layer2.0.bn3.running_var, layer2.0.bn3.num_batches_tracked, layer2.0.downsample.0.weight, layer2.0.downsample.1.weight, layer2.0.downsample.1.bias, layer2.0.downsample.1.running_mean, layer2.0.downsample.1.running_var, layer2.0.downsample.1.num_batches_tracked, layer2.1.conv1.weight, layer2.1.bn1.weight, layer2.1.bn1.bias, layer2.1.bn1.running_mean, layer2.1.bn1.running_var, layer2.1.bn1.num_batches_tracked, layer2.1.conv2.weight, layer2.1.bn2.weight, layer2.1.bn2.bias, layer2.1.bn2.running_mean, layer2.1.bn2.running_var, layer2.1.bn2.num_batches_tracked, layer2.1.conv3.weight, layer2.1.bn3.weight, layer2.1.bn3.bias, layer2.1.bn3.running_mean, layer2.1.bn3.running_var, layer2.1.bn3.num_batches_tracked, layer2.2.conv1.weight, layer2.2.bn1.weight, layer2.2.bn1.bias, layer2.2.bn1.running_mean, layer2.2.bn1.running_var, layer2.2.bn1.num_batches_tracked, layer2.2.conv2.weight, layer2.2.bn2.weight, layer2.2.bn2.bias, layer2.2.bn2.running_mean, layer2.2.bn2.running_var, layer2.2.bn2.num_batches_tracked, layer2.2.conv3.weight, layer2.2.bn3.weight, layer2.2.bn3.bias, layer2.2.bn3.running_mean, layer2.2.bn3.running_var, layer2.2.bn3.num_batches_tracked, layer2.3.conv1.weight, layer2.3.bn1.weight, layer2.3.bn1.bias, layer2.3.bn1.running_mean, layer2.3.bn1.running_var, layer2.3.bn1.num_batches_tracked, layer2.3.conv2.weight, layer2.3.bn2.weight, layer2.3.bn2.bias, layer2.3.bn2.running_mean, layer2.3.bn2.running_var, layer2.3.bn2.num_batches_tracked, layer2.3.conv3.weight, layer2.3.bn3.weight, layer2.3.bn3.bias, layer2.3.bn3.running_mean, layer2.3.bn3.running_var, layer2.3.bn3.num_batches_tracked, layer3.0.conv1.weight, layer3.0.bn1.weight, layer3.0.bn1.bias, layer3.0.bn1.running_mean, layer3.0.bn1.running_var, layer3.0.bn1.num_batches_tracked, layer3.0.conv2.weight, layer3.0.bn2.weight, layer3.0.bn2.bias, layer3.0.bn2.running_mean, layer3.0.bn2.running_var, layer3.0.bn2.num_batches_tracked, layer3.0.conv3.weight, layer3.0.bn3.weight, layer3.0.bn3.bias, layer3.0.bn3.running_mean, layer3.0.bn3.running_var, layer3.0.bn3.num_batches_tracked, layer3.0.downsample.0.weight, layer3.0.downsample.1.weight, layer3.0.downsample.1.bias, layer3.0.downsample.1.running_mean, layer3.0.downsample.1.running_var, layer3.0.downsample.1.num_batches_tracked, layer3.1.conv1.weight, layer3.1.bn1.weight, layer3.1.bn1.bias, layer3.1.bn1.running_mean, layer3.1.bn1.running_var, layer3.1.bn1.num_batches_tracked, layer3.1.conv2.weight, layer3.1.bn2.weight, layer3.1.bn2.bias, layer3.1.bn2.running_mean, layer3.1.bn2.running_var, layer3.1.bn2.num_batches_tracked, layer3.1.conv3.weight, layer3.1.bn3.weight, layer3.1.bn3.bias, layer3.1.bn3.running_mean, layer3.1.bn3.running_var, layer3.1.bn3.num_batches_tracked, layer3.2.conv1.weight, layer3.2.bn1.weight, layer3.2.bn1.bias, layer3.2.bn1.running_mean, layer3.2.bn1.running_var, layer3.2.bn1.num_batches_tracked, layer3.2.conv2.weight, layer3.2.bn2.weight, layer3.2.bn2.bias, layer3.2.bn2.running_mean, layer3.2.bn2.running_var, layer3.2.bn2.num_batches_tracked, layer3.2.conv3.weight, layer3.2.bn3.weight, layer3.2.bn3.bias, layer3.2.bn3.running_mean, layer3.2.bn3.running_var, layer3.2.bn3.num_batches_tracked, layer3.3.conv1.weight, layer3.3.bn1.weight, layer3.3.bn1.bias, layer3.3.bn1.running_mean, layer3.3.bn1.running_var, layer3.3.bn1.num_batches_tracked, layer3.3.conv2.weight, layer3.3.bn2.weight, layer3.3.bn2.bias, layer3.3.bn2.running_mean, layer3.3.bn2.running_var, layer3.3.bn2.num_batches_tracked, layer3.3.conv3.weight, layer3.3.bn3.weight, layer3.3.bn3.bias, layer3.3.bn3.running_mean, layer3.3.bn3.running_var, layer3.3.bn3.num_batches_tracked, layer3.4.conv1.weight, layer3.4.bn1.weight, layer3.4.bn1.bias, layer3.4.bn1.running_mean, layer3.4.bn1.running_var, layer3.4.bn1.num_batches_tracked, layer3.4.conv2.weight, layer3.4.bn2.weight, layer3.4.bn2.bias, layer3.4.bn2.running_mean, layer3.4.bn2.running_var, layer3.4.bn2.num_batches_tracked, layer3.4.conv3.weight, layer3.4.bn3.weight, layer3.4.bn3.bias, layer3.4.bn3.running_mean, layer3.4.bn3.running_var, layer3.4.bn3.num_batches_tracked, layer3.5.conv1.weight, layer3.5.bn1.weight, layer3.5.bn1.bias, layer3.5.bn1.running_mean, layer3.5.bn1.running_var, layer3.5.bn1.num_batches_tracked, layer3.5.conv2.weight, layer3.5.bn2.weight, layer3.5.bn2.bias, layer3.5.bn2.running_mean, layer3.5.bn2.running_var, layer3.5.bn2.num_batches_tracked, layer3.5.conv3.weight, layer3.5.bn3.weight, layer3.5.bn3.bias, layer3.5.bn3.running_mean, layer3.5.bn3.running_var, layer3.5.bn3.num_batches_tracked
missing keys in source state_dict: norm.weight, norm.bias, norm.running_mean, norm.running_var
2022-06-28 10:20:53,169 - mmdet - INFO - initialize BBoxHead with init_cfg [{'type': 'Normal', 'std': 0.01, 'override': {'name': 'fc_cls'}}, {'type': 'Normal', 'std': 0.001, 'override': {'name': 'fc_reg'}}]
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
2022-06-28 10:20:55,392 - mmdet - INFO - Automatic scaling of learning rate (LR) has been disabled.
2022-06-28 10:20:55,399 - mmdet - INFO - Start running, host: ls@ls, work_dir: /home/ls/mmdetection-master/work_dirs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth
2022-06-28 10:20:55,400 - mmdet - INFO - Hooks will be executed in the following order:
before_run:
(VERY_HIGH   ) StepLrUpdaterHook
(NORMAL      ) CheckpointHook
(LOW         ) DistEvalHook
(VERY_LOW    ) TextLoggerHook
before_train_epoch:
(VERY_HIGH   ) StepLrUpdaterHook
(NORMAL      ) NumClassCheckHook
(NORMAL      ) DistSamplerSeedHook
(LOW         ) IterTimerHook
(LOW         ) DistEvalHook
(VERY_LOW    ) TextLoggerHook
before_train_iter:
(VERY_HIGH   ) StepLrUpdaterHook
(LOW         ) IterTimerHook
(LOW         ) DistEvalHook
after_train_iter:
(ABOVE_NORMAL) OptimizerHook
(NORMAL      ) CheckpointHook
(LOW         ) IterTimerHook
(LOW         ) DistEvalHook
(VERY_LOW    ) TextLoggerHook
after_train_epoch:
(NORMAL      ) CheckpointHook
(LOW         ) DistEvalHook
(VERY_LOW    ) TextLoggerHook
before_val_epoch:
(NORMAL      ) NumClassCheckHook
(NORMAL      ) DistSamplerSeedHook
(LOW         ) IterTimerHook
(VERY_LOW    ) TextLoggerHook
before_val_iter:
(LOW         ) IterTimerHook
after_val_iter:
(LOW         ) IterTimerHook
after_val_epoch:
(VERY_LOW    ) TextLoggerHook
after_run:
(VERY_LOW    ) TextLoggerHook
2022-06-28 10:20:55,400 - mmdet - INFO - workflow: [('train', 1)], max: 24 epochs
2022-06-28 10:20:55,400 - mmdet - INFO - Checkpoints will be saved to /home/ls/mmdetection-master/work_dirs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth by HardDiskBackend.
Traceback (most recent call last):
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmdet/.mim/tools/train.py", line 242, in
main()
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmdet/.mim/tools/train.py", line 238, in main
meta=meta)
File "/home/ls/mmdetection-master/mmdet/apis/train.py", line 244, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 127, in run
epoch_runner(data_loaders[i], **kwargs)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmcv/runner/epoch_based_runner.py", line 47, in train
for i, data_batch in enumerate(self.data_loader):
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 517, in next
data = self._next_data()
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1199, in _next_data
return self._process_data(data)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1225, in _process_data
data.reraise()
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/_utils.py", line 429, in reraise
raise self.exc_type(msg)
AttributeError: Caught AttributeError in DataLoader worker process 0.
Original Traceback (most recent call last):
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop
data = fetcher.fetch(index)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/_utils/fetch.py", line 44, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/utils/data/dataset.py", line 219, in getitem
return self.datasets[dataset_idx][sample_idx]
File "/home/ls/mmdetection-master/mmdet/datasets/custom.py", line 218, in getitem
data = self.prepare_train_img(idx)
File "/home/ls/mmdetection-master/mmdet/datasets/custom.py", line 236, in prepare_train_img
ann_info = self.get_ann_info(idx)
File "/home/ls/mmdetection-master/mmdet/datasets/xml_style.py", line 119, in get_ann_info
int(float(bnd_box.find('xmin').text)),
AttributeError: 'NoneType' object has no attribute 'find'
Killing subprocess 7547
Traceback (most recent call last):
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/distributed/launch.py", line 340, in
main()
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/distributed/launch.py", line 326, in main
sigkill_handler(signal.SIGTERM, None)  # not coming back
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/torch/distributed/launch.py", line 301, in sigkill_handler
raise subprocess.CalledProcessError(returncode=last_return_code, cmd=cmd)
subprocess.CalledProcessError: Command '['/home/ls/anaconda3/envs/mmselfsup/bin/python', '-u', '/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmdet/.mim/tools/train.py', '--local_rank=0', 'configs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712.py', '--launcher', 'pytorch', '--work-dir', 'work_dirs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth', '--cfg-options', 'model.backbone.init_cfg.type=Pretrained', 'model.backbone.init_cfg.checkpoint=/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth', 'model.roi_head.shared_head.init_cfg.type=Pretrained', 'model.roi_head.shared_head.init_cfg.checkpoint=/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth']' returned non-zero exit status 1.
Traceback (most recent call last):
File "/home/ls/anaconda3/envs/mmselfsup/bin/mim", line 8, in
sys.exit(cli())
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/click/core.py", line 829, in call
return self.main(*args, **kwargs)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mim/commands/train.py", line 107, in cli
other_args=other_args)
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mim/commands/train.py", line 256, in train
cmd, env=dict(os.environ, MASTER_PORT=str(port)))
File "/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/subprocess.py", line 363, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['python', '-m', 'torch.distributed.launch', '--nproc_per_node=1', '--master_port=20348', '/home/ls/anaconda3/envs/mmselfsup/lib/python3.7/site-packages/mmdet/.mim/tools/train.py', 'configs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712.py', '--launcher', 'pytorch', '--work-dir', 'work_dirs/pascal_voc/faster_rcnn_r50_c4_mstrain_2x_voc0712/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth', '--cfg-options', 'model.backbone.init_cfg.type=Pretrained', 'model.backbone.init_cfg.checkpoint=/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth', 'model.roi_head.shared_head.init_cfg.type=Pretrained', 'model.roi_head.shared_head.init_cfg.checkpoint=/home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth']' returned non-zero exit status 1.
"

I tried to run the task in mmselfsup again. This time raised the error that "TypeError: '_ClassNamespace' object is not callable"

I used the command "bash tools/benchmarks/mmdetection/mim_dist_train_c4.sh configs/benchmarks/mmdetection/voc0712/faster_rcnn_r50_c4_mstrain_2x_voc0712.py /home/ls/mmselfsup/checkpoints/simclr_resnet50_8xb32-coslr-200e_in1k_20220428-46ef6bb9.pth 1 "
And now the previous error "LsDataset is not in the dataset registry" didn't occur again. Instead , it got the result that ClassNamespace is not callable.
My dataset's annotation is like:

I don't know where is wrong. May I get some advice?
Thanks for your help.

The command I used in mmselfsup is  :

And got the error that:

I don't know where caught this error. And I have checked my dataset format as above comment shows.

I now both tried the mmdetection and mmselfsup. Neither could run successfully.
the mmdetecton raised the error that:
"
RuntimeError: Tried to instantiate class 'file.file', but it does not exist! Ensure that it is registered via torch::class_
"
the mmselfsup raised the error that:
"
TypeError: '_ClassNamespace' object is not callable
"
I really don't know how to solve this problem. May I get some advice? Thanks for your help.

Thanks for your help.
I have already run successfully in mmselfsup after many attempts .
According to that when I use  VOC dataset, I got the result "mAP 0.404". And in the document "model_zoo.md" , the object detection downstream task also got low accuracy as below.

Since in the paper, object detection downstream task usually got the accuracy which is higher than 0.75. However, in mmselfsup, the accuracy is low.
May I ask why the performance is not as good as the official paper said? Does it owe to my wrong operations ?

I know that the figure I put above is about the detection results on COCO. I meant that using the VOC dataset and COCO dataset, the accuracy is both low. For example, in the figure above the mAP on COCO is around 0.38, in the test I runned on VOC, the mAP is about 0.40.
May I learn about what causes this low accuracy unlike what these paper said?

Can you advise on how to use Coco dataset for target detection on mmselfsup. Very much looking forward to your reply.

I have same question as @zgp123-wq
I would like to know the steps to implement object detection with coco dataset format on Faster RCNN model with self-supervised approach.
in this repository , they used only Mask RCNN model with coco dataset format for segmentation issues , while using  faster rcnn model only  with VOC dataset format.
my dataset is in coco format , and i want to test different model within mmdetection library.
Thanks in advanced.

The issue will be closed. If you have any other questions, feel free to open a new one.


Updating release version of move_base_to_manip.

The patch looks good now.
We are waiting for another sync before merging this though...

Closing because it's superseded by PR #14129


Mappers should reject keys

require 'rom'

ROM.setup(:memory)

class Users < ROM::Relation[:memory]
end

class UserMapper < ROM::Mapper
  relation :users
  register_as :entity

  attribute :name
  attribute :age
end

rom = ROM.finalize.env

rom.relations.users << { name: 'Oskar', age: 31, phone: '123456' }

user = rom.relation(:users).map_with(:entity).first

user == { name: 'Oskar', age: 31 } # => false but should be true

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10408213-mappers-should-reject-keys?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F155789&utm_medium=issues&utm_source=github).

If there are no attributes specified, what's the expected behavior?
And how does this mesh with the exclude option?

exclude change nothing (not work)
require 'rom'

ROM.setup(:memory)

class Users < ROM::Relation[:memory]
end

class UserMapper < ROM::Mapper
  relation :users
  register_as :entity

  attribute :name
  attribute :age
  exclude :phone
end

rom = ROM.finalize.env

rom.relations.users << { name: 'Oskar', age: 31, phone: '123456' }

user = rom.relation(:users).map_with(:entity).first

p user #=> {:name=>"Oskar", :age=>31, :phone=>"123456"}

the same without attributes at all
require 'rom'

ROM.setup(:memory)

class Users < ROM::Relation[:memory]
end

class UserMapper < ROM::Mapper
  relation :users
  register_as :entity
end

rom = ROM.finalize.env

rom.relations.users << { name: 'Oskar', age: 31, phone: '123456' }

user = rom.relation(:users).map_with(:entity).first

p user #=> {:name=>"Oskar", :age=>31, :phone=>"123456"}

As I know outside model (without model) attribues works only to transform, do not drop anything

exclude is needed when you inherit from another mapper and want to exclude some inherited attributes. But overall mappers do not reject keys, attribute dsl is only used for transformations and coercions. We need to figure out how to improve that, I can see that rejecting could be handy.

yeap right now when we, from DB after create, got everything will be nice to have tool to easly map it to hash we like to have

Generally mapper for me should works like Virtus, if you don't specify any attribute then it return {}. You need to specify whole complex structure you want to have after transformation.

The thing is that a mapper becomes almost a no-op if there are no attributes specified, which makes it fast. I'd say we should have a way to tell the mapper to actually reject undefined attributes.
A typical scenario is that a relation returns tuples that are already in the expected state and doing anything extra with that is just an overhead that you don't need. My point is that rejecting attributes could be considered as a special case. For instance if you don't want certain keys to be in a tuple then in many many cases your db supports that (ie projection in RDBMS through select foo, bar ... ). Only if a given data backend is dumb and returns more data that you need and for some reason it's a problem for you then, and only then, you will need a key rejection mechanism in a mapper.
FWIW I had this case only once when mapping to anima objects because anima raises an error when there are unexpected keys in a tuple.
Please remember that mapper layer should be used when your db is lacking functionality wrt data projections.

those select ... works ok for fetching data from DB, but problem I have is with data returned after create command. We don't have any control on db side what fields we will get, and then need mapper to fix that.

But maybe we try to fix it from wrong side and we should return nothing from create call (as CQRS said) then we will have normal db read call there or allow to inject call commands do after create

Welllllllll you can always do this:
require 'rom'

ROM.setup(:sql, ['sqlite::memory'])

ROM.boot.repositories[:default].connection.create_table(:users) do
  primary_key :id
  String :name
end

class Users < ROM::Relation[:sql]
  def by_id(id)
    where(id: id)
  end

  def from_created(users)
    by_id(users.map { |user| user[:id] })
  end
end

class CreateUser < ROM::Commands::Create[:sql]
  relation :users
  register_as :create
end

class UserMapper < ROM::Mapper
  relation :users
  register_as :entity
  model name: 'User'
  attribute :id
  attribute :name
end

rom = ROM.finalize.env

command = rom.command(:users).create.with(id: 1, name: 'Jane')
command >>= rom.relation(:users).from_created
command >>= rom.mappers[:users].entity

puts command.call.first.inspect
#<User:0x007faaa36d0308 @id=1, @name="Jane">

:smiley:

:mindblow: again I realize I'm still beginner in ROM universe


Fix Android Modal Button Cutoff & Fix Unresponsive Modal Exit Button (X)

The purpose of this this pull request is two-fold:

Fix bug where modal buttons were getting cut-off on Android
Make modal exit button work for exiting modal

Asana Tasks:
https://app.asana.com/0/361770107085503/459375388568093/f
https://app.asana.com/0/361770107085503/476886092569978/f

Kylan need to resolve conflicts.

K I'll take a look


Prevent permission errors when unzipping archive.

Prevents permission problems when unarchiving the Mongo dump file on Mac OS X.
Fixes #13.

Didn't have an issue here myself but this doesn't break anything for me so merging in. Thanks.


Find algorithm to do and implement

Chose multiplication algorithm

https://github.com/raad1masum/AP-CSA-Tri-1-Project/tree/main/src/main/java/com/example/sping_portfolio/controllers/ArnavMultiplication


Name !!! difficult

I found the name a little difficult ... very discrete memory, why not consider prefix naming it?
A similar bootstrap, foundation so;
such as :btn-sm, btn-lg
There are individual components that need to display more than one class of an effect, this is a little similar to building blocks, but if used for development, sometimes you need to add yourself to some special classes for judging, so it is very bloated ...
All kinds of little friends what a good idea it can be optimized?

No


Feature Set Assessment

Describe the rich feature set that will be included in the repository. An assessment will be performed to determine what features should be included in the feature set.  Such a feature set should include features that do not overlap what is already available in the core c128lib repositories.
Features will leverage existing macros/functions/labels from the core c128lib respositories.
Update this issue with more relevant details later.

Closing.  Too generic.  Will list all new features as individual enhancement features.


Usage guidance

Created a .go file from sample in README
This output received :
./go-order-lookup.go:4:5: imported and not used: "github.com/richzw/appstore/api"
./go-order-lookup.go:18:11: undefined: StoreConfig
./go-order-lookup.go:27:10: undefined: NewStoreClient
./go-order-lookup.go:30:46: undefined: context

Seems not accessing imported
Only addition to sample code is :
package main
How should I run this ?

@timconsidine , Sorry for the incorrect README.
Please try this one
import (
	"context"
	"github.com/richzw/appstore/api"
)

func main() {
	c := &api.StoreConfig{
		KeyContent: []byte(ACCOUNTPRIVATEKEY),
		KeyID:      "FAKEKEYID",
		BundleID:   "fake.bundle.id",
		Issuer:     "xxxxx-xx-xx-xx-xxxxxxxxxx",
		Sandbox:    false,
	}
	invoiceOrderId := "FAKEORDERID"

	a := api.NewStoreClient(c)
	rsp, err := a.LookupOrderID(context.TODO(), invoiceOrderId)

@timconsidine , to make this API more simple. Please use the latest version 1.4.0 and the README is updated following the new version. Please let me know of any issues you meet.

thank you @richzw !

using v1.5 and the example  above, I get an error
no required module provides package github.com/richzw/appstore/api
after commenting it out in import, I get
./appstore.go:17:8: undefined: api  // refers to c := &api.StoreConfig{
./appstore.go:26:7: undefined: api  // refers to a := api.NewStoreClient(c)

(line numbers are screwed after adding my private key)
(running on mac in case that's relevant)

@timconsidine , for v1.5, please try
import (
	"context"

	"github.com/richzw/appstore"
)

func main() {
	c := &appstore.StoreConfig{
		KeyContent: []byte(ACCOUNTPRIVATEKEY),
		KeyID:      "FAKEKEYID",
		BundleID:   "fake.bundle.id",
		Issuer:     "xxxxx-xx-xx-xx-xxxxxxxxxx",
		Sandbox:    false,
	}
	invoiceOrderId := "FAKEORDERID"

	a := appstore.NewStoreClient(c)
	rsp, err := a.LookupOrderID(context.TODO(), invoiceOrderId)

I remove the redundant api folder after v1.5. Sorry for the inconvenient.

Close it as there is no more comment for one week, feel free to reopen it again if there is any issue.


Galshell BloodRedSkies 2.0: Error with CNC-DRAW

Gallshell is a shooter from Japan with "sexual" content for windows XP.
The game only supports a resolution of 640y480.
With CNC-DRAW i always get the error LP0630 with probably a Japanese message.
Maybe someone can take a look at it. I would be glad, thank you very much.
I don't know how it looks here with links to such contents, therefore I would have to deliver the download links somehow. It takes a bit of searching to find the game on the net....
Attached the LOG&DUMP&Screenshot
LOG and DUMP - Galshell BloodRedSkies 2.0 .zip

It uses Direct3D and cnc-ddraw supports only DirectDraw (software mode)

Thank you very much, is there any way I can find this out myself?

Just search for "Direct3D" in debug log

Yes, Direct3D is not supported. Some game got options to switch the renderer, you could check if there's a DirectDraw or Software renderer, those may work with cnc-ddraw (but might look worse, but it might not be worth it)
Closing this now, but feel free to re-open in case the game happens to have other renderer options


docs: remove spelling mistake in intro.md instalation docs

Fixes #
Proposed Changes

Removes misspelling intro.md tutorial docs

Thanks!


As a user, I want to search within a book excerpt or article so that I can see more than two results for my search terms in context.

dev notes
Existing single-document search should work on excerpt content, but we'll probably want to add a filter on the solr query to make sure we only pull back pages within range for the current excerpt.

this was trivial based on the excerpt functionality that had already been done, revising from 1 point to 0

I tested about a dozen random records - article, excerpt, ark id, single page, discontinuous page, multi-excerpt from volume, shared page - everything looks good! Also tested changing page range in backend and reindexing worked - could search for content on new page, and newly out of range page didn't show up (as expected).


[terra-paginator] Progressive-Paginator add support for unknown total pages

Description
The standard Terra-Paginator currently has support for both when the total number of pages is known and when the total number of pages is not known.
The request is to similarly add support for when the total number of pages is not known to the Progressive-Paginator layout. Currently the progressive-paginator shows Page 1 of {total} and First     <Previous     Next>     Last.  When a total count is not known, the updates will remove the "of {total}" text and the "First" and "Last" buttons.
Example Screenshots
Above tiny breakpoint: Page 1 (Previous is dithered, Next is active)

Above tiny breakpoint: Page 2+ (Previous and Next are both active)

Tiny breakpoint: Page 1 (Previous is dithered, Next is active)

Tiny breakpoint: Page 2+ (Previous and Next are both active)

Related

UX Audit: Terra-Paginator - https://github.com/cerner/terra-core/issues/3097

A Tech Design needs to be completed first in order to determine the best approach. The current Progressive-Paginator has four props (onPageChange, selectedPage, totalCount, and itemCountPerPage) which are all are required. In order to create a version where totalCount is not known, a new subcomponent might need to be made, otherwise will require a Major Version Bump if existing subcomponent can be modified to handle the API for both.

Need some inputs on choosing better approach to make Progressive-Paginator to support unknown page counts. As @neilpfeiffer  mentioned we can create new subcomponent OR we can edit existing component by updating totalCount prop from required to optional. So here are the my findings on both approach:

Creating New sub-component :

Tech Design :
Props for InfiniteProgressivePaginator:

Prop
Type
Default
Required
Description

onChange
function
none
required
Function to be executed when a navigation element is selected.

selectedPage
number
none
optional
The active/selected page, Selects 1st page when no value is provided.

Props for ControlledInfiniteProgressivePaginator:

Prop
Type
Default
Required
Description

onChange
function
none
required
Function to be executed when a navigation element is selected.

selectedPage
number
none
required
The active/selected page

Design Changes

First and Last button will not be included in new sub-components as there will be no totalCount provided to identify the last page.
itemCountPerPage prop is removed since having just itemCountPerPage without totalCount would have no value in component.

Pros :

Creating new sub-component will keep new changes to be aligned with existing Paginator pattern of restricting components for single functionality ( like controlled and uncontrolled paginators ).
easy to maintain as sub-component will not interfere with existing progressive paginator and will keep its purpose limited to only when page count is unKnown

Cons :

Requires two new sub-components ( InfiniteProgressivePaginator and ControlledInfiniteProgressivePaginator ) to support the new functionality which can also be accomplished with minor changes to existing APIs.

Link to sub-component implementation

Modifying Existing Component :

Existing Progressive and Controlled Progressive Paginators can be updated to support unknown page count by having below changes to props :

Props for ProgressivePaginator:

Prop
Type
Default
Required
Description

onChange
function
none
required
Function to be executed when a navigation element is selected.

selectedPage
number
none
optional
The active/selected page, Selects 1st page when no value is provided.

totalCount
number
none
optional
Total number of all items being paginated.

itemCountPerPage
number
none
optional
Total number of items per page.

Props for ControlledProgressivePaginator:

Prop
Type
Default
Required
Description

onChange
function
none
required
Function to be executed when a navigation element is selected.

selectedPage
number
none
required
The active/selected page.

totalCount
number
none
optional
Total number of all items being paginated.

itemCountPerPage
number
none
optional
Total number of items per page.

Design Changes

The First and Last navigation button can be removed when totalCount is not provided similar to paginator component by having check for this.props.totalCount && this.props.itemCountPerPage.
Page Index that will be displayed along with navigation button is always set to selectedPageIndex so that it remains updated as we navigate using previous and next button.
Since we are updating props to be optional from required. I feel this will remain passive for existing component and might not require MVB as well.

Pros :

Reduces overall component lists for terra-paginator. By Eliminating the need of adding new sub-components and updates existing ProgressivePaginator and ControlledProgressivePaginator to support unknown page count similar to Paginator and ControlledPaginator.
Minimal code changes compare to adding new sub-components.

Cons :

Changing the existing Props to be optional from required might conflict with it's initial intent of having all of them as required in progressive paginator ( I was not able to find any impacts ( on existing scenario ) after making props to optional from required ).

link to code changes in existing component

@supreethmr, I know for some of our services we don't know how many total items there are when we start loading items, but we do know when we reach the last page. We were hoping the component design could support having a disabled "Next" button once we know we have reached the last page. From what I can tell this isn't possible with the current design proposal, but I could definitely be missing it.

@dkschoonover  Is there an indicator for page to identify as last page...?? OR will there be any unique pointers in page that makes it to identify as last page...??

@supreethmr, yeah, usually our services have a last page indicator so we know to stop loading in new pages.

@supreethmr, yeah, usually our services have a last page indicator so we know to stop loading in new pages.

Oh okay, Well then I think once the last page is identified we can calculate and update the totalPageCount prop which will enable paginator disables next button on last page and also provides first and last buttons for navigation.
Since paginator has no interaction with the data that is being paginated. I don't see much options to support the disabling of next button in paginator as of now.


Allowed format/characters for member names

This patch contains the changes discussed in #567, to reach the following goals:

Define basic MUSTs for naming members that were missing in the spec (including support for NON-ASCII characters)
Give API designers the freedom to use another naming scheme if required
Define recommendations to standardize the naming

This suggestion includes several considerations

Existing naming of reserved members
URL mapping / URL safe characters (RFC 3986)
Readability and usability, common spelling
Reduction of potential implementation problems with some languages
Not breaking the previous naming recommendations

@ziege thanks for your work here and in #567.
I believe that many of these restrictions are sound but some go too far. It is important to allow for public discussion of each restriction. If you don't mind making a lot of tweaks, we can comment on them inline.
To start, I'd prefer that the recommendations marked SHOULD be moved exclusively to the recommendations page.
Also, there needs to be a clarification of the term ASCII. We are discussing non-control characters 32-126 only, correct? I believe that extended ASCII codes (> 128) should probably be covered in the "non-ASCII" category.

If you don't mind making a lot of tweaks, we can comment on them inline.
Let's try it...

I'd prefer that the recommendations marked SHOULD be moved exclusively to the recommendations page.
I also thought about placing it there, but didn't because these recommendations are relatively important. I also thought about linking the recommendation page but wanted to keep the relevant information in one document.

We are discussing non-control characters 32-126 only, correct?
Yes, the allowed ASCII characters are defined in detail in the sub sections of the added "Member names" section.

Sorry, one big comment... Didn't work on my mobile.

Yes, the allowed ASCII characters are defined in detail in the sub sections of the added "Member names" section.

The "Member names" section does not define what is meant by ASCII characters. It calls out specific ASCII characters, but does not define the whole set. Therefore, it is also unclear what is meant by "non-ASCII" characters.

I also thought about placing it there, but didn't because these recommendations are relatively important. I also thought about linking the recommendation page but wanted to keep the relevant information in one document.

To tell you the truth, I am reluctant to even include these as recommendations. Although the specification is in English and uses English reserved keys, non-English characters are perfectly valid for implementation-specific keys.

Ah, okay. First we called it UNICODE characters, but as this can overlap with ASCII, I changed it to NON-ASCII...
I will change it. Perhaps "UNICODE except ASCII (code 0 - 127)" is clearer. Or do you have a better suggestion?

 I think that "UNICODE except ASCII (code 0 - 127)" is the right definition.

I did the following changes:

Removed the word "ASCII" as it wasn't clearly defined
Divided the recommendations in two parts:
General recommendation in the format spec to use URL safe characters, which is relevant for URL mapping.
Further recommendations to standardize the member name format in the recommendations page only.
Avoided duplications

@passcod: I reduced it to the two resulting rules.

@ziege Thanks for fighting for all these changes! This PR really looks great, at least from where I'm standing. In particular, reserving the punctuation that we're already using (for sorting etc.) seems so crucial that I can't believe it didn't come up before, and reserving other punctuation will, I suspect, be very helpful down the line for extending the query parameter syntax. (In particular, I think it'll be important for allowing us to reference new members at the top-level of a resource object, besides type and id.) So again, just great work!

Thanks for the positive feedback @ethanresnick!

:+1:

Thanks again very much, @ziege! :shipit:

Great! Thanks to you too!

Thanks @ziege, these are some important additions.


ClassCastException while using withRecursive

Hello,
I am having troubles getting values generated by a recursive function:
    public List<Long> recursion() {
        NumberPath<Long> n = numberPath(Long.class, "n");
        Path<Long> f = new PathBuilder<>(Long.class, "rec");

        JPASQLQuery<Long> query = query().withRecursive(f, new NumberPath[]{n})
            .as(query().unionAll(
                query().select(Expressions.asNumber(0L).as(n)),
                query().select(n.add(1L).as(n)).from(f).where(n.lt(10L))
            ))
            .select(n.longValue())
            .from(f);

        return query.fetch();
    }

This results in a ClassCastException:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Number
Official MySQL documentation states:
The types of the CTE result columns are inferred from the column types of the nonrecursive SELECT part only, and the columns are all nullable. For type determination, the recursive SELECT part is ignored.

So in my understanding the Expressions.asNumber should be actually enough to tell querydsl that the column will be of the type number and not string.
Did I miss something or is there an issue with the withRecursive implementation?

After several evenings figured out that the actual issue was my dev db (H2). H2 docs state:
All columns of the table expression are of type VARCHAR, and may need to be cast to the required data type.
Meaning i have to use n.castToNum(Long.class) in order to get results as List correctly.

But now i have a question about querydsl itself ... maybe querydsl should make this cast implicitelly since it knows about the required column types in withRecursive statement?

But now i have a question about querydsl itself ... maybe querydsl should make this cast implicitelly since it knows about the required column types in withRecursive statement?

QueryDSL doesn't necessarily knows that this cast is required, because it is database dialect dependent. In most dialects such a cast is not necessary.
QueryDSL expressions transparently serialise to plain queries. If the query needs a cast, you will need to use a cast expression.
Perhaps the conclusion is that omitting the cast when we think its unnecessary a premature optimisation.


Change link to docs

Update the link to external docs from the deprecated Read the Docs site to CloudDocs

Closing this PR to submit a more direct link to the correct patching content.


How to use it?

How to use it?

Is there a chance there would some file to download for users of e.g. PyCharm? Does it work with PyCharm?

It needs an example of what's expected on the GitLab configuration, under Settings. (about url and GitLab API key)


NETOBSERV-201: configure LogLevel and Sampling

It replaces the "Verbose" binary config option by "LogLevel", to match other Netobserv components.
It also adds configurable sampling rate.
The best way to test sampling is to use grafana to count the number of processed packets.
In the following image you can see the packet count during 3 differentiated periods: no sampling (100% of packets processed), sampling==2 (50% of packets processed) and sampling == 4 (25% of packets processed).

Codecov Report

Merging #16 (232b321) into main (e9b1d44) will decrease coverage by 0.69%.
The diff coverage is 20.00%.

:exclamation: Current head 232b321 differs from pull request most recent head e6e5cef. Consider uploading reports for the commit e6e5cef to get more accurate results

@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
- Coverage   43.72%   43.03%   -0.70%
==========================================
  Files           8        8
  Lines         478      488      +10
==========================================
+ Hits          209      210       +1
- Misses        253      262       +9
  Partials       16       16

Flag
Coverage Δ

unittests
43.03% <20.00%> (-0.70%)
:arrow_down:

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

Impacted Files
Coverage Δ

pkg/agent/config.go
70.73% <ø> (ø)

pkg/ebpf/tracer.go
3.59% <14.28%> (+0.40%)
:arrow_up:

pkg/agent/agent.go
79.41% <100.00%> (ø)

Continue to review full report at Codecov.

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


The openapi3 emitter should set deprecated on an operation with the @deprecated decorator

Cadl has a {built-in) @deprecated decorator which can be applied to any language element. When applied to an operation, the openapi3 emitter should add deprecated: true to the operation in the generated openapi.

We should do this for cadl-autorest as well, the 'deprectated' operation property is supported in OpenAPI2 as well.


[Type checker] Detangle the constraints of interpolated string literals.

Constraint generation for interpolated string literals was
meticulously producing a constraint system that included all of the
generated calls to init(stringInterpolationSegment:). While accurate,
this is completely unnecessary (because the
ExpressibleByStringInterpolation protocol allows anything to be
interpolated) and leads to large, intertwined constraint systems
where:
(1) There are two additional type variables per string interpolation
segment, and
(2) Those type variables form a bridge between the string
interpolation's type variable and the type variables of each string
interpolation segment, and
(3) init(stringInterpolationSegment:) tends to be overloaded (4
overloads, down from 17 due to
2935301)
which left each string interpolation as a large connected component
with big disjunctions.
Drop the calls to init(stringInterpolationSegment:) from the
constraint system. This eliminates two type
variables per segment (due to (1) going away), and breaks the bridge
described in (2), so that each string interpolation segment is
treated as an separate connected component and, therefore, will be
solved independently. The actual resolution of
init(stringInterpolationSegment:) overloads is pushed to the
constraint application phase, where we are only dealing with concrete
types and much smaller constraint systems.
Fixes rdar://problem/29389887 more thoroughly.

@swift-ci please smoke test and merge

I'll go see if I can dig out some bugs this addresses.


Remove geocoder and geokit gems [#173120409]

These are unused gems.
See https://www.pivotaltracker.com/story/show/173120409 and links therein.

Coverage decreased (-0.02%) to 84.178% when pulling e537a51cadf19d293bd1ea7924cc1f8006f9cad0 on JoeCohen:remove-geocoder-gem into 6d88fdab052e359e991a552d46b339cdf196c556 on MushroomObserver:bootstrap-4.

This should have been a draft request. I will complete the story and reopen it.

https://github.com/MushroomObserver/mushroom-observer/pull/563 replaces this PR.


Revert "Using combineReducers to define shape of the state"

Reverts react-boilerplate/react-boilerplate#1591.
My fault, do we want this on dev branch or a separate branch?

@gretzky Is this still relevant? I'm ok with these changes personally. Could you resolve the conflicts and merge?
I'd be happy to wait for a core contributor as per @blling's comment but it's been 3 months so let's just move forward...


FIxes #96 Second Try, Rich Text Editor using tinymce

This looks good!
I did a minor change to the settings to add a comma in the list and also provide a slightly different default config that adds the menu bar in which I think is useful. I also added a migration which I don't believe does anything to the data field. Will double check this but looks okay.
I filed an issue for dark mode detection in the repository, but everything else looked better than the other plugin to me.

@danie1zhang Is this ready to move out of draft? I think we're good to merge this and close the other one.


Date won't select the day

Provide a general summary of the issue here
day selection won't work correct for Persian calendar
🤔 Expected Behavior?
If I select the  fifth to seventh day of Mehr 1402 that range to be selected not another day
😯 Current Behavior
please select the fifth to seventh day of Mehr 1402 in this Codesandbox example that I used to replicate the bug. to do this you have to go next month and select fifth and seventh day of the next month. but what you see now is another range date has been selected
💁 Possible Solution
        function toPersianCalendar<T extends AnyCalendarDate>(date: T) {
       return toCalendar(date, new PersianCalendar());
      }
const [value,setValue] = useState()
    <DateRangePickerBase
     onChange{setValue}
        value={value?.start && value?.end &&{
          start: toPersianCalendar(field.value.start),
          end: toPersianCalendar(field.value.end),
        }}
      />

🔦 Context
No response
🖥 Steps to Reproduce
 Codesandbox example
Version
"@internationalized/date": "3.0.0",
"react-aria": "3.21.0",
"react-stately": "3.19.0"

What browsers are you seeing the problem on?
Firefox, Chrome
If other, please specify.
No response
What operating system are you using?
windows
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Looks like the issue is specifically with any of the months ahead of the current date, any of the months before the current date don't exhibit this issue. Possibly related to https://github.com/adobe/react-spectrum/issues/3757#issuecomment-1446846517, where it was noted that the isSameDay helper util has problems comparing the persian dates with gregorian ones


404 page is coming up after SSO login

We are trying to up SSO login for Dispatch using OpenID. Following are the config we have done for that:
./src/auth/pkceAuthProvider.js
 20   const clientId = "15xxxxxx-2xxx-4xxx-bxxx-3xxxxxxxx"
 21   const openIdConnectUrl =
 22     "https://login.microsoftonline.com/dxxxxxx-bxxx-4xxx-8xxx-902cxxxxxx/v2.0"

 78             store.dispatch("auth/login", {
 79              token: response.idToken

./src/dispatch/static/dispatch/.env
# Authentication
VUE_APP_DISPATCH_OPEN_ID_CONNECT_URL="https://login.microsoftonline.com/dxxxxxx-bxxx-4xxx-8xxx-902cxxxxxx/oauth2/v2.0/authorize"
VUE_APP_DISPATCH_CLIENT_ID="15xxxxxx-2xxx-4xxx-bxxx-3xxxxxxxx"
VUE_APP_DISPATCH_AUTHENTICATION_PROVIDER_SLUG="dispatch-auth-provider-pkce"

And the respective configs in dispatch-docker/.env file.
We are able to get to SSO login page, and traverse through enter credentials pages. However, after the authentication it is responding with following page. None of the network trace call is showing failed with 404 though.

Require help getting past this issue. TIA
cc: @kevgliss

What version of dispatch are you using? Do you have any errors in the console?
That path does exist in the app here:
https://github.com/Netflix/dispatch/blob/master/src/dispatch/static/dispatch/src/router/config.js#L46
You wouldn't see network call as the frontend handles the route client-side.

With the latest version, I am not getting the SSO page itself. Hence, using the second latest version v20210603.
No errors are showing up on the console. Attaching log snippet for reference.
out.txt

Do you have DISPATCH_AUTHENTICATION_PROVIDER_SLUG=dispatch-auth-provider-pkce set in your config?
fwiw I just tried to re-create your issue on master an wasn't able to (although we have our own pkce provider not Microsoft).

Yes, the DISPATCH_AUTHENTICATION_PROVIDER_SLUG=dispatch-auth-provider-pkce config was added in .env file.


Feature/fill forms

added postfix -form isSubmitForm

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Rewrite case converters and add tests

Completely new approach; see comments in the code for a description.
Addresses https://github.com/twilio/guardrail/issues/153 finally.
Contributing to Twilio

All third party contributors acknowledge that any contributions they provide will be made under the same open source license that the open source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

Looks like http4s's response generation is affected by this; it wants OK, but we're now generating Ok.  I've updated the test to correspond to the change, but recognize that this may not be desired behavior.

Updated MIGRATING


Audio capture in Firefox doesn't work

There are functions that Firefox tries to use when capturing audio, which are not implemented in apulse.
To test, open https://webaudiodemos.appspot.com/Vocoder/index.html, select "live input" in "modulator" block and push play button on the page.

That was a tough one.
Implemented in d1d3e15779a0d06ba166027a7d5b786df4a74b06...86f0841da7bc51a69b7666d6b2b5317297855c81. Most of it probably is not necessary. And eventually the main obstacles were capture buffer overruns and overrun recovery code. Buffers are now at least four times as big as period sizes, and there is additional state recovery code.

Should work in v0.1.10 now.

@i-rinat Are you sure, that it really works? I have tried http://appear.in/ and http://meet.jit.si/ and both seem to have issues with recognizing audio inputs ("the microphone couldn't be found"). Shouldn't apulse tell browser some additional metadata, perhaps at least fake one?

Are you sure, that it really works?

I didn't actually tried to make a call through meet.jit.si, but microphone selection in Firefox looks fine:

Shouldn't apulse tell browser some additional metadata, perhaps at least fake one?

It does that, here: https://github.com/i-rinat/apulse/blob/86f0841da7bc51a69b7666d6b2b5317297855c81/src/apulse-context.c#L263
Are you sure you are using apulse v0.1.10?

For some reason, neither meet.jit.si nor appear.in work in Firefox 53 on my machine. It doesn't seem to be related to apulse, as it has the same behavior even with PulseAudio.

On latest master (bcd55c85365aff30668f17e2ed6ba86d5d235ce3), I can use my mic just fine with Jitsi Meet, so this seems to be fixed.

Doesn't work on 0.1.13 for me in firefox-82.0.
https://test.webrtc.org/ tells me that

Audio capture
[ OK ] Audio track created using device=default
[ FAILED ] No active input channels detected. Microphone is most likely muted or broken, please check if muted in the sound settings or physically on the device. Then rerun the test.

It works fine in ALSA with software like Mumble tho.


Domain based routing

Is there any way to use domaine based routing?
For example:
node1.example.com will send localhost:8080
node2.example.com will send localhost:8081

https://github.com/donasaur/http-proxy-rules/issues/12


Update stdArray.cls - bug fix

Fixed bug where LBound and UBound were used on an element of type stdArray instead of a native array, causing a Compile Error.

Looks good thanks :)


[Feature Request] REST Client

REST client (or HTTP client) supported in IDEA and other IDEs and editors.
How it work:

Enter url.
Select type (GET/POST/PUT/DELETE)
Add request data:
3.1) Click "Add parameter"
3.2) Add key
3.3) Add value
3.4) GOTO 3.1
Send http request
See response (may be different MIME-types)

Many developers need this REST client. REST client need for debug API and web-application without HTML interface.

https://marketplace.visualstudio.com/items?itemName=humao.rest-client

I think Postman / Advanced REST Client / the above-linked addin / etc. cover this just fine.
vscode should not be a catch-all for developer tooling.

https://marketplace.visualstudio.com/items?itemName=humao.rest-client

Thanks, but REST client with GUI (like pic) more comfortable.

https://www.getpostman.com/
https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo

Closing as extension candidate. Please see this guide for information about authoring an extension


Search endpoint doesn't work with process function

Problem is simple:
client.productProjections.asSearch().process(...)

# `asSearch` sets `_currentEndpoint` to `/product-projections/search`
# but `process` uses `baseResourceEndpoint`

So either we create a separate service for search or we try to fix process.

Only in case we provide a specific query string, right?

Yes


Add a link to the google spread sheet in README.md

I made summary charts so that we could easily get performance outline;
https://docs.google.com/spreadsheets/d/1V8xoKR9ElU-rOXMH84gb5BbLEw0XAPTJY8c8aZeIqus/edit?usp=sharing

https://github.com/maropu/spark-tpcds-datagen/commit/8d81aa347b64a64dacab58a7ec53fb0bd9516dc6


[CQLReplicator on Glue] Handling of replication write error

If during the replication, the writes to the target Amazon Keyspaces table failed for some records for some reason, how would cql-replicator handles that?
Example error:

https://repost.aws/knowledge-center/keyspaces-http-5xx-errors

@hungfaileung the CQLReplicator retires with the exponential backoff strategy (256 retires with the based delay 25ms and 1.1 multiplier), but you should plan ahead the incoming traffic and pre-warm/provision target resources to avoid retires.

@nwheeler81 Is the retry talking about Glue job or individual write to target table?

@nwheeler81 Is the retry talking about Glue job or individual write to target table?

Individual writes and Glue job retires (default 1, but you can increase it)

@nwheeler81 Thanks


set deadline correctly fix #4

This PR should fix https://github.com/getlantern/lantern/issues/5023 . @oxtoacart does it look good to you?

LGTM!  Will you use gost get to pull this into the lantern-pro repo?

Thanks yeah will pull and verify
On Monday, August 8, 2016, oxtoacart<EMAIL_ADDRESS>wrote:

LGTM! Will you use gost get to pull this into the lantern-pro repo?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/getlantern/idletiming/pull/5#issuecomment-238211685,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ7Zxco5_8Ku4FdWUgBbyD297Lm89HCQks5qdxWmgaJpZM4Je4gy
.


Dynamo DB table for scheduling

Indexes added for the following:
scheduleId: Pull schedule when job being processed
customerId-commName: Get comms to deschedule
status-orchestrationExpiry: Read in all "Pending" and "Orchestrating + more than X minutes past expiry" schedules at start up

This PR was successfully deployed to production by CircleCI build 95 at 2017-02-09 12:02 GMT.


This might improve issue #716. The code no longer generates compound …

…symbols when subscripts are present, but merely lists simple symbols. This might not be ideal, but avoids the odd results seen in issue #716.

With text entry, this would break things too much. We'll have to rethink if it becomes a problem again!


Add changelog

Description
@oze4  What do you think?

Amazing as always, my friend!

Maybe I need to reduce the version again 😅

What do you mean? Why would you need to reduce the version? Only asking because I can't see the reason lol Everything seems good to me.

But I do need to update the contributing/publishing guide because you've made that a lot easier.

I updated the version twice I think. I will update the contribution file.

I added those changes to this PR. So the Publishing guide is updated.

Yes, these look nice. Merging?


Docker Registry Auth credentials

Hi!
I'm not sure I'm writing to the proper place. So if this issue is not related to the project, then please excuse me :)
The problem is the following:
When I add new credentials with type Docker Registry Auth I cannot specify scope, so that these creds are not visible to jobs. I can specify scope for all credentials types but this one - Docker Registry Auth .
Can you please help me?
Thanks!
Regards,
Sergey

Could you show screenshot where are you trying to use it?

Username and password creds type - scope can be chosen

Docker registry  Auth - no scope

When I create a job reference appear for some reason when I choose creds for SCM

Regards,
Sergey


Changes to parse-evaluator and PE/GT/TP pipeline components

Changes to parse-evaluator were made in order to use the same code base for both parse-evaluator and grammar-tester. Alternative mode left untouched so far except for output_path and token list sort in tokenization comparison mode that were added in order for repeatability of unit tests;
Few ordinary mode parse-evaluator bugs were fixed along the way;
Parse evaluator separate component were added to pipeline;
Random and sequential parsers previously dwelled in parse-evaluator were added to text-parser pipeline component;
Pipeline integration test library were created;
Number of pipeline integration tests were added;
Number of parse-evaluator command line script tests were added for both ordinary and alternative modes;
Slight modifications of grammar-tester were made.

Good merge. As far as I tested, results are consistent and most things are working. I did catch one problem, check issue: https://github.com/singnet/language-learning/issues/222


[fix] syntax error of non-english character

This is a bug fix.
Dear the make of one of the world's greatest jekyll theme.
[problem]
I found that
'Syntax Error' occurs when non-english character is included in some html elements(e.g h2, h3 ...) and 'toc' is generated based of that elements.
[debug]
Click the any element of auto generated 'toc' in the below link.
https://aliwo.github.io/swblog/series/principles_of_python/object/#객체와-클래스의-정의
[fix]
This happens because escaped url string get right in to jquery. So I fixed it with
javascript's 'decodeURI' function! :)

Actually, I’m waiting for the request be accepted.
Is there any problem left? ❓


Adds find!

per our chat @twerth - think this covers it, but let me know if I missed the mark!

cool!

This redeems you from the PM.logger debacle of 2015. 😏

hahah thanks @markrickert the year is young - lets hope thats the worst of it :grinning:


Fatal error: Uncaught Error: Class 'StaticHTMLOutput\

Fatal error: Uncaught Error: Class 'StaticHTMLOutput\Controller' not found in /home/g6/public_html/wp-content/plugins/static-html-output-master/static-html-output-plugin.php:26 Stack trace: #0 /home/g6/public_html/wp-admin/includes/plugin.php(2297): include() #1 /home/g6/public_html/wp-admin/plugins.php(191): plugin_sandbox_scrape('static-html-out...') #2 {main} thrown in /home/g6/public_html/wp-content/plugins/static-html-output-master/static-html-output-plugin.php on line 26

I have the same issue running inside a bitnami docker container, for release 6.6.22 and 6.6.23

Running composer install in the folder: /home/g6/public_html/wp-content/plugins/static-html-output-master/ solved the issue for me.

Running composer install did not fix it for me.

Feel free to grab the zip from https://statichtmloutput.com/thanks-for-donating/ for now, if experiencing issues running composer install


Where to Host

Hey guys I was planning to host this amazing program on a server.
I thought about Heroku, but I am struggling to deploy and start the program since I cannot find a way to inject the  and  while running the file.
Has anyone already done it and can help me ? Or suggest another host ?
Thanks in advance
Giovanni

The public API that I host is actually hosted on Heroku. I forgot to mention in the README that you can set the USERNAME and PASSWORD environment variables to your Spotify credentials.
Here are the commands I use to deploy it to Heroku:
wget https://github.com/evilarceus/sp-playcount-librespot/releases/download/v1.4/sp-playcount-librespot-v1.4.jar
heroku deploy:jar -a <heroku app name> "core/target/librespot-core-jar-with-dependencies.jar"

Or if you're compiling from source:
git clone https://github.com/evilarceus/sp-playcount-librespot
cd sp-playcount-librespot
mvn clean package
heroku deploy:jar -a <heroku app name> "core/target/librespot-core-jar-with-dependencies.jar"

In Heroku:

The public API that I host is actually hosted on Heroku. I forgot to mention in the README that you can set the USERNAME and PASSWORD environment variables to your Spotify credentials.
Here are the commands I use to deploy it to Heroku:
wget https://github.com/evilarceus/sp-playcount-librespot/releases/download/v1.4/sp-playcount-librespot-v1.4.jar
heroku deploy:jar -a <heroku app name> "sp-playcount-librespot-v1.4.jar"

Or if you're compiling from source:
git clone https://github.com/evilarceus/sp-playcount-librespot
cd sp-playcount-librespot
mvn clean package
heroku deploy:jar -a <heroku app name> "core/target/librespot-core-jar-with-dependencies.jar"

In Heroku:

IT CRASHED


How Utilities Can Use CIAM to Avoid 3 Common Problems

Add SEO label, as new metadata isn't included yet.


Semester End / Spring Planning

Hello Everyone,
I hope you had a great break! I'm testing the waters to see if there is interest in a end-of-semester event and to think about planning for the spring.

I'm up for a little gathering next week, but I (and I know at least @ashiklom and @bcow) are going to AGU the week after that, and I think everyone is probably more than a little busy for the end of the semester.
Perhaps we should focus on the Spring then, and gather here the ideas we've had for events but not had a chance to implement.
I have two questions:

Is the format of the events (generally a little presentation plus some working time) we've been having what we want? Do we want more working time, more presentation, something else entirely?
How can we get a wider variety of people to show up? We had some interest from bioinformatics early in the semester, and attendance certainly plummeted from all disciplines in the last few weeks, but it would be nice to see some more people.

all great questions - curious if we can get a group together before the break or if we should wait until Jan. I'd prefer to meet sooner but understand the time of the semester we are in.

I don't think I'll be able to do anything before the New Year -- still lots
to do before an upcoming conference.
My two cents on question 2 above: I think the best way to do this is to try
to recruit ambassadors from other departments. The best way to get people
to attend seems to be guilting them in person, which we obviously can't do
effectively outside our own departments. Plus, that will allow us to cater
events closer to the needs of different departments. Not sure about the
best way to do this though -- maybe just ask attendees from other
departments if they would be willing to take on a more active role?
On Fri, Dec 2, 2016 at 10:19 AM, Tom Hohenstein<EMAIL_ADDRESS>wrote:

all great questions - curious if we can get a group together before the
break or if we should wait until Jan. I'd prefer to meet sooner but
understand the time of the semester we are in.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bulib/studyGroup/issues/70#issuecomment-264477905,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFasXbN5TnRlyKT1y46PpLlO5pNj70Nuks5rEDbpgaJpZM4K_gL7
.

one thing we could do it to survey everyone on the mailing list about interests and what people would be willing to teach. a few other groups have done that with success.

it might also be best to wait until after the new year ...


Add support for ClickHouse DDL query syntax (on cluster)

Add support for ClickHouse DDL query syntax (source)
This is an example only on CREATE TABLE statements. If you're happy to go ahead with supporting this, I can add this to all CREATE DROP ALTER and RENAME queries

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

20 of 22 (90.91%)  changed or added relevant lines in 3 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.01%) to 89.794%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/ast/mod.rs
4
5
80.0%

src/parser.rs
7
8
87.5%

Files with Coverage Reduction
New Missed Lines
%

src/ast/mod.rs
1
78.84%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
8789

Relevant Lines:
9788

💛  - Coveralls


Push to repository results in "PANIC: runtime error: invalid memory address or nil pointer dereference"

Description
We have been porting repositories from a legacy Gitlab instance, and have had no issues except for one particular repository. This repo could not be directly migrated by Gitea; the raw Gitlab repos (*.git) were dropped into the appropriate owner directory on Gitea and successfully adopted by Gitea using the documented process. Everything looks great and the repo can be successfully cloned over HTTP or SSH.
However, any sort of push operation (commit, branch delete) results in a panic from an "invalid memory address or nil pointer dereference."  The gist includes three different panic origins and their stack traces.
The repo in particular has a few large binary blobs, 17 branches, 630 commits, 235 tags, and occupies 58 MiB. I will note that the ".pack" file under objects/pack occupies 79553430 bytes. We're willing to prune out old commits and branches, but would have to do that off Gitea since push is currently broken, if that is our only option.
I would attempt to reproduce it on the Gitea demo site but the repo contains proprietary IP.
Thank you!
Gitea Version
1.22.0+41-g3fcf865a4b
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
https://gist.github.com/gmaxwell447/b45ee124ad25e04bdc39619a254d6247
Screenshots
No response
Git Version
2.39.3
Operating System
Rocky Release 9.3 with SELinux enabled, Red Hat Server Level 1 Security Profile
How are you running Gitea?
I have tried the downloaded 1.22.0 binary (gitea_1.22.0_dev-1092-g02d4a62e3) along with the nightly build (1.22.0+41-g3fcf865a4b). Gitea is running on a Hyper-V hosted VM (no container), launched as a systemd service (service file included in gist).
Database
MySQL/MariaDB

A workaround is to run the "Sync branches" from the admin dashboard panel.


Add "checkstyle" linting support (disabled) to the pom.xml

There is an example of how to do this in the mod-copycat project file, https://github.com/folio-org/mod-copycat/blob/51bef18313a4858b30833d2fa6a461ceb52caecf/pom.xml#L414-L439
This may not be a smart move: Adam writes:

If you are adding this plugin to an existing project, there could be many lines to fix !
and Niels Erik Nielsen comments:
Right, 3,400 warnings in mod-inventory-update, 70% of these about indentation, another 20% about line length and whitespace, the  remaining 10% mostly Javadoc, order of imports, use of HRID and UUID in names.
Maven's  checkstyle config yielded a lot more though, apparently entirely different rules for whitespace around brackets and parentheses in Maven's default checkstyle.

But it's worth at least looking at this and making a decision.

(Note that there are many lint errors: the plugin is disabled until I have time to look at these and decide which to fix and which are the result of silly rules which should be disabled.)


ILI9341 freeze with adafruit_ili9341 lib

When i'm try run this code:
import board
import busio
import displayio
import terminalio
import adafruit_ili9341
from adafruit_display_text import label

dc=board.GP5
rst=board.GP6
blk=board.GP7
cs=board.GP8

spi = busio.SPI(clock=board.GP2, MOSI=board.GP3, MISO=board.GP4)

displayio.release_displays()
display_bus = displayio.FourWire(spi, command = dc, chip_select=cs, reset=rst)

display = adafruit_ili9341.ILI9341(display_bus, width=320, height=240, rotation = 180)

splash = displayio.Group()
display.show(splash)

the emulator freezes and the following messages appear in the js console

Sure, https://wokwi.com/projects/333969171970785876

Just updating that I managed to reproduce the issue, but still haven't had a chance to dig into it. It's on my radar, though.

reporting here beacuse it seems related:
I tried to run some micropython SPI code on the emulator, and found out that spi.write fails to write any any buffer of length longer than 32 (included). no data ever reaches the rp2040js's spi data callback, not even the first 32 bytes.
e.g given the firmware:
from machine import SPI
spi = SPI(0)
spi.write(b"0123456789abcdef0123456789abcde")
spi.write(b"0123456789abcdef0123456789abcdef")

the rp2040js spi callback will only be called for every byte in the first write.
investigating the micropython repo, I figured ports/rp2/machine_spi.c#machine_spi_transfer is the function responsible for actually calling the pico sdk spi_write_blocking func. Look at its code: if the input buffer length is >= 32, then data is sent to SPI via DMA which in rp2040js is not yet implement
good news are DMA already exists in rp2040js, it just doesn't seem wired into the SPI peripherial. Im looking into the fix 🙏


Check needed changes and clarify open points to use Fleks directly in Korge

As you know we have currently a copy of Fleks in Korge as Korge-fleks module. The sources in Korge-fleks are a copy of the "next" branch here.
In Korge there is a PR to remove korge-Fleks and use Fleks directly -> https://github.com/korlibs/korge-next/pull/718
I will use this space here to discuss any open points for the standalone integration/usage of Fleks with Korge.

[x] check Fleks-ecs sample in Korge with locally released Fleks for targets JVM, js, native (linux x64, mingw x64), Android

[x] jvm
[x] js
[x] native (linux x86)
[x] native (mingw x86)
[x] Android (it compiles, could not test it on device yet)

[ ] check all needed build targets for Korge in a Korge game

[x] Fleks (common code)
[ ] Fleks-android
[x] Fleks-js
[x] Fleks-jvm
[ ] Fleks-linuxx64
[ ] Fleks-mingwx64

[ ] Do final Fleks release

In my opinion we are close to something here. When we find out in #53 why the dependency cannot be used anymore in KorGE like it did before then we can release KMP-1.3 with quite some features/updates and fixes and also it is then easy to add it to any KorGE game.
As mentioned, it might be related to the SNAPSHOT version or an IntelliJ bug. I will try some more things on the weekend.

Korge has a "special" android build target which seems to be based on jvm (?) but I guess we have to support it specifically if we want to use Fleks in a Korge Android game.
Also the native target in Korge is split at least into "linux x64" and "mingw x64". So here we would also need to check how to support them.
There are also iOS and MacOS X targets but I cannot check them since I am currently unwiling to invest into that hardware ;)

I tried to use Fleks in the ecs-fleks example project in Korge and it failed because of not existing build units:

So it looks that we would need to add those to Fleks if we want to use Fleks in Korge from external.

I could finally check the Fleks-ecs sample in Korge successfully while using the 1.3-KMP-SNAPSHOT local release of Fleks for at least the most common platforms as seen above.
I used as base the following branch in Korge: https://github.com/korlibs/korge/tree/feature/Update_Fleks_to_v1.3_and_adapt_ecs-fleks_sample_code
Fyi @soywiz

Not sure if this helps but maybe for android we need to check out this: https://kotlinlang.org/docs/multiplatform-publish-lib.html#publish-an-android-library
Seems like some additional gradle setup is necessary to correctly publish it?

Is there anything still pending for this issue? Or can we close it? ;)

We can close this issue here as I think we do not need any further changes in Fleks.
I will check my branch in korlibs repo and adapt it so that the Korge example for Fleks is using Fleks from Maven.


Cannot read property 'beforeStep' / 'afterStep' of undefined

When the joyride is finished, and I click the button that starts it again, I get Cannot read property 'beforeStep' of undefined and Cannot read property 'afterStep' of undefined.  Example code:
$scope.startJoyRide = function() {
    joyride.start = true;
    if ($scope.step1) {
        joyride.config = {
            steps: [
                {
                    type: 'element',
                    selector: '#div-1',
                    content: 'Some text.',
                    placement: 'left'
                },
                {
                    type: 'element',
                    selector: '#div-2',
                    content: 'Some text.',
                    placement: 'left'
                },
                {
                    type: 'element',
                    selector: '#div-3',
                    content: 'Some text.',
                    placement: 'left'
                    },
                {
                    type: 'element',
                    selector: '#div-4',
                    content: 'Some text.',
                    placement: 'left'
                }
            ]
        };

        if ($scope.step2) {
        joyride.config = {
            steps: [
                {
                    type: 'element',
                    selector: '#div-1',
                    content: 'Some text.',
                    placement: 'left'
                },
                {
                    type: 'element',
                    selector: '#div-2',
                    content: 'Some text.',
                    placement: 'left'
                },
                {
                    type: 'element',
                    selector: '#div-3',
                    content: 'Some text.',
                    placement: 'left'
                },
                {
                    type: 'element',
                    selector: '#div-4',
                    content: 'Some text.',
                    placement: 'left'
                }
            ]
        };
    joyride.config.template = './views/modules/admin/joyride.html';
}

Perhaps the issue is with current: -1 in the joyride object. Not sure why there is a -1 as current. It only happens on after clicking next slide too. If I launch the joyride and click "Done" instead, it never goes a step, therefore current is still 0.

I fixed by opening the source file joyride.js and changing the function afterTransition to the following:
            if (scope.joyride.transitionStep == 'next') {
              scope.joyride.current++;
            }
            else {
              if (scope.joyride.current > 0) {
                scope.joyride.current--;
              }
            }

This way scope.joyride.current-- won't ever be a negative number, hope this helps someone, or should I open a PR?

https://github.com/ahmed-wagdi/angular-joyride/pull/21

Hey @edarioq sorry for the late reply.
I'm having trouble recreating this, based on the code you posted above:
https://next.plnkr.co/edit/lbnsbshEC46w7aWr
I had to make some changes because i dont know what your template contains or how $scope.step1 is set. It would be helpful if you could change the plnkr i posted above to better reflect the problem you were having.


Attachment download not working

RainLoop version, browser, OS:
Rainloop: <IP_ADDRESS>
Chrome Browser: 58.0.3029.110 (64-bit)
Windows 8.1 all updates till 16.05.2017
Expected behavior and actual behavior:
Download should have the correct name. but actually is called "Download".
Also it fails due to network error. but if I restart the download manually it suddenly works..
Steps to reproduce the problem:
Try to download any attachment.
Further information about the problem
I have found that the header x-frame-options:DENY is blocking an iframe which should download the correct file.
I have also tried to setup my webserver to send a header of "x-frame-options: SAMEORIGIN" however this seems to get overriden somewhere (I am using nginx and dovecot as imap server)
I also found that there is an ini setting in the application.ini which i set to SAMEORIGIN however this only results in the headers containing two instances of "x-frame-options:" one with "SAMEORIGIN" and another after it with "DENY" I cannot for the life of me figure out where the second entry is comming from, it certainly is not in the nginx settings.
Logs or screenshots:
the javascript console outputs the following:
 Refused to display 'https://{Website}.de/?/Raw/&q[]=/_lxELoTQqffdsCOXj3HoVZPnvkhG0F70zO1g…w-4FI1-0ZlkIvb91hOPQLjL9UMagQ_StB9FoeFdyXHQl9EOWLrIbojXJRPEkbmJGhGY405Rup8' in a frame because it set multiple 'X-Frame-Options' headers with conflicting values ('SAMEORIGIN, DENY'). Falling back to 'deny'.

Upon further investigation, the additional x-frame-options: deny seems to be added after php has run. I have absolutely no idea how this is possible.
Oh FIY in FF the download of attachments works just fine.

RainLup does not do anything special with the x-frame-option header if you did not change the [security] x_frame_options_header setting.

Hmm then I am at a total loss, even if i set the security setting to GOFORIT it still outputs the header twice once with GOFORIT and once with DENY.. And DENY wins the race in chrome.
Any Ideas where the second x-frame-options could come from? I configured nginx with the following line:
add_header X-Frame-Options SAMEORIGIN;
and it works on all the other sites I have on the server, just the rainloop site keeps sending the DENY which seems to override everything.

I have found it, I used the following command to search through the nginx settings:
grep -ri "X-Frame-Options" /etc/nginx


README code not working

require 'dry-initializer'

class User
  extend Dry::Initializer::Mixin

  param  :name,  type: String
  param  :role,  default: proc { 'customer' }
  option :admin, default: proc { false }
end

/Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/plugins/type_constraint.rb:9:in `call': String used as constraint for argument 'name' is not a dry-type. (Dry::Initializer::Errors::TypeConstraintError)
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/plugins/base.rb:18:in `call'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/builder.rb:53:in `block in define'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/2.3.0/set.rb:306:in `each_key'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/2.3.0/set.rb:306:in `each'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/builder.rb:53:in `map'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/builder.rb:53:in `define'
	from /Users/joe/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/dry-initializer-0.4.0/lib/dry/initializer/mixin.rb:16:in `param'
	from test.rb:6:in `<class:User>'
	from test.rb:3:in `<main>'

@joevandyk The thing is that dry-initializer from v0.4.0 does not support plain types, only dry-types.
Your example could be re-writtten as
require 'dry-initializer'
require 'dry-types'

module Types
   include Dry::Types.module
end

class User
  extend Dry::Initializer::Mixin

  param  :name,  type: Types::Coercible::String
  param  :role,  default: proc { 'customer' }
  option :admin, default: proc { false }
end

tbh, I updated docs on dry-rb.org, but had not published them yet.

well publish them then ;)


KAFKA-9919: Add logging to KafkaBasedLog::readToLogEnd

Jira ticket
Just some simple logging additions that should make life easier when the worker can't get caught up to the end of an internal topic.
Committer Checklist (excluded from commit message)

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

@ncliang, @gharris1727, @aakashnshah would you mind taking a look when you have a chance?

ok to test

Thanks @kkonstantine! These all seem like reasonable suggestions and I've applied them all. Ready for the next round when you have time.

retest this please

Only flaky failures in unrelated tests:
GlobalKTableIntegrationTest failed in all builds and PlaintextConsumerTest.testLowMaxFetchSizeForRequestAndPartition failed once on jdk8.
That's good enough for this PR. Merging to trunk and 2.5


GraphQL CQL-first: support counter increments

Counter tables only support increment updates, so we don't even need a special syntax for this. The convention could be that if it's a counter table, then every non-PK field is interpreted as an increment:
CREATE TABLE counters(k int PRIMARY KEY, c1 counter, c2 counter);

mutation {
  updatecounters(value: { k: 1, c1: 1, c2: -1 }) {
    applied
  }
}

#1005 adds the increment operation to the query builder API.


Make NoiseTexture threading more robust

Fixes crash when a NoiseTexture was freed before the generation thread finished.
Fixes #32699

Thanks!


expression: Support bin-to-uuid and uuid-to-bin

What problem does this PR solve?
Support bin-to-uuid and uuid-to-bin in pingcap/tidb#20119
What is changed and how it works?
and function const UUIDToBin and BinToUUID
Check List
Tests

Unit test

Code changes

Has exported function/method change

Please add some test cases to parser_test like UUID_SHORT().
Rest LGTM

test cases have added
PTAL

LGTM


[Improvement][master] command slot allocation optimization

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Currently, all masters occupy the slots allocated by the command. However, when resources are scarce, some masters no longer consume commands, which will result in commands in certain slots being unable to run. When registering a master, both /all and /run lists can be registered at the same time./all offline represents the need for fault tolerance, and /run offline reallocates slots. When the master resource is insufficient, it will be removed from the /run list
目前，所有master都占用command分配的插槽。但是在资源短缺时，一些mater不再消费command, 这将导致某些槽位的command一直无法运行。master在注册时, 可以同时注册/all和/run两个列表,/all下线代表需要容错, /run下线重新分配槽位, master资源不足时将自己从/run列表上下线.
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

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

Hi, @eye-gu , I'm +0 to this for two reasons:

First, Master is less likely to keep high resource utilization. When we judge overload and sleep for a while, maybe after few seconds, as more and more commands are consumed, Master should have enough CPU and memory to continue finding and consuming other commands. Thus, I think what user should think over whether this machine is suitable to deploy a Master, better not run some other compute-intensive applications on it.
Second, if you introduce online/offline master path, you have to add another listener to synchronize online Master, which will introduce other overhead, and during this step, all Master can not consume commands. And if online and offline operation is frequent, performance will be worse.

Hi, @eye-gu , I'm +0 to this for two reasons:

First, Master is less likely to keep high resource utilization. When we judge overload and sleep for a while, maybe after few seconds, as more and more commands are consumed, Master should have enough CPU and memory to continue finding and consuming other commands. Thus, I think what user should think over whether this machine is suitable to deploy a Master, better not run some other compute-intensive applications on it.
Second, if you introduce online/offline master path, you have to add another listener to synchronize online Master, which will introduce other overhead, and during this step, all Master can not consume commands. And if online and offline operation is frequent, performance will be worse.

A master node is processing a large workflow, resulting in a consistently high memory usage. Perhaps users can choose the slot allocation method through configuration
It can also be solved through configuration, such as offline when the memory usage is 0.9 and online when it is 0.7
What do you think about it?

It can also be solved through configuration, such as offline when the memory usage is 0.9 and online when it is 0.7

We already have configuration max-cpu-load-avg and reserved-memory to judge overload, however, aforementioned problem still exists.

And if online and offline operation is frequent

At present, the indicators for online and offline are the same, and when the master happens to load near this indicator, it is easy to encounter the frequent online and offline issues you mentioned. My example is that the master goes offline when the load is greater than 0.9, but instead of immediately going online when the load is less than 0.9, it goes online when the load is less than 0.7 to solve the problem of frequent online and offline
If this interval configuration method is used, the master will occupy slots for a period of time without consuming commands, so this is the problem that my issue will solve.


fix docs link bug

I checked all the filenames in fastai/fastai and this fix would fix the following bugs.  I'm not sure the best way to add an additional test for this, as I would have to either import fastai which I don't want to add that dependency to nbdev, and to create some kind of new fake code that I export which I don't want to do either.

NEW URL
OLD URL

https://docs.fast.ai/torch_core
https://docs.fast.ai/torch.core

https://docs.fast.ai/tutorial.medical_imaging
https://docs.fast.ai/tutorial.medical.imaging

https://docs.fast.ai/test_utils
https://docs.fast.ai/test.utils

https://docs.fast.ai/pytorch_doc
https://docs.fast.ai/pytorch.doc

cc: @muellerzr
This closes https://github.com/fastai/fastai/issues/2876 and https://github.com/fastai/fastai/issues/2872

Nice use of partition! :)