Custom component for marker

Now it is only possible to pass a static image to the marker. It would be nice to support
custom components. For example to display some dynamic values inside of it.

+1

+1

+1

+1

i believe that now we can do this with StepMarker prop, but what about thumb? is it possible now to add custom component for thumb for dynamic values?

Help +1

i believe that now we can do this with StepMarker prop, but what about thumb? is it possible now to add custom component for thumb for dynamic values?

Sure, @bryanltobing! This will be possible as soon as #655 is polished and shipped.
Please check this PR out and see if it suits your needs. You can also leave a review if there's anything to improve or fix.
Thank you!


Add raylib-ffi to bindings list

I have a super lightweight Rust binding for raylib. Forgot to add it to the list, so here it is.

@ewpratten thanks for the addition


Additional PvP Info for Docs

Hello, thank you for the amazing mod. I am having a blast. Setting up PvP works great, but I had to do a few additional steps that were not obvious and it took some troubleshooting.
This PR adds some additional info others may find useful. Thanks.

I cannot set up the PvP, it always said cannot connect to the game server on both WAN and LAN set up. How can you do that?

Thanks, I'll make some tweaks to this.


Why are the training results worse after adding weights? Is there something wrong with the way I added the weights?

Hello, I am to want to use Softroup for instance segmentation in my own dataset. Among other things I have transformed my dataset according to S3DIS. My PC ist TitanXP (12GB) graphics and my original dataset has only 5 scenes (5 files for training). Since my individual scenes are too large and complex, I sliced them, where each slice has 4 million points. This resulted in 44 training files.
The dataset has a large gap between the points in different classes and is not evenly distributed.
The number of training points and instances in different categories for the 44 training files are as follows:
Total number of points of each class: [10152406, 39686946, 9433358, 1552109, 92844212, 2696146, 498094, 7429789]
Under each class is the number of instances: [139, 197, 433, 36, 483, 16, 92, 41]
class_numpoint_mean [73038, 201456, 21786, 43114, 192224, 168509, 5414, 181214]
My backbone's training configuration file is as follows
model:
  channels: 32
  num_blocks: 7
  semantic_classes: 8
  instance_classes: 8
  sem2ins_classes: []
  semantic_only: True
  ignore_label: -100
  grouping_cfg:
    score_thr: 0.2
    radius: 0.05
    mean_active: 300
    class_numpoint_mean: [73038, 201456, 21786, 43114, 192224, 168509, 5414, 181214]
    npoint_thr: 0.05  # absolute if class_numpoint == -1, relative if class_numpoint != -1
    ignore_classes: []
  instance_voxel_cfg:
    scale: 25
    spatial_shape: 20
  train_cfg:
    max_proposal_num: 200
    pos_iou_thr: 0.5
  test_cfg:
    x4_split: True
    cls_score_thr: 0.001
    mask_score_thr: -0.5
    min_npoint: 100
  fixed_modules: []

data:
  train:
    type: 's3dis'
    data_root: './dataset/Argos_2step/preprocess'
    prefix: ['TRAIN']
    suffix: '_inst_nostuff.pth'
    repeat: 20
    training: True
    voxel_cfg:
      scale: 25
      spatial_shape: [128, 512]
      max_npoint: 250000
      min_npoint: 5000
  test:
    type: 's3dis'
    data_root: './dataset/Argos_2step/preprocess'
    prefix: 'TEST_Val'
    suffix: '_inst_nostuff.pth'
    training: False
    voxel_cfg:
      scale: 25
      spatial_shape: [128, 512]
      max_npoint: 250000
      min_npoint: 5000

dataloader:
  train:
    batch_size: 2
    num_workers: 0
  test:
    batch_size: 1
    num_workers: 1

optimizer:
  type: 'Adam'
  lr: 0.001

save_cfg:
  semantic: True
  offset: True
  instance: False

fp16: False
epochs: 50
step_epoch: 0
save_freq: 1
pretrain: './12Class_argos_epoch_91.pth'
work_dir: ''

(The file of pretrain is the result of my 12 classes under the same dataset, and the IoU of 4 classes is 0.0% due to the uneven rhyme division of its 12 class points. So I changed the dataset from 12 class datasets to 8 class datasets )
The best results obtained are shown below, two of the categories were not identified at all.
2022-08-24 08:57:02,276 - INFO - Epoch [40/50][430/440]  lr: 0.00012, eta: 14:48:39, mem: 3992, data_time: 7.29, iter_time: 7.64, semantic_loss: 0.0576, offset_loss: 0.8793, loss: 0.9369
2022-08-24 08:58:52,630 - INFO - Epoch [40/50][440/440]  lr: 0.00012, eta: 14:44:53, mem: 3992, data_time: 14.35, iter_time: 14.59, semantic_loss: 0.9506, offset_loss: 1.2817, loss: 2.2323
2022-08-24 08:58:53,096 - INFO - Validation
2022-08-24 08:59:41,476 - INFO - Evaluate semantic segmentation and offset MAE
2022-08-24 08:59:45,174 - INFO - Class-wise mIoU: 40.5 74.9 21.7 0.1 97.4 22.8 0.0 38.9
2022-08-24 08:59:45,174 - INFO - mIoU: 37.0
2022-08-24 08:59:46,006 - INFO - Acc: 96.6
2022-08-24 08:59:52,687 - INFO - Offset MAE: 3.000

By understanding the weights, I determined the weights by referring to the method of the website below.
https://www.analyticsvidhya.com/blog/2020/10/improve-class-imbalance-class-weights/
wj=n_samples / (n_classes * n_samplesj)
The new training configuration was set up from scratch, as follows.
model:
  channels: 32
  num_blocks: 7
  semantic_classes: 8
  instance_classes: 8
  sem2ins_classes: []
  semantic_only: True
  semantic_weight: [0.1164, 0.0210, 0.0402, 2.9403, 0.0037, 3.8085, 3.5853, 0.5393]
  ignore_label: -100
  grouping_cfg:
    score_thr: 0.2
    radius: 0.05
    mean_active: 300
    class_numpoint_mean: [73038, 201456, 21786, 43114, 192224, 168509, 5414, 181214]
    npoint_thr: 0.05  # absolute if class_numpoint == -1, relative if class_numpoint != -1
    ignore_classes: []
  instance_voxel_cfg:
    scale: 25
    spatial_shape: 20
  train_cfg:
    max_proposal_num: 200
    pos_iou_thr: 0.5
  test_cfg:
    x4_split: True
    cls_score_thr: 0.001
    mask_score_thr: -0.5
    min_npoint: 100
  fixed_modules: []

data:
  train:
    type: 'argos2step'
    data_root: './dataset/Argos_2step/preprocess'
    prefix: ['TRAIN']
    suffix: '_inst_nostuff.pth'
    repeat: 20
    training: True
    voxel_cfg:
      scale: 25
      spatial_shape: [128, 512]
      max_npoint: 250000
      min_npoint: 5000
  test:
    type: 'argos2step'
    data_root: './dataset/Argos_2step/preprocess'
    prefix: 'TEST_Val'
    suffix: '_inst_nostuff.pth'
    training: False
    voxel_cfg:
      scale: 25
      spatial_shape: [128, 512]
      max_npoint: 250000
      min_npoint: 5000

dataloader:
  train:
    batch_size: 2
    num_workers: 0
  test:
    batch_size: 1
    num_workers: 1

optimizer:
  type: 'Adam'
  lr: 0.001

save_cfg:
  semantic: True
  offset: True
  instance: False

fp16: False
epochs: 50
step_epoch: 0
save_freq: 1
pretrain: './12Class_argos_epoch_91.pth'
work_dir: ''

The best result is shown below, and the result is worse than the first backbone training.
2022-08-28 05:43:21,214 - INFO - Epoch [35/50][430/440]  lr: 0.00023, eta: 23:19:59, mem: 4074, data_time: 9.09, iter_time: 9.45, semantic_loss: 0.1890, offset_loss: 0.9530, loss: 1.1420
2022-08-28 05:45:19,052 - INFO - Epoch [35/50][440/440]  lr: 0.00023, eta: 23:15:33, mem: 4074, data_time: 10.31, iter_time: 10.71, semantic_loss: 0.6147, offset_loss: 1.5111, loss: 2.1258
2022-08-28 05:45:19,471 - INFO - Validation
2022-08-28 05:46:11,173 - INFO - Evaluate semantic segmentation and offset MAE
2022-08-28 05:46:14,921 - INFO - Class-wise mIoU: 1.4 46.2 11.9 1.7 69.5 3.4 7.5 11.2
2022-08-28 05:46:14,921 - INFO - mIoU: 19.1
2022-08-28 05:46:15,757 - INFO - Acc: 68.0

I used the best result of the first training (becaus more mIoU) for the instance training, and I think the model cannot learn anything and generates the following error at the end of the training.
2022-09-05 05:54:26,317 - INFO - Epoch [9/20][380/440]  lr: 0.00065, eta: 4 days, 1:13:04, mem: 6371, data_time: 40.54, iter_time: 41.30, semantic_loss: 0.6305, offset_loss: 2.7140, cls_loss: 0.3335, mask_loss: 0.2898, iou_score_loss: 0.0015, loss: 3.9693
2022-09-05 06:00:55,995 - INFO - Epoch [9/20][390/440]  lr: 0.00065, eta: 3 days, 23:53:21, mem: 6371, data_time: 42.81, iter_time: 43.18, semantic_loss: 0.9054, offset_loss: 2.2620, cls_loss: 0.2450, mask_loss: 0.0000, iou_score_loss: 0.0000, loss: 3.4124
2022-09-05 06:10:57,471 - INFO - Epoch [9/20][400/440]  lr: 0.00065, eta: 3 days, 23:20:20, mem: 6371, data_time: 56.66, iter_time: 57.49, semantic_loss: 0.9331, offset_loss: 2.0132, cls_loss: 0.3452, mask_loss: 0.0316, iou_score_loss: 0.0023, loss: 3.3254
2022-09-05 06:24:10,923 - INFO - Epoch [9/20][410/440]  lr: 0.00065, eta: 3 days, 23:26:27, mem: 6371, data_time: 30.72, iter_time: 31.23, semantic_loss: 0.6740, offset_loss: 1.5058, cls_loss: 0.5276, mask_loss: 0.0994, iou_score_loss: 0.0075, loss: 2.8144
2022-09-05 06:32:06,449 - INFO - Epoch [9/20][420/440]  lr: 0.00065, eta: 3 days, 22:30:21, mem: 6371, data_time: 13.14, iter_time: 13.77, semantic_loss: 0.6104, offset_loss: 1.5439, cls_loss: 0.5656, mask_loss: 0.3663, iou_score_loss: 0.0174, loss: 3.1037
2022-09-05 06:42:45,222 - INFO - Epoch [9/20][430/440]  lr: 0.00065, eta: 3 days, 22:07:09, mem: 6371, data_time: 73.94, iter_time: 74.77, semantic_loss: 0.5687, offset_loss: 3.1296, cls_loss: 0.2770, mask_loss: 0.0943, iou_score_loss: 0.0001, loss: 4.0696
2022-09-05 06:49:19,526 - INFO - Epoch [9/20][440/440]  lr: 0.00065, eta: 3 days, 20:59:43, mem: 6371, data_time: 26.22, iter_time: 26.78, semantic_loss: 0.7751, offset_loss: 2.4242, cls_loss: 0.2886, mask_loss: 0.0000, iou_score_loss: 0.0000, loss: 3.4879
2022-09-05 06:49:19,964 - INFO - Validation
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 16/16 [19:40<00:00, 73.75s/it]
2022-09-05 07:09:00,017 - INFO - Evaluate instance segmentation

################################################################
what           :      AP  AP_50%  AP_25%      AR  RC_50%  RC_25%
################################################################
Class1         :   0.001   0.007   0.026   0.006   0.050   0.225
Class2         :   0.003   0.011   0.064   0.048   0.130   0.290
Class3         :   0.000   0.000   0.001   0.000   0.000   0.009
Class4         :   0.000   0.000   0.000   0.000   0.000   0.000
Class5         :   0.003   0.013   0.055   0.026   0.055   0.170
Class6         :   0.000   0.000   0.000   0.000   0.000   0.000
Class7         :   0.000   0.000   0.000   0.000   0.000   0.000
Class8         :   0.000   0.000   0.000   0.000   0.000   0.000
----------------------------------------------------------------
average        :   0.001   0.004   0.018   0.010   0.029   0.087
################################################################

2022-09-05 07:09:10,192 - INFO - AP: 0.001. AP_50: 0.004. AP_25: 0.018
2022-09-05 07:09:10,193 - INFO - Evaluate semantic segmentation and offset MAE
2022-09-05 07:09:13,858 - INFO - Class-wise mIoU: 5.6 40.1 5.7 0.0 89.5 1.8 0.0 1.5
2022-09-05 07:09:13,858 - INFO - mIoU: 18.0
2022-09-05 07:09:14,661 - INFO - Acc: 88.7
2022-09-05 07:09:17,182 - INFO - Offset MAE: 3.396
2022-09-05 07:09:17,186 - INFO - Summary name val/Offset MAE is illegal; using val/Offset_MAE instead.
2022-09-05 07:16:44,830 - INFO - Epoch [10/20][10/440]  lr: 0.00058, eta: 2 days, 12:03:28, mem: 6371, data_time: 24.11, iter_time: 24.79, semantic_loss: 0.7134, offset_loss: 1.7887, cls_loss: 0.2242, mask_loss: 0.5697, iou_score_loss: 0.0037, loss: 3.2996
2022-09-05 07:26:15,497 - INFO - Epoch [10/20][20/440]  lr: 0.00058, eta: 2 days, 20:10:11, mem: 6371, data_time: 42.56, iter_time: 43.06, semantic_loss: 0.6615, offset_loss: 2.0141, cls_loss: 0.4600, mask_loss: 0.5370, iou_score_loss: 0.0092, loss: 3.6818
2022-09-05 07:39:17,985 - INFO - Epoch [10/20][30/440]  lr: 0.00058, eta: 3 days, 8:12:07, mem: 6371, data_time: 39.17, iter_time: 39.49, semantic_loss: 0.5394, offset_loss: 1.3165, cls_loss: 0.8099, mask_loss: 0.3493, iou_score_loss: 0.0103, loss: 3.0255
2022-09-05 07:47:41,902 - INFO - Epoch [10/20][40/440]  lr: 0.00058, eta: 3 days, 4:49:25, mem: 6371, data_time: 87.49, iter_time: 87.98, semantic_loss: 0.4849, offset_loss: 1.4455, cls_loss: 0.3663, mask_loss: 0.2253, iou_score_loss: 0.0050, loss: 2.5270
2022-09-05 07:55:46,603 - INFO - Epoch [10/20][50/440]  lr: 0.00058, eta: 3 days, 2:13:45, mem: 6371, data_time: 59.51, iter_time: 60.54, semantic_loss: 0.8387, offset_loss: 1.3850, cls_loss: 0.1845, mask_loss: 1.0306, iou_score_loss: 0.0152, loss: 3.4541
2022-09-05 08:02:54,277 - INFO - Epoch [10/20][60/440]  lr: 0.00058, eta: 2 days, 23:11:34, mem: 6371, data_time: 7.64, iter_time: 8.10, semantic_loss: 0.7565, offset_loss: 2.4156, cls_loss: 0.8639, mask_loss: 0.5654, iou_score_loss: 0.0069, loss: 4.6084
2022-09-05 08:21:04,940 - INFO - Epoch [10/20][70/440]  lr: 0.00058, eta: 3 days, 9:32:22, mem: 6371, data_time: 32.12, iter_time: 32.51, semantic_loss: 0.1514, offset_loss: 2.1460, cls_loss: 0.3221, mask_loss: 0.0720, iou_score_loss: 0.0058, loss: 2.6972
2022-09-05 08:32:50,745 - INFO - Epoch [10/20][80/440]  lr: 0.00058, eta: 3 days, 10:51:46, mem: 6371, data_time: 26.15, iter_time: 26.78, semantic_loss: 0.7846, offset_loss: 1.4754, cls_loss: 0.2752, mask_loss: 0.1674, iou_score_loss: 0.0108, loss: 2.7135
2022-09-05 08:39:18,155 - INFO - Epoch [10/20][90/440]  lr: 0.00058, eta: 3 days, 7:10:50, mem: 6371, data_time: 29.78, iter_time: 30.56, semantic_loss: 0.6737, offset_loss: 2.3874, cls_loss: 0.8284, mask_loss: 0.1901, iou_score_loss: 0.0141, loss: 4.0937
2022-09-05 08:45:44,075 - INFO - Epoch [10/20][100/440]  lr: 0.00058, eta: 3 days, 4:11:38, mem: 6371, data_time: 67.77, iter_time: 68.23, semantic_loss: 1.1888, offset_loss: 1.5374, cls_loss: 0.3739, mask_loss: 0.1771, iou_score_loss: 0.0122, loss: 3.2894
2022-09-05 08:53:37,423 - INFO - Epoch [10/20][110/440]  lr: 0.00058, eta: 3 days, 2:46:29, mem: 6371, data_time: 17.02, iter_time: 17.51, semantic_loss: 0.4167, offset_loss: 1.9679, cls_loss: 0.4411, mask_loss: 0.2792, iou_score_loss: 0.0032, loss: 3.1082
2022-09-05 09:08:19,021 - INFO - Epoch [10/20][120/440]  lr: 0.00058, eta: 3 days, 6:01:51, mem: 6371, data_time: 12.16, iter_time: 12.72, semantic_loss: 0.4704, offset_loss: 1.5466, cls_loss: 0.4734, mask_loss: 0.0270, iou_score_loss: 0.0035, loss: 2.5209
2022-09-05 09:17:40,020 - INFO - Epoch [10/20][130/440]  lr: 0.00058, eta: 3 days, 5:31:19, mem: 6371, data_time: 54.19, iter_time: 55.02, semantic_loss: 0.5907, offset_loss: 1.6633, cls_loss: 0.1932, mask_loss: 0.4982, iou_score_loss: 0.0087, loss: 2.9542
2022-09-05 09:26:31,235 - INFO - Epoch [10/20][140/440]  lr: 0.00058, eta: 3 days, 4:47:08, mem: 6371, data_time: 39.79, iter_time: 40.32, semantic_loss: 1.2004, offset_loss: 1.6347, cls_loss: 0.3721, mask_loss: 0.2379, iou_score_loss: 0.0004, loss: 3.4455
2022-09-05 09:32:43,499 - INFO - Epoch [10/20][150/440]  lr: 0.00058, eta: 3 days, 2:44:50, mem: 6371, data_time: 31.52, iter_time: 32.24, semantic_loss: 0.5547, offset_loss: 2.4628, cls_loss: 0.3031, mask_loss: 0.3489, iou_score_loss: 0.0148, loss: 3.6843
2022-09-05 09:44:09,719 - INFO - Epoch [10/20][160/440]  lr: 0.00058, eta: 3 days, 3:30:06, mem: 6371, data_time: 75.29, iter_time: 75.88, semantic_loss: 0.9622, offset_loss: 1.8271, cls_loss: 0.3554, mask_loss: 0.0000, iou_score_loss: 0.0000, loss: 3.1446
2022-09-05 10:03:45,105 - INFO - Epoch [10/20][170/440]  lr: 0.00058, eta: 3 days, 7:52:39, mem: 6371, data_time: 108.49, iter_time: 108.66, semantic_loss: 1.0215, offset_loss: 1.8004, cls_loss: 0.1988, mask_loss: 0.0000, iou_score_loss: 0.0000, loss: 3.0206
2022-09-05 10:17:19,575 - INFO - Epoch [10/20][180/440]  lr: 0.00058, eta: 3 days, 9:08:08, mem: 6371, data_time: 113.18, iter_time: 114.05, semantic_loss: 0.6797, offset_loss: 2.1404, cls_loss: 0.2037, mask_loss: 0.2855, iou_score_loss: 0.0047, loss: 3.3140
2022-09-05 10:32:53,777 - INFO - Epoch [10/20][190/440]  lr: 0.00058, eta: 3 days, 11:03:04, mem: 6371, data_time: 67.61, iter_time: 67.90, semantic_loss: 0.8200, offset_loss: 1.3363, cls_loss: 0.2389, mask_loss: 0.2526, iou_score_loss: 0.0146, loss: 2.6623
Traceback (most recent call last):
  File "./tools/train.py", line 191, in <module>
    main()
  File "./tools/train.py", line 184, in main
    train(epoch, model, optimizer, scaler, train_loader, cfg, logger, writer)
  File "./tools/train.py", line 48, in train
    loss, log_vars = model(batch, return_loss=True)
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/nn/parallel/distributed.py", line 963, in forward
    output = self.module(*inputs[0], **kwargs[0])
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/qinyuan/SoftGroup_argos2step/softgroup/model/softgroup.py", line 102, in forward
    return self.forward_train(**batch)
  File "/home/qinyuan/SoftGroup_argos2step/softgroup/util/utils.py", line 171, in wrapper
    return func(*new_args, **new_kwargs)
  File "/home/qinyuan/SoftGroup_argos2step/softgroup/model/softgroup.py", line 126, in forward_train
    self.grouping_cfg)
  File "/home/qinyuan/SoftGroup_argos2step/softgroup/util/fp16.py", line 58, in new_func
    output = old_func(*new_args, **new_kwargs)
  File "/home/qinyuan/SoftGroup_argos2step/softgroup/model/softgroup.py", line 371, in forward_grouping
    proposals_idx = torch.cat(proposals_idx_list, dim=0)
NotImplementedError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors), but no fallback function is registered for schema aten::_cat.  This usually means that this function requires a non-empty list of Tensors, or that you (the operator writer) forgot to register a fallback function.  Available functions are [CPU, CUDA, QuantizedCPU, BackendSelect, Python, Named, Conjugate, Negative, ZeroTensor, ADInplaceOrView, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, AutogradLazy, AutogradXPU, AutogradMLC, AutogradHPU, AutogradNestedTensor, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, AutocastCPU, Autocast, Batched, VmapMode, Functionalize].

CPU: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/build/aten/src/ATen/RegisterCPU.cpp:21063 [kernel]
CUDA: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/build/aten/src/ATen/RegisterCUDA.cpp:29726 [kernel]
QuantizedCPU: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/build/aten/src/ATen/RegisterQuantizedCPU.cpp:1258 [kernel]
BackendSelect: fallthrough registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/core/BackendSelectFallbackKernel.cpp:3 [backend fallback]
Python: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/core/PythonFallbackKernel.cpp:47 [backend fallback]
Named: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/core/NamedRegistrations.cpp:7 [backend fallback]
Conjugate: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/ConjugateFallback.cpp:18 [backend fallback]
Negative: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/native/NegateFallback.cpp:18 [backend fallback]
ZeroTensor: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/ZeroTensorFallback.cpp:86 [backend fallback]
ADInplaceOrView: fallthrough registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/core/VariableFallbackKernel.cpp:64 [backend fallback]
AutogradOther: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradCPU: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradCUDA: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradXLA: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradLazy: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradXPU: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradMLC: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradHPU: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradNestedTensor: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradPrivateUse1: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradPrivateUse2: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
AutogradPrivateUse3: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/VariableType_3.cpp:11380 [autograd kernel]
Tracer: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/torch/csrc/autograd/generated/TraceType_3.cpp:11220 [kernel]
AutocastCPU: fallthrough registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/autocast_mode.cpp:461 [backend fallback]
Autocast: fallthrough registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/autocast_mode.cpp:305 [backend fallback]
Batched: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/BatchingRegistrations.cpp:1059 [backend fallback]
VmapMode: fallthrough registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/VmapModeRegistrations.cpp:33 [backend fallback]
Functionalize: registered at /opt/conda/conda-bld/pytorch_1646755953518/work/aten/src/ATen/FunctionalizeFallbackKernel.cpp:52 [backend fallback]

ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 477685) of binary: /home/qinyuan/anaconda3/envs/argos_2step/bin/python
Traceback (most recent call last):
  File "/home/qinyuan/anaconda3/envs/argos_2step/bin/torchrun", line 33, in <module>
    sys.exit(load_entry_point('torch==1.11.0', 'console_scripts', 'torchrun')())
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/distributed/elastic/multiprocessing/errors/__init__.py", line 345, in wrapper
    return f(*args, **kwargs)
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/distributed/run.py", line 724, in main
    run(args)
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/distributed/run.py", line 718, in run
    )(*cmd_args)
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 131, in __call__
    return launch_agent(self._config, self._entrypoint, list(args))
  File "/home/qinyuan/anaconda3/envs/argos_2step/lib/python3.7/site-packages/torch/distributed/launcher/api.py", line 247, in launch_agent
    failures=result.failures,
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
============================================================
./tools/train.py FAILED
------------------------------------------------------------
Failures:
  <NO_OTHER_FAILURES>
------------------------------------------------------------
Root Cause (first observed failure):
[0]:
  time      : 2022-09-05_10:39:05
  host      : DeepM
  rank      : 0 (local_rank: 0)
  exitcode  : 1 (pid: 477685)
  error_file: <N/A>
  traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html
============================================================

How can I improve this result and solve the problem? Thank you very much!

Hi. in my experiments, i also find that training without class weight achieves at least comparable semantic segmentation performance to with class weight. I think your results are normal.

Thank you for your reply. But when I use the backbone results without weights for further training, the results are very poor and an error occurs at the 9th epoch. Do you have any idea what could be the problem? And am I setting the weights the right way?

你好。在我的实验中，我还发现没有类权重的训练至少可以实现与类权重相当的语义分割性能。我认为你的结果是正常的。

Hi. in my experiments, i also find that training without class weight achieves at least comparable semantic segmentation performance to with class weight. I think your results are normal.

Thank you for your reply. But when I use the backbone results without weights for further training, the results are very poor and an error occurs at the 9th epoch. Do you have any idea what could be the problem? And am I setting the weights the right way?

Hi. in my experiments, i also find that training without class weight achieves at least comparable semantic segmentation performance to with class weight. I think your results are normal.

Thank you for your reply. But when I use the backbone results without weights for further training, the results are very poor and an error occurs at the 9th epoch. Do you have any idea what could be the problem? And am I setting the weights the right way?

Did you pretrain the backbone before training the whole network?

Did you pretrain the backbone before training the whole network? And what are semantic mIoU and offset MAE of pretrained model?
Yes, I have completed the backbone training, which
semantic mIoU Ist 38.0， offset MAE ist  3.000
'''
2022-08-24 08:59:41,476 - INFO - Evaluate semantic segmentation and offset MAE
2022-08-24 08:59:45,174 - INFO - Class-wise mIoU: 40.5 74.9 21.7 0.1 97.4 22.8 0.0 38.9
2022-08-24 08:59:45,174 - INFO - mIoU: 37.0
2022-08-24 08:59:46,006 - INFO - Acc: 96.6
2022-08-24 08:59:52,687 - INFO - Offset MAE: 3.000
'''


Cards size in Services page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description
The cards size in the services page was long which is odd and makes negative impact while navigating.
Use Case
Improve user experience while navigating through services page.
Benefits
No response
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@varshith257 @Anishkagupta04 Please assign me this issue.


use messages.yaml for all FE messages

We have a few string-generic messages with no error code in the public FE API and in ProcessedOptions, among others.

@peter-ahe-google - I started looking into this and would like your input.
I was thinking that we'd like to use generated FastaMessages for all errors, including:

every public API error in kernel_generator_impl/kernel_generator (e.g. missing main, missing an input file, invalid options)
convert kernel's VerificationError to a FastaMessage
replace InputError also with FastaMessage
possibly internal errors & crashes

Just wanted to check with you before going down that path. WDYT?

I have done some of the work on a branch. But I need to find an incremental approach to this.
Let me see if I can resurrect this branch and make it more incremental.

Started work with CL<PHONE_NUMBER> and CL<PHONE_NUMBER>.


Top level functions names collision problem

Hi,
I'm trying to use Jodit editor on the same HTML page with ArcGIS HTML map component. Both components use obfuscated JavaScript code (like jodit.min.js  for Jodit). The problem is that the obfuscated code of both components uses the same replacements for functions names, which leads to collision. For example, both codes contain a top level function named "O". As the result, a call to the function may lead to a wrong code (it depends on the order of loading of JavaScript files). On my opinion, the problem could be solved by using namespaces in your source TypeScript files.

For a workaround, try to wrap inside a iframe one of them.

H katan,
Sure I'll use this workaround because I have no choice. But you must agree that this is a bad design pattern. Jodit is a library, and as a library must be built in a way allowing to use it in any environment, in combination with any external code. Namespaces in TypeScript allow to solve this problem. I would like to know if there are plans to use them in the future Jodit releases?


Drag row outside of Grid

Is it possible to drag and drop a row onto an other widget? Normally I would do this with the Draggable widget, but since PlutoGrid wants an explicit PlutoGridRow for the property rows, I don't see a solution for this

This is a good feature suggestion.


[ENH] CLI loads pipeline catalog dynamically

No longer needed

Closes #383

Changes proposed in this pull request:

new getter function that uses requests to load the catalog
failing that, falls back to a local copy of the catalog (that we'll need to keep up to date)

Checklist
This section is for the PR reviewer

[ ] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see our Contributing Guidelines for more info)
[ ] PR has a label for the release changelog or skip-release (to be applied by maintainers only)
[ ] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

20 of 28 (71.43%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-1.2%) to 97.183%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bagel/mappings.py
18
26
69.23%

Files with Coverage Reduction
New Missed Lines
%

bagel/mappings.py
4
73.33%

Totals

Change from base Build<PHONE_NUMBER>9:
-1.2%

Covered Lines:
966

Relevant Lines:
994

💛  - Coveralls

@alyssadai this should be ready for you now

Thanks Alyssa, agree with all your comments. Unfortunately airport network is too bad for me to accept your changes, so if you'd just push directly to this branch and then accept for me, I'd appreciate!


Project license

Hello,
Thank you for sharing this project!
I would like to ask about the license of the source code? Would it be possible to add a license to the repository?
Thank you.

Hello,
I added the MIT License. However, there are 2 things:

The access and usage of streetview data should follow their own license

If you used the reconstruction and/or localization code, they have some dependencies which are separately licensed, e.g., https://github.com/magicleap/SuperPointPretrainedNetwork/blob/master/LICENSE

Thank you!


Refactor and Testing: Appmanager and Ctl commands changes

Re-created PR #70
adding changes
adding grpc-promise depencendy to the storage module
JDOC reviewing
Adding some changes in ctl
appmanager refactoring and test

I have read the CLA Document and I hereby sign the CLA


Update Snapshot and Timestamp

Sign snapshot and timestamp files

Is there some additional context here? This only extends the expires of snapshot and timestamp by one additional day since #547  which merged yesterday

Is there some additional context here? This only extends the expires of snapshot and timestamp by one additional day since https://github.com/sigstore/root-signing/pull/547 which merged yesterday

Agree, this is not needed, the one merged yesterday was manually bumped, but the cron doesn't know that.


generate a new trained model

Ying mentioned the idea of training the model with a subset of the data and then evaluating it on a different subset, which makes a ton of sense.  So far, we have been able to figure out almost every step of the process except how to train a new model.  We have it working where we can run data (benign, adversarial examples, etc.) through our defenses and then evaluate the results of the model post-defense against the true values.  So far we have been using the "model-mnist-cnn-clean.h5" model and were wondering where the script is that generates that so that we can put in a custom subset of the data as an input into it to make a new trained model file.

I am sorry, but which assignment you are talking about? I can upload the script, but none of the assignments requires that. I would suggest you write down a breakdown and plan for your assignment, so I can give more specific comments.

Task 2 option 2.  The task is to evaluate how an ensemble of weak defenses performs as a defense.  The rough plan we have is to 1) pool together a collection of weak defenses into an ensemble.  2) put several different sets of examples through that ensemble defense.  This does this by applying each defense and then a model is run to try and classify the "number" that the input is.  3) With all of these different "guesses" for each weak defense, the collection of probabilities is then synthesized for each example and one collective overall probability can be assigned to each example.
My question is, there is a model (cnn i believe) that is being applied after each weak defense to try and identify the class.  We didn't generate that model or pick what training data to give that model.  That model already exists in the repository and is called somewhere in the athena.predict line of code. I was wondering about how to generate a new model, and just like wanted to know more about what model is being called during that athena.predict call.

I am not sure if I misunderstood your breakdown or you were not on the right track. The strategy model can be of any type and uses any technique (CNN, SVM, linear regression, etc.). Given an input, the strategy model takes (1) the collection of predictions (probabilities or logits) from individual weak defenses or (2) outputs from the inner layer(s) of individual weak defenses as its input and produces a final predicted label. The input-shape of your strategy model varies and relies on values you collected from the weak defenses. So, the script for training a weak defense (model-mnist-cnn-clean.h5) does NOT work for this task. The training of the strategy model is an INDEPENDENT machine learning task, separated from the ATHENA project, you need to do some research and decide what model you want to use.
For simplicity (consider the time issue), I would suggest you use the raw predictions (either probabilities or logits) as the input of your strategy model. Please check the corresponding video and Jupiter notebook tutorials for detailed information.
Once you trained your strategy model, you can evaluate data in the following process (a very high-level description):
# load the ensemble
pool, _ = load_pool(*parameters)
ensemble = Ensemble(classifiers=list(pool.keys()))
# load the learned strategy model
decider = load the strategy model

# -------------------------
# evaluate data
# -------------------------
# load data
data = np.load(path_to_the_data)
# load true labels
y_true = np.load(path_to_the_true_label)

# collect the raw predictions from individual weak defenses in the ensemble
raw_preds = ensemble.predict(data, raw=True)
# transpose to correct shape
transposed_preds = np.transpose(raw_preds, (1, 0 2))
# get the final outputs
# I presume that you implemented a predict() function to produce the final prediction
y_preds = decider.predict(transposed_preds)

# compute the error rate
# refer to the eval_model.py, or tutorial for Task1.

Thanks, the part I was missing was the decider.predict.  I had the parts leading up to that already done. I have a follow-up question, which is about loading the strategy model.  I was wondering if I could some basic pointers on how to load a strategy model?  Would I use load_lenet to point to an existing file?

After looking at it more, it seems like that command (load_lennet) just loads a different weak defense using a keras command.  I guess I was hoping you could point me to the keras commands or a function in one of the src scripts you wrote that loads a strategy model so I can see how it works and then implement something like it.

Thanks!  The strategy model part is what we don't have yet.  We've generated the raw predictions, but are trying to figure out how to create the strategy model that takes in those raw predictions.  My follow up questions is trying to figure out whether we are doing one of the following two things.
Are we simply looking at the probability output of the raw predictions to get an overall prediction? Like if for each input data the weak defenses all say the number is a "7" so we label that a "7" (basic example, just for thinking about it).  This is what I get from looking at your examples and the notebook, like we are using an ensemble of weak predictions to make one strong prediction.
Reading the description from Cody's team they talk about training a new model in keras using the outputs of these weak defenses. Are we supposed to train a new model with the predictions from these existing weak defenses as the training data?

To finish this assignment, you need to implement the following sub-tasks by yourself:

Decide the training data (which decides the input-shape of your model).
Choose a model (the model type, architecture, hyperparameters, etc.) and a framework you want to implement your model on (e.g., PyTorch, TensorFlow, Keras, etc.).
Implement the script to create, train (including save), load, and evaluate your strategy model, and a predict function for your model. How to implement this relies on the model type and architecture, the framework you chose in step 2, as well as the format you save the model. So, I cannot implement this for you. For example, if you check the loading functions in utils/models.py, we implement different loading functions for the lenet models (which were saved in h5 format) and svm models (which were saved in a pickle format). You can use load_lenet to load a h5 model and load_svm to load a pickle format model. Other than that, you should implement the corresponding loading function by yourself. You are the one who decided everything for this strategy model.
Prepare the training and test data (please refer to the discussion in #25 ).
Train & save the strategy model.
Evaluate the Undefended Model (model-mnist-cnn-clean.h5),  the Vanilla ATHENA variants (using AVEP and MV strategies respectively), ATHENA + your strategy model, and the PGD adversarial trained model, on some AEs we uploaded in the data folder.
Analyze the experiment results and work on the report.

You need to decide your own training data, raw probabilities and raw logits are two simple examples.
You can also use outputs from hidden layers of weak defenses, which require modification/refactor in models/keraswrapper.py (maybe also in models/athena.py). Refer to the study Forest Agostinelli, Michael R. Anderson, and Honglak Lee. Adaptive Multi-Column Deep Neural Networks with Application to Robust Image Denoising. NIPS 2018. for detailed information on this idea.


README: add syntax highlighting

Adding a language hint to the markdown code block enables syntax highlighting.
For a list of supported languages see: https://github.com/github/linguist/blob/master/lib/linguist/languages.yml

I'm sorry, but the omission of syntax highlighting hints is intentional. Not everyone uses it and few people agree on what pigments to use (I find the github pigments ugly and semantically misinformative).


Update roles-permissions-security.md

had to read the original a couple of times, hope this helps others

@bwren
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Build an SAPUI5 mobile app based on your data model and run it with mock data

Tutorial URL: https://developers.sap.com/tutorials/hcp-webide-build-app-mock-data.html
Please specify the step you are referring to
A good tutorial however to avoid confusion it could be updated to point out that the choice of Kapsel templates is Deprecated.  However you can do the tutorial with another template like Master-Detail
Step 2 :  Selection of Kapsel Templates
Include reference to deprecation of Kapsel Templates as it makes thisgs clearer
https://blogs.sap.com/2017/06/20/deprecation-of-dedicated-kapsel-templates-for-sap-web-ide-hybrid-app-toolkit/
https://blogs.sap.com/2018/08/16/announcing-end-of-maintenance-for-hybrid-app-toolkit-local-add-on-local-builds-only/

Hi @russellw999 ,
thank you for raising this issue. I am not the expert on that but I will hand it over to my collegue.
Thanks

Thanks for pointing this out. We will remove this tutorial

@IObert Should we remove the entire group https://developers.sap.com/group.webide-odata-modeling.html?

Please remove the entire group (as an entity), but please keep the first tutorial of the group as a standalone tutorial


error fild to city, street, building and apartment was added

Description
Error message is not displayed when typing inconsistent values in the fields city, street, house and apartment of Checkout Process page
Screenshots

Original
Updated

**  **
**  **

Checklist

[x] 🔽 My branch is up-to-date with "development" branch
[x] ✅All tests passed locally
[x] ✨My changes working with up-to-date admin and back-end part locally, like charm
[x] 🔗 Link pull request to issue

in the input field "building" we should not limit the user only to numbers, because the name of the house is also composed of letters


travis.yml builds the master branch on pull requests instead of the branch under test

The travis.yml has:
pip install -r requirements.txt && pip install git+https://github.com/timchen86/gdcmdtools.git@master

which overwrites the just checked-out pull request branch with the master branch.
This should be changed (I believe) to:
pip install -r requirements.txt

This appears to do the right thing, but the later tests in test.py are looking for credentials that are not available to travis.

n2ygk,
Thanks, I have fixed this issue on 7310ecc60e53e89c5c3f24dddbd7c5d06da8916f


[Documentation Bug]: Missing Table of Contents

Describe the bug ✍
The Readme.md file doesn't contain the table of contents.
Provide step by step information reproduce the bug 📄

Open the Squard-line repository on GitHub.
Navigate to the README.md file.
Notice the absence of a table of contents in the file.

Description
Adding a table of contents to the README.md file will enhance navigation and improve the user experience.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

I would like to work on this issue, could you assign this to me.

@GUNJESH843 go ahead


Incorrect support data for Badging API

Current support data tells that Badging API is fully supported in Chrome, Edge, Opera (WebKit essentially), but the support for this API is only partial.

https://caniuse.com/mdn-api_notification_badge -- Caniuse
https://developer.mozilla.org/en-US/docs/Web/API/Badging_API#browser_compatibility -- MDN

The support really is partial: I can call navigator.setAppBadge, but navigator.setClientBadge is not defined.

Looks like caniuse matches MDN, but there's two different support tables here:
setAppBadge:
https://developer.mozilla.org/en-US/docs/Web/API/Badging_API#browser_compatibility & https://developer.mozilla.org/en-US/docs/Web/API/Navigator/setAppBadge#browser_compatibility
https://caniuse.com/mdn-api_navigator_setappbadge
Notification.badge:
https://developer.mozilla.org/en-US/docs/Web/API/Notification/badge#browser_compatibility
https://caniuse.com/mdn-api_notification_badge
If you feel the latter needs updating I recommend using the MDN BCD feedback link.


Update Formatting And Grammar

Replace * to -
Remove Contractions (Can't, Won't)
Remove Whitespaces
Format Markdown

Please take care of remaining markdownlint errors while you are at it
https://github.com/chrultrabook/docs/actions/runs/9871607008/job/27259877199#step:3:1

What is happening with this PR lol

PRs auto-close when theres no diff from base


Ask for an Configuration Tutorial

Hey, glad to found this docker image to make dedicated server and I'm interesting to try this out. But, is there any step-by-step for server configuration for generating the world?
Thanks!

Good question. I really need to enhance this image to be more configurable like my Java edition image. After that change things would be stable enough to provide a tutorial.
 I've tried it with and without a pre-existing server.properties. I've also verified that the docker user has rwx access to the bound volume paths and even chown'd them for the docker user but no dice. Any ideas? I'll help write documentation

@nelsonblaha sounds like yours might be a different scenario, but would be glad to take you up on the documentation offer once I get the properties configuration mechanism in place.
It'll be good to create a separate issue for the permission denied errors. In that issue description can you describe how you're starting the container (like docker run command line) and what the initial logs show? For comparison, a fresh container without /data mounted to an external volume gives me:
time="2019-08-17T06:50:13Z" level=debug msg="Using /data to match uid and gid"
time="2019-08-17T06:50:13Z" level=debug msg="Resolved UID=0 from match path"
time="2019-08-17T06:50:13Z" level=debug msg="Resolved GID=0 from match path"
time="2019-08-17T06:50:13Z" level=debug msg="failed to read stdin" error=EOF
Downloading Bedrock server <IP_ADDRESS> ...
Starting Bedrock server...
NO LOG FILE! - setting up server logging...
[2019-08-17 06:50:19 INFO] Starting Server
[2019-08-17 06:50:19 INFO] Version <IP_ADDRESS>
[2019-08-17 06:50:19 INFO] Session ID e5cab791-67e6-4b29-9474-cf58edb5e603
[2019-08-17 06:50:19 INFO] Level Name: Bedrock level
[2019-08-17 06:50:19 INFO] Game mode: 0 Survival
[2019-08-17 06:50:19 INFO] Difficulty: 1 EASY
[2019-08-17 06:50:21 INFO] IPv4 supported, port: 19132
[2019-08-17 06:50:21 INFO] IPv6 not supported
[2019-08-17 06:50:21 INFO] IPv4 supported, port: 58085
[2019-08-17 06:50:21 INFO] IPv6 not supported
[2019-08-17 06:50:23 INFO] Server started.

Looks like I just needed a fresh start. I had some junk in Portainer from a different repo's attempt at this. Sorry to muck up this issue.

@ridwankustanto I have now enhanced the image with the ability to configure all of the server properties via environment variables. They are listed in this new section along with an example of a docker run usage:
https://github.com/itzg/docker-minecraft-bedrock-server#server-properties
Let me know what type of information or tutorial would help to further make use of the new options.

...I have also added an example of deploying with Kubernetes
https://github.com/itzg/docker-minecraft-bedrock-server#deploying-with-kubernetes
Stay tuned for a Medium article where I'll describe how I deployed this to Google Cloud.

@ridwankustanto I have now enhanced the image with the ability to configure all of the server properties via environment variables. They are listed in this new section along with an example of a docker run usage:
https://github.com/itzg/docker-minecraft-bedrock-server#server-properties
Let me know what type of information or tutorial would help to further make use of the new options.

Thank you! I appreciate it.

thanks, the enviroment variables work for me, but where does that leave server.properties file, do I/ can I/ should I edit that also?

@bingobob , with the environment variable to property mapping support, it shouldn't be necessary to manually edit the server.properties. The mappings will only touch the property lines that correspond to set environment variables, so it can coexist with manual modifications.
FYI, if there's any property missing from the mapping, I (or a PR) can easily extend the mapping definitions in
https://github.com/itzg/docker-minecraft-bedrock-server/blob/master/property-definitions.json


can someone advice why bash completion does not work?

In instalation text:
If you use a Bash-compatible shell, you can install the watson.completion file from the source distribution as /etc/bash.completion.d/watson - or wherever your distribution keeps the Bash completion configuration files. After you restart your shell, you can then just type watson on your command line and then hit TAB to see all available commands.
First pip install --user td-watson  then ... file from source distribution? Where, what?
Ok, so I went with development version, installed it, copied bash completion as instructed, I trying to debug why it's not working I just added logging:
_watson_completionetup() {
  echo 'registered'>>/tmp/watson_setup

and
_watson_completion() {
    local IFS=$'
'
    COMPREPLY=( $( env COMP_WORDS="${COMP_WORDS[*]}" \
                   COMP_CWORD=$COMP_CWORD \
                   _WATSON_COMPLETE=complete $1 ) )
    echo "$COMPREPLY" >> /tmp/watson_setup
    return 0
}

restarted bash, and I see, that 'registered' appears in file as expected, but COMPREPLY is always logged as empty string. I'm no bash expert, but I cannot see in completion script neither any list of supported actions nor call to watson to get one.
what am I doing wrong?

Second, Bash completion doesn't work with Watson 2.1.0 for me. I have it in ~/.local/share/bash-completions/completions/watson, and it used to work on the previous version.
I confirmed just now that the completion file hasn't changed in a few years, so I'm wondering if this is due to the recent click version bump...

what is "click version bump?"

This is what I mean: https://github.com/TailorDev/Watson/commit/b2068f64600d53221270c864abd136ac0254ae2d.
click is the library used for the CLI (easier to generate help text, autocompletion, etc).

I confirm this. Autocompletion doesn't work.

Same behavior in my environment. Would be great if I can use the autocomplete again in the future.

Confirmed that downgrading to td-watson==2.0.1 resolves the bash completion. A couple notes regarding this process

brew only has the latest, so you have to resort to pip-install on a Mac
pip still pulls click>8 by default, so I had to override that with the old spec click>=7.0,<8.0 which resulted in 7.1.2

Confirmed that downgrading to td-watson==2.0.1 resolves the bash completion. A couple notes regarding this process

brew only has the latest, so you have to resort to pip-install on a Mac
pip still pulls click>8 by default, so I had to override that with the old spec click>=7.0,<8.0 which resulted in 7.1.2

Executed these two commands on my ubuntu to achieve downgrade of td-watson and click package, after which bash completion starts working:
1, pip install td-watson==2.0.1
2. pip install click==7.1.2

Bash completion works using this previous version of the 'watson.completion' file. Just put this file to /etc/bash_completion and it will work again with the latest (2.1.0) release.


T. E. new projects

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[x] ~10 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

Build failed because of:
No cached entry, and NHS Covid-19 App has issues with logo: nhs-covid-19-app.svg, SVG file embeds a png. Please use a pure svg file

Build failed because of:
No cached entry, and NHS Covid-19 App has issues with logo: nhs-covid-19-app.svg, ENOENT: no such file or directory, open '/opt/build/repo/hosted_logos/nhs-covid-19-app.svg'

Build failed because of:
No cached entry, and NHS Covid-19 App has issues with logo: nhs-covid-19-app.svg, SVG file embeds a png. Please use a pure svg file

Build failed because of:
No cached entry, and NHS Covid-19 App has issues with logo: nhs-covid-19-app.svg, ENOENT: no such file or directory, open '/opt/build/repo/hosted_logos/nhs-covid-19-app.svg'

LGTM


UI - Comments section search button to be changed

Icon button can simply be a square outlined one instead of existing filled button.


Can't build using musl as a build target.

So I am using github actions to build my crate and when running this step:
      - name: Build static
        uses: stevenleadbeater/rust-musl-builder@master
        with:
            args: /bin/bash -c "cargo build --locked --release --target=x86_64-unknown-linux-musl -v"

It fails with:
Running `rustc --crate-name socket2 --edition=2018 /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C metadata=aa246bf64056a547 -C extra-filename=-aa246bf64056a547 --out-dir /github/workspace/target/x86_64-unknown-linux-musl/release/deps --target x86_64-unknown-linux-musl -L dependency=/github/workspace/target/x86_64-unknown-linux-musl/release/deps -L dependency=/github/workspace/target/release/deps --extern libc=/github/workspace/target/x86_64-unknown-linux-musl/release/deps/liblibc-d416f6c85e8305e1.rmeta --cap-lints allow`
error: attributes are not yet allowed on `if` expressions
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.1/src/sys/unix.rs:878:5
    |
878 |     #[cfg(not(any(target_os = "haiku", target_os = "openbsd")))]
    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0658]: `match` is not allowed in a `const fn`
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.1/src/lib.rs:156:9
    |
156 | /         match address {
157 | |             SocketAddr::V4(_) => Domain::IPV4,
158 | |             SocketAddr::V6(_) => Domain::IPV6,
159 | |         }
    | |_________^
    |
    = note: for more information, see https://github.com/rust-lang/rust/issues/49146

error[E0599]: no associated item named `MAX` found for type `i32` in the current scope
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.1/src/sys/unix.rs:763:46
    |
763 |     msg.msg_iovlen = min(bufs.len(), IovLen::MAX as usize) as IovLen;
    |                                              ^^^ associated item not found in `i32`

error[E0599]: no associated item named `MAX` found for type `i32` in the current scope
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/socket2-0.4.1/src/sys/unix.rs:823:46
    |
823 |     msg.msg_iovlen = min(bufs.len(), IovLen::MAX as usize) as IovLen;
    |                                              ^^^ associated item not found in `i32`

error: aborting due to 4 previous errors

Some errors have detailed explanations: E0599, E0658.
For more information about an error, try `rustc --explain E0599`.
error: could not compile `socket2`.

What could be wrong and how to fix it?

It wasn't related to clippy but rather to stevenleadbeater/rust-musl-builder step.

If you read the error it says error[E0658]: 'match' is not allowed in a 'const fn'. This is likely because your compiler is to old, as per the readme the minimum Rustc version for socket2 is 1.46. Have you tried updating your Rust version?

@vityafx any luck updating your Rustc toolchain?

I guess I can't directly do anything with it as I just rely on the toolchain provided by a third-party github action. Thanks for confirming it is a compiler issue though.


Upgrade nispor dependency to 1.2.6

The nispor 1.2.6 fixed the linux bridge bug:
https://github.com/little-dude/netlink/pull/247

Which is important to nmstate

The netlink crates dependencies must be updated too, thanks!

Fixed. Thanks!


RT-1-X jax

How to convert RT-1-X jax checkpoint into tensorflow savedmodel format that can be used in Minimal_example_for_running_inference_using_RT_1_X_TF_using_tensorflow_datasets

I have the same issue.
I  want to use a model learned by ax in Minimal_example_for_running_inference_using_RT_1_X_TF_using_tensorflow_datasets.ipynb.


Bring back fade transition to Material page transition

Was removed in #9472 for performance reasons. Mitigate performance issue and bring back the transition effect.

@chinmaygarde had some planned compositor optimizations.  You might ask him if he has any planned which would make this easier.

@Hixie please reopen

Reopening since it was reverted.
Might help doing https://github.com/flutter/flutter/issues/13173 first.

Has there been any movement on this one? I feel like this is a pretty visible / janky bug to expose to users... all "back" transitions look really rough.

I noticed that on Android at least, the back animation (the material sheet sliding down) seems to simply disappear half-way through the animation down. I'm assuming this is a bug, because it used to be very beautiful :)

@Hixie Was this disabled again on Android? Wanted to propose Flutter for some new project but now I'm not sure anymore if people would be positive about Flutter.

There's a flag you can flip right now to decide if it should be enabled or not:
MaterialPageRoute.debugEnableFadingRoutes
It currently defaults to false though we may change it to true in the next few days. We're working on a real fix though to make it fast so we can enable it proudly.

@Hixie Thank you! Looking forward to the real fix 🙂

No progress on this issue (beta 0.3.2)?
This is very visible jank and gives a wrong impression of Flutter to potential adopters.
Setting MaterialPageRoute.debugEnableFadingRoutesto true seems no real solution for production use.
I propose to reopen, since all linked issues here are closed as well.

@xster @Hixie I believe this is still being worked on correct?  Is this the right bug to track the work?

https://github.com/flutter/flutter/issues/13736 is the issue where this is being tracked.
We currently have multiple engineers focused on fixing the performance issues involved in a fade transition; it is one of our top issues currently.


Can I run llama3.1 70b with rtx4090+64g ddr5 ram?

Can I run llama3.1 70b with rtx4090+64g ddr5 ram?
At what rate per second are tokens generated?

This is not an issue, it is general question.
As far as I know, ktransformers speeds up only MoE models, and llama3.1 70b is dense model (no routing/expert layers).
The answer to your question depends on your model quantization level, motherboard, RAM used and CPU.


不能导出搜狗浏览器历史记录吗？以及 --key-file-path value参数是如何使用的呢？希望可以有一个更详细的参考文档

Describe the bug
Use ./hack-browser-data -vv paste result here
Desktop (please complete the following information):

OS Name:
Browser Name:
Browser Version:

Additional context
Add any other context about the problem here.

This feature will be optimized in the next release.

don't support sugou browser.


String based datatypes to be explained in YANG files

Either ImplementationCommonDatatypes or IetfYangTypes to be use in UML. Types not been translated into String during UML2YANG translation, but to maintained with the initial names. YANG representation of ImplementationCommonDatatypes or IetfYangTypes to be generated and to be imported into YANG file of tech.spec. Interface/Profile yang.

Solved with L3vpnProfile_1.0.0-tsp.220330.1910.


Repo sync for protected CLA branch

The pull request is created from master637678406283583025 to master to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change.


timed out waiting for ping module test: Failed to connect to the host via ssh: ssh: connect to host <IP_ADDRESS> port 22: Operation timed out

Hey there.  Great project.  I've been making progress, but recently ran into this error
TASK [../../roles/kubeinit_libvirt : wait for okd-service-01 to boot] *********************************************************
fatal: [hypervisor-01 -> <IP_ADDRESS>]: FAILED! => {"changed": false, "elapsed": 611, "msg": "timed out waiting for ping module test: Failed to connect to the host via ssh: ssh: connect to host <IP_ADDRESS> port 22: Operation timed out"}

But, from what I can tell, the device is reachable?  Here is from my hypervisor (CentOS 8).

[root@prealpha tmp]# virsh list --all
 Id   Name             State
--------------------------------
 2    okd-service-01   running

[root@prealpha tmp]# ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.737 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.456 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.409 ms
^C
--- <IP_ADDRESS> ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 35ms
rtt min/avg/max/mdev = 0.409/0.534/0.737/0.144 ms

For what it's worth, I had another issue I had to fix, network related.  I had to modify my /etc/resolv.conf and change my nameserver IP.  This was due to a misconfig/old-config of pfSense (my DHCP server).  I've tried fixing this config, but I honestly don't think it's related to some SSH/ping over IP.
Any ideas? I suspect maybe I misconfigured my inventory too?  Specifically, here are some changes I made:
# CentOS can access the internet via ens192. There is no eth1, but ens192 comes out of the box with my CentOS 8 install.
kubeinit_inventory_network_bridge_external_dev=ens192
# This is the public IP of the pfSense firewall in front of it
kubeinit_inventory_network_bridge_external_ip=xxx.yyy.zz.xx
# This is the LAN IP of the pfSense firewall, on ens192
kubeinit_inventory_network_bridge_external_gateway=<IP_ADDRESS>

I also made a few name / domain changes, but those are the relevant ones I believe.
Logs
Lastly, here's a bit longer snippet of my logs when running the playbook in case it helps
TASK [../../roles/kubeinit_libvirt : Create VM definition for the service nodes] **********************************************
changed: [hypervisor-01 -> <IP_ADDRESS>] => {"changed": true, "cmd": "virt-install    --connect qemu:///system    --name=okd-service-01    --memory memory=12288    --cpuset=auto    --vcpus=8,maxvcpus=16    --os-type=linux    --os-variant=rhel8.0    --autostart                            --network network=kimgtnet0,mac=52:54:00:47:94:58,model=virtio                          --graphics none    --noautoconsole    --import    --disk /var/lib/libvirt/images/okd-service-01.qcow2,format=qcow2,bus=virtio\n", "delta": "0:00:04.939186", "end": "2021-02-08 19:15:03.984983", "rc": 0, "start": "2021-02-08 19:14:59.045797", "stderr": "", "stderr_lines": [], "stdout": "\nStarting install...\nDomain creation completed.", "stdout_lines": ["", "Starting install...", "Domain creation completed."]}

TASK [../../roles/kubeinit_libvirt : Create VM definition for the service nodes] **********************************************
skipping: [hypervisor-01] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [Check that the service node is up and running] **************************************************************************
[WARNING]: The loop variable 'cluster_role_item' is already in use. You should set the `loop_var` value in the `loop_control`
option for the task to something else to avoid variable collisions and unexpected behavior.

TASK [../../roles/kubeinit_libvirt : wait for okd-service-01 to boot] *********************************************************
fatal: [hypervisor-01 -> <IP_ADDRESS>]: FAILED! => {"changed": false, "elapsed": 611, "msg": "timed out waiting for ping module test: Failed to connect to the host via ssh: ssh: connect to host <IP_ADDRESS> port 22: Operation timed out"}

PLAY RECAP ********************************************************************************************************************
hypervisor-01              : ok=84   changed=18   unreachable=0    failed=1    skipped=23   rescued=0    ignored=3

Also, here's journactl -u -f libvirtd.  I see some references to SELinux; might that be something?
Feb 08 19:12:35 prealpha.openshift.aot-technologies.com systemd[1]: libvirtd.service: Succeeded.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: libvirtd.service: Found left-over process 2013 (dnsmasq) in control group while starting unit. Ignoring.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: libvirtd.service: Found left-over process 2014 (dnsmasq) in control group while starting unit. Ignoring.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: libvirtd.service: Found left-over process 157585 (dnsmasq) in control group while starting unit. Ignoring.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: libvirtd.service: Found left-over process 157586 (dnsmasq) in control group while starting unit. Ignoring.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: This usually indicates unclean termination of a previous run, or service implementation deficiencies.
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: Starting Virtualization daemon...
Feb 08 19:12:38 prealpha.openshift.aot-technologies.com systemd[1]: Started Virtualization daemon.
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq[157585]: read /etc/hosts - 3 addresses
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq[2013]: read /etc/hosts - 3 addresses
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq[2013]: read /var/lib/libvirt/dnsmasq/default.addnhosts - 0 addresses
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq[157585]: read /var/lib/libvirt/dnsmasq/kimgtnet0.addnhosts - 0 addresses
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq-dhcp[2013]: read /var/lib/libvirt/dnsmasq/default.hostsfile
Feb 08 19:12:39 prealpha.openshift.aot-technologies.com dnsmasq-dhcp[157585]: read /var/lib/libvirt/dnsmasq/kimgtnet0.hostsfile
Feb 08 19:13:39 prealpha.openshift.aot-technologies.com dnsmasq[157585]: exiting on receipt of SIGTERM
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167683]: listening on kimgtbr0(#11): <IP_ADDRESS>
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167690]: started, version 2.79 cachesize 150
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167690]: compile time options: IPv6 GNU-getopt DBus no-i18n IDN2 DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth DNSSEC loop-detect inotify
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq-dhcp[167690]: DHCP, IP range <IP_ADDRESS> -- <IP_ADDRESS>, lease time 1h
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq-dhcp[167690]: DHCP, sockets bound exclusively to interface kimgtbr0
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167690]: using nameserver <IP_ADDRESS>#53
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167690]: read /etc/hosts - 3 addresses
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq[167690]: read /var/lib/libvirt/dnsmasq/kimgtnet0.addnhosts - 0 addresses
Feb 08 19:13:49 prealpha.openshift.aot-technologies.com dnsmasq-dhcp[167690]: read /var/lib/libvirt/dnsmasq/kimgtnet0.hostsfile
Feb 08 19:14:23 prealpha.openshift.aot-technologies.com libvirtd[163819]: libvirt version: 6.0.0, package: 28.module_el8.3.0+555+a55c8938 (CentOS Buildsys<EMAIL_ADDRESS>2020-11-04-01:04:00, )
Feb 08 19:14:23 prealpha.openshift.aot-technologies.com libvirtd[163819]: hostname: prealpha.openshift.aot-technologies.com
Feb 08 19:14:23 prealpha.openshift.aot-technologies.com libvirtd[163819]: Domain id=1 name='guestfs-r2s6b7ck88qymrqe' uuid=6fba960a-255d-4baa-9c24-c506801ae5b2 is tainted: custom-argv
Feb 08 19:14:23 prealpha.openshift.aot-technologies.com libvirtd[163819]: Domain id=1 name='guestfs-r2s6b7ck88qymrqe' uuid=6fba960a-255d-4baa-9c24-c506801ae5b2 is tainted: host-cpu
Feb 08 19:14:27 prealpha.openshift.aot-technologies.com libvirtd[163819]: missing device in NIC_RX_FILTER_CHANGED event
Feb 08 19:14:56 prealpha.openshift.aot-technologies.com libvirtd[163819]: 2021-02-09 00:14:56.588+0000: 168939: info : libvirt version: 6.0.0, package: 28.module_el8.3.0+555+a55c8938 (CentOS Buildsys<EMAIL_ADDRESS>2020-11-04-01:04:00, )
Feb 08 19:14:56 prealpha.openshift.aot-technologies.com libvirtd[163819]: 2021-02-09 00:14:56.588+0000: 168939: info : hostname: prealpha.openshift.aot-technologies.com
Feb 08 19:14:56 prealpha.openshift.aot-technologies.com libvirtd[163819]: 2021-02-09 00:14:56.588+0000: 168939: warning : virSecuritySELinuxRestoreFileLabel:1503 : cannot lookup default selinux label for /tmp/libguestfsO8wacC/console.sock
Feb 08 19:14:56 prealpha.openshift.aot-technologies.com libvirtd[163819]: 2021-02-09 00:14:56.588+0000: 168939: warning : virSecuritySELinuxRestoreFileLabel:1503 : cannot lookup default selinux label for /tmp/libguestfsO8wacC/guestfsd.sock

Thanks!

Oh, I just discovered I can even SSH as root into okd-service-01 from the CentOS Hypervisor w/o password prompt.

[root@prealpha tmp]# ssh<EMAIL_ADDRESS>Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.
<EMAIL_ADDRESS>Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[root@prealpha tmp]# ssh<EMAIL_ADDRESS>Activate the web console with: systemctl enable --now cockpit.socket

[root@okd-service-01 ~]# echo "I'm in!"

I did this during a fresh attempt at running the playbook, during wait for okd-service-01 to boot.
So, I am able to SSH in via whatever creds are setup with ansible.  But ansible is somehow still timing out.
Thanks again.

Hi I recently hit something similar and it was some old references to the known_hosts file in the hypervisor, the machine was waiting to accept the "unknown host" warning from ssh. To be able to debug this better I centralized the wait_for_connection in a single task. Can you make sure that you don't have any reference to the machines in the known_hosts file in the host? Also, try with latest master to use this centralized wait_for_connection.
From your 'laptop' you should not be able to reach directly the guests (like ssh root@<IP_ADDRESS>), only from the host. When you run the playbook in your laptop you always connect to the hypervisor and jump to the guests using a proxy so as long as you can reach the host it should work.

Thanks for this!    Starred the repo. :)
I did have a known_hosts with the offending IP in my CentOS hypervisor node.  I removed the entry (leaving an empty known_hosts file) and ran the ansible-playbook again.
It proceeded as normal, timinig out at the same wait for okd-service-01 to boot part. The known_hosts file is still blank.  I haven't tried SSHing during the process this time.
# Done during "wait for okd-service-01 to boot"
[root@prealpha ~]# cat ~/.ssh/known_hosts
[root@prealpha ~]#

After waiting for it to timeout, I now pulled the latest master and tried again.
cd kubeinit
git fetch
git pull origin master

My inventory file is unmodified, so I simply will re-run the original ansible-playbook command with the latest master code.
(Note: My hypervisor's known_hosts still exists and is blank at this point.)
The issue persisted, then I saw you modified 20_check_nodes_up.yml, and I switched which task was commented out to the new one you left for me.  (Thanks by the way!  Super nice of you.)
With the manual replacement for wait_for_connection, the results were slightly different.  It failed, then passed, then failed.
TASK [../../roles/kubeinit_libvirt : wait for okd-service-01 to boot] ******************************************************
FAILED - RETRYING: wait for okd-service-01 to boot (30 retries left).
FAILED - RETRYING: wait for okd-service-01 to boot (29 retries left).
changed: [hypervisor-01] => {"attempts": 3, "changed": true, "cmd": "set -o pipefail\nssh    -o ConnectTimeout=5    -o BatchMode=yes    -o StrictHostKeyChecking=no<EMAIL_ADDRESS>'echo \"connected\"' || true\n", "delta": "0:00:02.189656", "end": "2021-02-09 11:27:29.637112", "rc": 0, "start": "2021-02-09 11:27:27.447456", "stderr": "Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts.", "stderr_lines": ["Warning: Permanently added '<IP_ADDRESS>' (ECDSA) to the list of known hosts."], "stdout": "connected", "stdout_lines": ["connected"]}

TASK [Upgrade packages and restart] ****************************************************************************************
[WARNING]: The loop variable 'cluster_role_item' is already in use. You should set the `loop_var` value in the
`loop_control` option for the task to something else to avoid variable collisions and unexpected behavior.

TASK [../../roles/kubeinit_okd : update packages] **************************************************************************
fatal: [hypervisor-01]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: ssh: connect to host <IP_ADDRESS> port 22: Operation timed out", "unreachable": true}

PLAY RECAP *****************************************************************************************************************
hypervisor-01              : ok=86   changed=20   unreachable=1    failed=0    skipped=23   rescued=0    ignored=3

At this point, if I cat ~/.ssh/known_hosts I do see an entry for <IP_ADDRESS> (as per the wait for okd-service-01 to boot task).  And if on the hypervisor I do ssh<EMAIL_ADDRESS>it works fine. So, the entry in known_host seems correct.
I'm stumped, any ideas?  I might jump on Slack if you're available today, although I have to get an OpenShift deployment up ASAP so I may just go to a manual bare-metal single-node-cluster installation if I can't make more progress on this soon.
Thanks again, any advice is appreciated.

After checking and checking the code @acoard-aot the problem is that Ansible is not honoring the ssh proxy (that's why it can not connect). In this case, each guest is inside a libvirt network inside the host, so from the host itself you will be able to reach it, but not from the place you trigger ansible (that's the reason of the ssh proxy). The weird thing is that this is something I used since 1 year ago and it was working just fine. After checking the Ansible docs, I found another way of configuring the ssh proxy.
Fixed by: https://github.com/Kubeinit/kubeinit/pull/182

same issue
but fix #182 didt fix it for me
i had to comment out those 2 lines;  in  kubeinit/hosts/okd/inventory
ansible_ssh_pipelining=True
ansible_ssh_extra_args='-o StrictHostKeyChecking=no -o ProxyCommand="ssh -W %h:%p -q root@nyctea"' # ControlMaster=auto -o ControlPersist=54s -o ControlPath=~/.ssh/ansible-%r@%h:%p

@nirolfa thanks for reporting this, it should work if you deploy the ansible playbook from the first hypervisor (I assume its the way it works for you).
In the latest merged PR @nirolfa @acoard-aot  this should be fixed now, there are some minor improvements that need to be addressed but it should work.
Please feel free to reopen or jump in the slack channel if you have any other question.


hoping would support scss

hoping would support @import statement in scss

@yzhen123 I'll implement it in 2.0
https://github.com/nkt/atom-autocomplete-modules/pull/18


Auto withdrawal help text confusing?

Description
The tooltip/helptext/whatever it's called for the auto withdrawal desired balance field doesn't seem to quite make sense?

attempts to keep your balance no greater than 1000 sats of this amount

What does this mean?
Steps to Reproduce
Nav to wallet settings
Attach a LN Address
Expected behavior
More clear help text for this input field
Screenshots

Logs
N/A
Environment:
N/A
Additional context
Add any other context about the problem here.

It means that only when the desired balance (in the case of the screenshot: 10k) is greater than 1k sats will a withdrawal get triggered. So only when your balance reaches 11k will a withdrawal get executed. See line 14 here:
https://github.com/stackernews/stacker.news/blob/e2c7f4aa58a52554141aac861d92f3c447ca968b/worker/autowithdraw.js#L6-L20
Does this help? Is there a way to explain this easier?

I also got a bit confused when I set up the autowithdraw for my account. I got it from experiencing it afterwards.
Maybe one could rephrase it as: Autowithdraw attempts will be initiated only when your balance reaches at least 110% of the indicated amount.

Autowithdraw attempts will be initiated only when your balance reaches at least 110% of the indicated amount.

I think this is much more clear, It would be especially helpful to show the user what that amount is in case they have an obscure desired balance
Autowithdraw attempts will be initiated only when your balance reaches at least 110% of the indicated amount, 11000 sats
alternatively
Autowithdraw attempts will be initiated only when your balance overflows by 10% over the indicated amount.  Current autowithdrawl threshold: 11000 sats

I think you all are on the right track. It's the relative amount that's confusing IMO.
"will attempt auto-withdraw when your balance exceeds 11000 sats"

I'll give it a try to modify the code for this tonight.


Add Exoscale provider

This PR add the Exoscale provider to build Cloud Image
Possible to update RancherOS latest release to add this  image?
Thank you!

https://github.com/rancher/os/releases/download/v1.5.5/rancheros-exoscale.img

Thank you


Page list requires two clicks to open

Question
I created a wrapper for react-bootstrap-table2 for a common use case I have.  I can't explain why but in this implementation, the first click does not open the page list dropdown.  The drop down works as expected in other contexts such as the story book examples.
What happens is in the span element around the page list button.  On the first click, it only gets the "open" class.  After that, further onClick events remove the "open" class and toggle the "show" class, which succeeds in displaying/hiding the dropdown contents.  To compare with the storybook, both the "open" and "show" classes are toggled together.
codesandbox
import React from 'react';
import BootstrapTable from 'react-bootstrap-table-next';
import paginationFactory from 'react-bootstrap-table2-paginator';

import 'react-bootstrap-table-next/dist/react-bootstrap-table2.css';
import 'react-bootstrap-table2-paginator/dist/react-bootstrap-table2-paginator.css';
import 'myTableStyle.scss';

class PaginatedTable extends React.Component {

    getData = () => {  /** read sort&page config, get remote data, update state.data **/  };

    handleTableChange = (type, changes) => {
        this.setState(changes, this.getData);
    };

    render = () => {

        const {keyField, columns, route, collection, parameters, ...otherProps} = this.props;
        const {data, totalSize, sizePerPage, page} = this.state;

        return <BootstrapTable
            remote
            bootstrap4
            keyField={keyField}
            data={data}
            columns={columns}
            pagination={paginationFactory({page, sizePerPage, totalSize})}
            onTableChange={this.handleTableChange}
            {...otherProps}/>;
    };
}

export default PaginatedTable;

hi @mfleonhardt I really can't reproduce this issue lol. If ok, please create codesandbox example online so that I can help, thanks


Custom dns policy makes sdp-dnsmasq crash

Given a pod including the following spec:
     dnsConfig:
       nameservers:
       - <IP_ADDRESS>
       - <IP_ADDRESS>
     dnsPolicy: None

Results in the sdp-dnsmasq sidecar failing to start:
Unable to get the kube dns service!. Dying now!

We should at least detect the issue and emit a relevant error.

Right now we detect it but the error is really far from relevant :D
Since we don't support that option (I don't really know if there is a user case for it) we can just let the injector to fail the validation of the POD in that case.

Yes let's just make it clear the dnsPolicy: None is not supported right now.
We should be explicit about which dnsPolicy we support.

what does your Corefile look like?

Have you tried adding something like:
spec:
  hostname:
  subdomain:
  containers:
  - image: # image ref
    name: sdp # name reference to corresponding service `metadata.name`
---
# associated service
apiVersion: v1
kind: Service
metadata:
  name: sdp # or something similar
spec:
  selector:
    name: sdp
  clusterIP: None
  ports:
  - name: foo # Actually, no port is needed.
    port: 1234
    targetPort: 1234

using approach outlined here

FIX:: can't use reserved port...ie:  53.
use 50053 or something that ur non-root user can open without needing privs ... or got back to running as root.


StreamSocket sample is invalid

The C# StreamSocket sample is invalid. It is calling itself. It should be a client and a server in separate executables/projects!

@jwettstrom - The StreamSocket sample can be run on two separate machines, one acting as the server side and the other one acting as the client side. The only change needed is to enable the “HostNameForConnect” textbox in Scenario2_Connect.xaml.
The actual code does not change at all. By default, the sample uses loopback communication in order to reduce the likelihood of networking issues since those are unrelated to the StreamSocket APIs being showcased.

Yeah, but not everyone have two machines to test on, so not good for a lot of people. Plus if I split the apps up, I can't get it to work at all on same machine using localhost as hostname. Maybe something worth looking into. There would also be good to have a WebSocket client server sample app (both apps be UWP).

Windows Store apps can't establish socket connections (Sockets API or Winsock) between two apps running on the same machine. This has been part of the network isolation design for UWP (Windows Store) apps since Windows 8, and is designed to ensure that UWP apps are well-behaved and stay within their own sandbox. (See a typical past discussion here. ) This is why the sample demonstrates communication between a server component and a client component packaged as a single app, rather than giving you separate server and client apps -- it's the only way to demonstrate both sides of a socket communication using UWP apps on a single machine.
I was going to quote our docs about this, but didn't find it in the most obvious places. I'll be adding some clarification about this to the docs in the next day or two. Thanks for highlighting the need for a doc update.

Sorry that just doesn't make sense in some use case scenarios. Also, you should be able to be sandboxes and still call across apps through sockets if the network classes (at whatever level) was implemented correctly. So to do a workflow on a machine now you have to build a local run "service" app that acted as go between. That is just silly. Sorry but whoever came up with this idea hasn't looked into some business scenarios.

This discussion doesn't appear to be related to the sample any more.


[Feature] Use JS to focus on input widgets

Summary
Give users the ability to focus on an input widget. Something like text1.focus() would be useful.
Requirement

Title
Desc
Comment

New Action: FocusWidget
A new action which lets user select a widget for the following options
-

Focus input
When the function is executed we will focus on the input element, i.e. the cursor will be active here
-

Scroll to
When the function is executed we will also scroll to the element positions on the viewport
-

 Front conversations

@areyabhishek are we talking about autofocus on input or trigger focus as an action?

I'm talking about trigger focus as an action

I am finding this request in multiple places, are any of them being worked on?

This feature was requested by these users: #1 ; #2

I would also very much like to see this feature added.
I have run across multiple situations where I would like to automatically respond to user behavior by moving the cursor to an input box.
Specifically, I have deployed Appsmith pages in environments where staff are using barcode scanners to enter information. Sometimes I've been able to make it work. But if the user needs to manually select the correct text box between each scan, there is a lot of extra interaction required and our KPIs are significantly slower. Being able to auto-move the cursor to inputs would allow me to improve workflows by an order of magnitude in these circumstances.
Separately, shifting widget focus is just a generally useful option to have in UI development.

Seemed this focus request have been proposed long time ago. But why still not be realised? Is it too hard technically？
Or is there any other way to bypass it ,such as using a iframe to build a html input box?

@bharath31
Waiting #17339 (comment) I wonder why it wasn't planned
do @rimildeyjsr for inventing new methods.
If there is no developer to do this, can I make one?
I need this feature

@developer-honoru sorry for dropping the ball on this one. @satbir121 and @rimildeyjsr bumping this up ICYMI https://github.com/appsmithorg/appsmith/pull/17339#discussion_r992124173. Please help @developer-honoru with next steps.

Thanks for checking! If there are not enough people, I want to make it myself. just give me guidelines @bharath31 @rimildeyjsr

@developer-honoru This feature requires an architecture level change. Currently, we do not have any properties inside widgets that are mutable from JS. Everything is Read Only on Widgets. We are going to pick this up in first quarter of 2023. The underlying framework will be changed to make widget properties mutable.
Set meta properties on widgets

@bharath31 another request for this which can be solved with #3532

Another user asked for this on discord

@Rishabh-Rathod @Druthi now that we've released widget property setters, should this be an easy solve?

@bharath31 to support the above feature.

We will need to internally introduce isFocused property for the list of widgets where this functionality needs to be added.
Widget developers will need to make sure on the change of isFocused property the widget changes its focus state.
Add setFocused to the setter config. ( this task could be picked up by both the widget team or FE team )

cc: @somangshu

@Rishabh-Rathod once the platform functionality is complete, the widgets team and use the API and decide on widgets that need the implementation.
Let us know once the first bit is completed.

@somangshu introducing isFocused ( new property ) to widget can also be taken care by widget developer as done before.
@bharath31 Could you please mention list of all the widgets that need setFocused setter method.

@Rishabh-Rathod I disagree.
The requirement is to use JS to be able to focus on the widget. So this is a meta prop that should be allowed to set from the JS functions. The widgets team will not have the expertise to contribute on that front. If we have the API, widgets team can decide where all this needs to be implemented, we dont really need help there.
cc @sbalaji1192 please correct me if I going wrong here.

Also, isFocused prop is secondary here, that is an internal prop for users to check if a certain component / widget is focused. Whereas again, the requirement is to have an API to focus on the said component / widget programatically.

@somangshu isFocused will be the property that would actually control the focus state of widget and would also reflect it.
As soon as user start typing inside input widget, we will change the isFocused state to true and when the input widget is out of focus we will make the isFocused property as false.
Now, setFocused will change the same isFocused state to control the focus state of widget.
Hence, if the widget doesn’t support the isFocused state, we need to introduce it and make sure we change the value according to user action and vice versa i.e., on isFocused change we also change the widget focus.
setFocused will be only responsible to update the isFocused state but the rest of the logic will need to be handled inside widget.

@somangshu I agree with Rishab, We need to make changes on the widget to consume the isFocused state.

We need maybe another task that should be used to make the changes in widget.

+1

+1

@uliilu we haven't gotten to developing this feature yet. If setting the focus is crucial to your app building, you might also meanwhile want to try a custom widget.

@rohan-arthur, Hi, I will take a closer look to your suggestion. Thank you very much and all the best

@rohan-arthur I dont understand how custom widgets are suppose to solve this problem,
I tried custom widget but the window object is not available there also,
the document object is also not available there either.
I've tried this a tag but the appsmith custom widget container refuses to connect at click, with an error
Next
I've tried this but useRef is always null or compiled out,
    if (contentRef.current) {
      contentRef.current.scrollTo({
        top: 0,
        behavior: 'smooth'
      });
    }

The only thing that comes close to working is This

But this only works in the builder and not inside of the editor or in the deployed app

        const handleNextPage = (event) => {
	        scrollToTop(event)
          setCurrentPage((prevPage) => Math.min(prevPage + 1, totalPages));
        };

        const handlePrevPage = (event) => {
	        scrollToTop(event)
          setCurrentPage((prevPage) => Math.max(prevPage - 1, 1));
        };
  	const scrollToTop = (event) => {
		event.preventDefault();
		const button = event.target;
		const scrollableParent = findScrollableParent(button);
		if (scrollableParent) {
			scrollableParent.scrollTop = 0;
		}
	}

	const findScrollableParent = (element) => {
			if (!element) {
					return null;
			}

			// Check if the current element has the id 'contentTop'
			if (element.id === 'topContainer') {
					return element;
			}

			if (element.scrollHeight > element.clientHeight) {
					return element;
			} else {
					return findScrollableParent(element.parentElement);
			}
	}


Non-orphan openapi and swagger instances

A while back, I was very confused when I was getting an error from the following code:
data FooBar = ...
  deriving (ToJSON, FromJSON, ToSchema) via (Autodocodec FooBar)

instance HasCodec Blah where ...

Everything seemed imported, but the issue is that the ToSchema instance in autodocodec-swagger2/autodocodec-openapi3 is orphan.
So then I'd have to explicitly add:
import Autodocodec.Swagger.DerivingVia ()

And my editor didn't help me with this.
I get why these instances are orphan, because we don't want to define these instances in the autodocodec library proper, next to the Autodocodec type, as that will mean Autodocodec gets all the dependencies of swagger2/openapi3.
So instead I made a little newtype, and now I can derive Swagger/OpenApi instances like so:
data FooBar = ...
  deriving (ToJSON, FromJSON) via (Autodocodec FooBar)
  deriving (ToSchema) via (AutodocodecOpenAPI FooBar)

A little bit longer, but my editor nicely completes all the required imports.
Also these instances are not orphans, so you don't get this slowdown in compilation.
Not sure how significant it is, but we can avoid the orphans here. In any case this isn't really about compilation speed, I just find the non-orphan approach has less gotchas (namely, avoiding confusing messages about an expected instance not existing). Note I've left the existing approach for backwards compatibility, but GHC won't see the orphan instance unless it's directly or indirectly important, which won't be the case for anyone who imports Autodocodec.OpenAPI.DerivingVia.NonOrphan directly.
The other thing I've done as a side quest is slightly changed the instance definitions so that repeated calls to declareNamedSchema are less likely to result in recomputation. See the comments in Autodocodec.OpenAPI.DerivingVia. Note this may slightly increase memory usage as GHC will be less keen to garbage collect any schemas created by declareNamedSchema, but I think this will be minimal, GHC will only allocated to memory for one schema per instance declaration in the source code, and indeed may instance declarations will not be cached in the case the type still has any free parameters.

@clintonmead Huh, that's very smart!
I propose we:

Merge this with a minor version bump.
Remove the orphan instances with a major version bump.

What do you think?

@NorfairKing sounds great!

Merged manually and released.


Support promises as well as callbacks

The inline jsdoc code says:
 * @param {function} optCb Optional callback, if not using promises.

but I  get Uncaught TypeError: Cannot read property 'then' of undefined.
Should I assume this is not actually implemented?

Correct. It was in an earlier version of the 2.0.0 rewrite but I removed it to focus down on what the change would do. Apparently I forgot to clean up some JSDoc though.
I'll be adding promise support back in for 2.1.0 though.

Ok, so https://github.com/slackhq/node-slack-client/tree/add_promises adds in promise support for web API calls.
Question for you - would you want to see results where the Slack API response looks like:
{ok: false, error: "blah"}

... go to the promise error handler or the then handler?
My inclination is to have those cases go to the then and have users have an if statement to pick the issue up.

I think it would make more sense to recognise it and give it  to the promise error handler, then do the same for regular callbacks.
After all, giving it to the then handler just forces users to clog up code with an extra if statement to recognise an error, which really shouldn't happen.
Added on to that, getting an ok: false is technically still an error, as it stops you from getting any of the data you request for, so it should be treated as one, regardless of promise or callback.

For sure the error handler, we should turn all ok: falses into a SlackApiError that has the error text as the message

@paulcbetts / @Everesty - agreed, that seems reasonable. I've updated the PR to reflect that.
I need to update the RTM client so that it won't break if you create one with usePromises true, or default it to false, but this should be ready for use this weekend.

I'm not fan of adding a boolean to enable/disable promise. Libs I see offering the 2 options detect if the last arguments (the callback) is defined and if it is not the case it return a promise.
You can also always use a promise and if a callback is given make a
promise.then(function (result) {
  optCb(null, result)
}, function (error) {
  optCb(error);
});

return promise;

Yep, that sounds totally reasonable. I already have a check for if a callback was passed in, so I can just put the logic for creating promises there.

This is now fixed. I'll close this once I release the 2.1.0 version


As a server admin, I want to be able add, modify, and remove authors.

Closed in 37f57b074f78ff3799ab5eb3d1e166465534b956.

For submission: verified.


il2cpp SpectatorView experiences on HoloLens feel lower quality than .Net

It seems like networking is slower for il2cpp
It also seems like the HoloLensCamera freezes the application when initializing

We should validate this on HoloLens 1

This task could also be rolled into performance tracing

Running release builds of IL2CPP didn't seem to repro this problem. We will reopen this issue as needed.


Fix documentation of serialize_tuple and SerializeTuple

SerializeTuple supports serialize_element, not serialize_field.

Thanks! I filed #793 to track progress on ignoring fewer of these doc examples, which would have caught this.


Improve npm scripts

This PR aims at improving the Netlify CLI npm scripts:

Only run ESLint and Prettier on Node 14 in CI, as described in https://github.com/netlify/build/issues/1962 and as implemented in Netlify Build in https://github.com/netlify/build/pull/1969
Minor updates (adding some titles) in the GitHub actions workflow.yml to make it more similar to @netlify/build's workflow.yml
Run formatting on git push, as described in https://github.com/netlify/build/issues/1950
Sort and rename npm scripts
Distinguish between npm test (local machine) vs npm test:ci.
Small optimization of the nyc arguments to avoid running it twice
Add caching to ESLint, and few smaller CLI flags (--format=codeframe and --max-warnings=0)
Make Prettier less verbose (--loglevel warn)

This PR includes many unrelated changes that could have been broken down, but because they all modified the npm scripts, it was simpler to group in a single PR.
Please share any thoughts, and we can update it both in this PR and in Netlify Build :)

Rebased onto master.

🎉


Improve Build example - Med OS workflow

Problem
Improve Build examples - Mbed OS workflow to reduce performance time and computing power consumption for it.
Change overview
Replace build matrix with separate job's steps - each example is separate job's steps
Testing
Execute Github actions with these changes on the ARMmbed fork. We save about 2 minutes on each step (initialization, checkout, etc.)

@saurabhst ?

/gcbrun


How can I render HTML-file content to specific tag/word into a template.docx file (word replacement)?

How can I copy the content of an HTML file (data_1.html") to a specific
location in a pre-made "template.docx" and then save it as "output.docx"?
Here is an example of how I would like it to work:

Were you able to figure this out?

Look into using a library called Mako