time needed for FaceBoxes algorithms

Hi Dr. Zhang,
I tested 10 images on your CPU model. The time needed for the algorithm seems to be much longer than that in your paper:
-----0th images, image width=640, image height=480
-----0th images, Face Rect width=135, Face Rect height=160
-----0th images, time for **FD = 273.279480ms**, FL = 3.838500ms
-----1th images, image width=640, image height=426
-----1th images, Face Rect width=243, Face Rect height=335
-----1th images, time for **FD = 120.471107ms,** FL = 3.123300ms
-----2th images, image width=570, image height=856
-----2th images, Face Rect width=318, Face Rect height=428
-----2th images, time for **FD = 119.700096ms**, FL = 3.967700ms
-----3th images, image width=640, image height=480
-----3th images, Face Rect width=195, Face Rect height=282
-----3th images, time for **FD = 159.247803ms,** FL = 3.166000ms
-----4th images, image width=640, image height=632
-----4th images, Face Rect width=381, Face Rect height=497
-----4th images, time for **FD = 132.707703ms**, FL = 3.671800ms
-----5th images, image width=640, image height=677
-----5th images, Face Rect width=457, Face Rect height=574
-----5th images, time for **FD = 135.079193ms,** FL = 4.643900ms
-----6th images, image width=640, image height=442
-----6th images, Face Rect width=254, Face Rect height=349
-----6th images, time for **FD = 154.615097ms,** FL = 3.570300ms
-----7th images, image width=640, image height=563
-----7th images, Face Rect width=298, Face Rect height=415
-----7th images, time for **FD = 296.186584ms**, FL = 5.205200ms
-----8th images, image width=640, image height=480
-----8th images, Face Rect width=258, Face Rect height=326
-----8th images, time for **FD = 188.629303ms**, FL = 3.470700ms
-----9th images, image width=224, image height=224
-----9th images, Face Rect width=111, Face Rect height=167
-----9th images, time for **FD = 33.309402ms,** FL = 7.112700ms

For the 640*480 images, the time needed is around 150ms. Do you have any idea about the reason why the time needed is much longer?
Do you have a trained GPU model?
Thanks and Best Regards,
Ardeal

@ardeal
We use caffe -time to test the speed of FaceBoxes on CPU, which does not contain the time of pre-process (e.g., read/resize/.../ image) and post-process (e.g., NMS). Different implementations of NMS have differenet times. In actual use, you can set a very high score threshold (e.g., 0.8) to speed up NMS, or you can implement a faster NMS.

Many thanks for your reply. Dr. Zhang!

@ardeal
The provided model is trained on GPU. You can test it on CPU or GPU.

Hi Dr. Zhang,
if I use the following python code:
caffe.set_mode_cpu()
the output of FaceBoxes algorithms is correct.
however, if I use the following code in python:
caffe.set_mode_gpu()
I got the following error while I initialize the network:
......
I0408 16:21:01.161911 31476 net.cpp:165] Memory required for data: 52188160
I0408 16:21:01.161911 31476 layer_factory.hpp:77] Creating layer mbox_conf_softmax
I0408 16:21:01.161911 31476 net.cpp:100] Creating Layer mbox_conf_softmax
I0408 16:21:01.161911 31476 net.cpp:434] mbox_conf_softmax <- mbox_conf_reshape
I0408 16:21:01.161911 31476 net.cpp:408] mbox_conf_softmax -> mbox_conf_softmax
I0408 16:21:01.161911 31476 net.cpp:150] Setting up mbox_conf_softmax
I0408 16:21:01.161911 31476 net.cpp:157] Top shape: 1 6400 2 (12800)
I0408 16:21:01.161911 31476 net.cpp:165] Memory required for data: 52239360
I0408 16:21:01.161911 31476 layer_factory.hpp:77] Creating layer mbox_conf_flatten
I0408 16:21:01.161911 31476 net.cpp:100] Creating Layer mbox_conf_flatten
I0408 16:21:01.161911 31476 net.cpp:434] mbox_conf_flatten <- mbox_conf_softmax
I0408 16:21:01.161911 31476 net.cpp:408] mbox_conf_flatten -> mbox_conf_flatten
I0408 16:21:01.161911 31476 net.cpp:150] Setting up mbox_conf_flatten
I0408 16:21:01.161911 31476 net.cpp:157] Top shape: 1 12800 (12800)
I0408 16:21:01.161911 31476 net.cpp:165] Memory required for data: 52290560
I0408 16:21:01.161911 31476 layer_factory.hpp:77] Creating layer detection_out
I0408 16:21:01.161911 31476 net.cpp:100] Creating Layer detection_out
I0408 16:21:01.161911 31476 net.cpp:434] detection_out <- mbox_loc
I0408 16:21:01.161911 31476 net.cpp:434] detection_out <- mbox_conf_flatten
I0408 16:21:01.161911 31476 net.cpp:434] detection_out <- mbox_priorbox
I0408 16:21:01.161911 31476 net.cpp:408] detection_out -> detection_out
I0408 16:21:01.161911 31476 net.cpp:150] Setting up detection_out
I0408 16:21:01.161911 31476 net.cpp:157] Top shape: 1 1 1 7 (7)
I0408 16:21:01.161911 31476 net.cpp:165] Memory required for data: 52290588
I0408 16:21:01.161911 31476 net.cpp:228] detection_out does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_conf_flatten does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_conf_softmax does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_conf_reshape does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_priorbox does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_conf does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] mbox_loc does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_priorbox does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_conf_flat does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_conf_perm does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_conf does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_loc_flat does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_loc_perm does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv4_2_mbox_loc does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv3_2_mbox_priorbox does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv3_2_mbox_conf_flat does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv3_2_mbox_conf_perm does not need backward computation.
I0408 16:21:01.161911 31476 net.cpp:228] conv3_2_mbox_conf does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_mbox_loc_flat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_mbox_loc_perm does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_mbox_loc does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_priorbox does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_conf_flat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_conf_perm does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_conf does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_loc_flat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_loc_perm does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_mbox_loc does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_2_conv4_2_relu_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_1_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_1_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_1_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv4_1 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_conv3_2_relu_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_1_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_1_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_1_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv3_1 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat_inception_a3_concat_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_concat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_2_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_3x3_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_1x1 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a3_pool_ave does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_concat_inception_a2_concat_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_concat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_2_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_3x3_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_1x1 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a2_pool_ave does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_concat_inception_a1_concat_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_concat does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_2_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_reduce_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_reduce_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_reduce_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_3x3_reduce does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_2_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1_bn does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_1x1 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] inception_a1_pool_ave does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] pool2_pool2_0_split does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] pool2 does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv2_relu does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv2_scale does not need backward computation.
I0408 16:21:01.177520 31476 net.cpp:228] conv2_concat does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv2_neg does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv2_conv2_bn_0_split does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv2_bn does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv2 does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] pool1 does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_relu does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_scale does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_concat does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_neg does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_conv1_bn_0_split does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1_bn does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] conv1 does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] data_input_0_split does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:228] input does not need backward computation.
I0408 16:21:01.205895 31476 net.cpp:270] This network produces output detection_out
I0408 16:21:01.205895 31476 net.cpp:283] Network initialization done.
I0408 16:21:01.221505 31476 upgrade_proto.cpp:77] Attempting to upgrade batch norm layers using deprecated params: ../models/faceboxes/faceboxes.caffemodel
I0408 16:21:01.221505 31476 upgrade_proto.cpp:80] Successfully upgraded batch norm layers using deprecated params.
I0408 16:21:01.221505 31476 net.cpp:761] Ignoring source layer data
I0408 16:21:01.221505 31476 net.cpp:761] Ignoring source layer data_data_0_split
I0408 16:21:01.221505 31476 net.cpp:761] Ignoring source layer mbox_loss
C:\ProgramData\Anaconda3\lib\site-packages\skimage\io\_io.py:49: UserWarning: `as_grey` has been deprecated in favor of `as_gray`
  warn('`as_grey` has been deprecated in favor of `as_gray`')
F0408 16:21:01.371168 31476 im2col.cu:61] Check failed: error == cudaSuccess (48 vs. 0)  no kernel image is available for execution on the device
*** Check failure stack trace: ***

Do you have any idea about the issue?
Thanks and Best Regards,
Ardeal

Hi Dr. Zhang,
I found out the reason of the issue:
in build.cmd file, we should specify the arch of GPU by:
if NOT DEFINED CUDA_ARCH_NAME set CUDA_ARCH_NAME=Pascal
CUDA_ARCH_NAME should be set to specified name according the GPU arch.
now, I could run GPU version of  FaceBoes.
Many thanks!

@ardeal
OK


Anyone using RN 0.49 / should I just ignore the errors?

Hi ,
I'd like to understand if you folks are just using the latest react with svg and ignoring errors (unmet peer dependecy etc), or if I really, really  should stay in react-native 0.46.0 with 16.0.0-alpha.12 ?
I ask because I'm always expecting new versions of RN with speed improvements, etc.
TIA

I am using v5.4.1 with<EMAIL_ADDRESS>just fine.

If it doesn't crash and renders correctly it's probably fine ;)


[Bug / Breaking change] BC22.4 vs. BC23-Insider - report 5880 "Calc. Phys. Invt. Order Lines"

hi,
there is a breaking change between BC22.4 and BC23-insider releases.
report 5880 "Calc. Phys. Invt. Order Lines"
page field 1.)
before:
field(CalcQtyExpected; CalcQtyExpected)
after:
field(CalcQtyExpectedField; CalcQtyExpected)
page field 2.)
before:
field(ZeroQty; ZeroQty)
after:
field(ZeroQtyField; ZeroQty)
see Screenshot:

Please fix this for the preview.

@sschuh thanks for pointing this out.
This was mostly done by accident.
I've reported this to the people who were involved in this change and hopefully we get this fixed before BC 23 will be released.

Issue resolved in 23.0.


Switch between Lights has changed

Describe the bug
Before, in some version, the dimming button on the keyboard switch between the max light, the dim light and the lights off. Now, only switch between dim and light off. I don't know if it is necessarily a bug.
To Reproduce
Steps to reproduce the behavior:

Open the Settings view into AlienFX Control
Switch between light powers with fn + F7

Expected behavior
Switch between three lights options is expected.
System:

Model: Alienware m15 R6
Model details: m15R6 Keyboard+Tron
OS: Windows 11 stable

Additional context
The command in this keyboard is fn + F7. The last effect, looking for Settings screen is:

"Turn on lights" disabled,
"Turn on lights" enabled and "Dim lights to" disabled
"Turn on lights" enabled and "Dim lights to" enabled

Definitely a bug, it should work like before.
I modify this in last release, seems like some bug comes. Ok, let me check and fix.

"Turn on lights" disabled,
"Turn on lights" enabled and "Dim lights to" disabled
"Turn on lights" enabled and "Dim lights to" enabled

So what operation above works incorrectly? Also, what do you have into "Keep power..."/"Dim power..."?

UPD: Yes, i confirm. AlienFX button (Fn+F12 on my gear) work incorrectly.

Here are the fix: alienfx-gui.zip

Now it's right!

In case of lights dimmed by 2 and 3 point, it will switch between off/dimmed only, blocking full brightness. It's not a bug.

Now I understand, thank you for the explanation ;)


sync adapters / authenticator

Have sync adapters been considered before, so that k9 accounts appear under Android settings/accounts? Are they flexible enough for the sync schedules currently used by k9?

See issue #656.
For genuine questions please use the mailing list. If it was meant as feature request, please don't formulate it as question :)


Added columns Position X, Position Y, Rotation to fields

I added support to export position (X, Y) and rotation. This way, you can create a combined BOM with placement information.
We needed this because we need the positioning file with added custom fields, e.g. the article number from ERP. I think this function can be really helpful. I would be delighted if you can merge this addition into the master branch.
Best regards,
Alex

Hi, thanks for contributing.
I'm not opposed to the idea but as currently implemented it is only useful in narrow set of circumstances. I think to be merged it needs following improvements:

Configurable prescaling factor. Ibom doesn't care about units but if you are displaying numerical values you need to know if it's imperial/metric or bananas. Given that other CADs may use their own internal units, it's best to just have arbitrary prescaling factor.
Origin selection (simply a configurable numerical x.y offset, ideally in case of kicad it can auto detect drill file origin)
Axis direction selection (kicad's Y axis pointing down is controversial even if not uncommon)
Proper comparator for sorting in javascript

All the configurable things will need modifications to the dialog and cli.

Hi,
thanks for the feedback, I will try to implement the above options, probably in the GUI first.
Best regards,
Alex

Question: How should I add the controls to the GUI? In "dialog_base.py", where the controls are defined, it says:
`Python code generated with wxFormBuilder (version 3.10.1-0-g8feb16b3)
http://www.wxformbuilder.org/

PLEASE DO NOT EDIT THIS FILE!`
Do you have the source files for using wxFormBuilder included in the project?

wxFormBuilder source file is settings_dialog.fbp

Hi,
I have been working on the implementation, but I am unsure how to transmit the settings to Javascript for processing. One way to do it, is to make it ecad-specific, but I would prefer it to be generic. I can include it in pcbdata, but this does not seem correct.
Can you give me a hint?

You can add it to the config struct https://github.com/openscopeproject/InteractiveHtmlBom/blob/master/DATAFORMAT.md#config-struct
It's passed to javascript by including fields here https://github.com/openscopeproject/InteractiveHtmlBom/blob/master/InteractiveHtmlBom/core/config.py#L38


Question: Matter-fusion

Would you have any plans on providing a dashboard that can work with https://github.com/project-chip/matter.js ?

I have a question as well. What do you mean?

I was just curious about Matter and how it performs native. https://github.com/project-chip/matter.js?tab=readme-ov-file#monorepo-code-structure-overview seems to have all the building blocks for native Matter but is just missing a dashboard module, from what I can see.
I was impressed with what you have done with ha-fusion and it being .js and the project-chip also being .js as likely just just native Matter you can commision using the CLI, but a dashboard would be nice.

Ah okay, it is beyond the scope of this project!


HTML minimization: whitespace around <li> should not be trimmed

The HTML minifier removes whitespace around <li> as a "blocked/undisplayed element": https://github.com/mrclay/minify/blob/258e495451c03adf57e1df81c2f0ef0c25b2f40d/lib/Minify/HTML.php#L136
However, <li> is commonly modified to be inline (e.g., "The Whitespace Issue" section here, tag clouds in WordPress themes Twenty Twelve and Twenty Seventeen). This often breaks the rendering of <li> elements.

@xuhdev hi, can you please test the HtmlMin library for html compressing (https://github.com/voku/HtmlMin) or can you give me some example code (input + what you expected), thanks!
I am currently thinking of a pull request, so that we can use  "HtmlMin" directly via this library, but first I wanted to know if this has some benefits for the users.

I am currently thinking of a pull request, so that we can use "HtmlMin" directly via this library, but first I wanted to know if this has some benefits for the users.

+1


Add service.env_file support

Currently the ECS integration does not support environment variables passed to a service using an env file. This should be straight forward to implement in compose-go by resolving the list of environment variables on the host.

I second this!


Sign Out needed?

I wondered why there is no sign out mutation. The client could "forget" the token in the frontend to sign out, but with a explicit logout mutation we could invalidate the token in the database.

#33


Why not directly put the data to git folder?

Seems the size is not large.

The dataset has moved to data directory.


SyntaxError: invalid syntax on import of pyroscope-otel

I am testing out python3 otel + grafana alloy.
My system is ubuntu but I am using a python 3.8.10 venv.
I cannot import pyroscope-otel.
I've tried on a gcp vm as well using system python 3.8.10 with same issue.

from pyroscope import otel
test = otel.PyroscopeSpanProcessor()
seems to be how it should potentially be imported?

We do
from pyroscope.otel import PyroscopeSpanProcessor

in our official example:
https://github.com/grafana/pyroscope/blob/6e6a07351186e7b214bc72d32bbf0c6cf7257e65/examples/language-sdk-instrumentation/python/rideshare/flask/lib/server.py#L12C1-L12C49


ESP32 play music from FS

Can I play music data from file system for ESP32 with this library?

This library currently allows playing audio files from an external memory card on the ESP32. You can try making some modifications, and it should be able to meet your needs.

Due to a lack of further communication for an extended period, this issue has been closed. If there is a need in the future, it can be reopened at any time.


Tensorflow version problem

Nowdays, tensorflow 2.0 has been published, it is not compatible with tensorflow 1.x。And due to the code in requirements.txt:
tensorflow >= 1.12.1

pip will install tensorflow 2.0 instead of 1.x, which will cause the pip install error

yes, the code is only compatible with tesorflow1.X。
if you're tensorflow2.0 ,runing the code will cause error(eg. gcn methods ) , because tf2.0 is not compatible with tensorflow 1.X .So requirements.txt should be written as tensorflow = 1.12.1


v0.14

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

340 of 341 (99.71%)  changed or added relevant lines in 16 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 98.983%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

holidays/holiday_base.py
2
3
66.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.07%

Covered Lines:
6426

Relevant Lines:
6443

💛  - Coveralls


<EMAIL_ADDRESS>Decompress error

Failed to extract files from .......MobaXterm_Portable_v1.2_2022-05-15.zip.
Log file:
~\scoop\apps\mobaxterm\1.2_2022-05-15\7zip.log
Latest version of MobaXterm is 22.0
https://download.mobatek.net/2202022022680737/MobaXterm_Portable_v22.0.zip

Run scoop update and try again


Feature/style adjustments

Description
made our footer look as similar as possible to the bridges to prosperity footer, added slight adjustments to details styling and theme overrides.

[ ] This is a bugfix.
[ ] This is a new feature.
[x] This is part of a feature.

Organization

[x] Have you linked this pull request to a Trello card?

Review

[x] Have you added two reviewers to this pull request?
[x] Is this a work in process?
[x] Is this ready to be reviewed?

 Footer Display


Update nodes.md to correct descriptions of Node Condition

To correct descriptions of Node Condition like MemoryPressure and DiskPressure.

@copileft maybe you have something wrong with git rebase


ALinux-2 ami & X-server

Hello,
The ALinux-2 image (ami-066704c003faf49c0 in the Ohio region) is showing some unexpected behavior as it seems to be running an X-server. Looking at the /tmp directory, I see .X0-lock among the following files:
drwxrwxrwt 11 root root 4096 Apr 17 18:36 .
dr-xr-xr-x 19 root root  266 Feb 25 20:31 ..
drwxrwxrwt  2 root root    6 Feb 25 20:31 .font-unix
drwxrwxrwt  2 root root   18 Apr 17 18:35 .ICE-unix
drwx------  3 root root   17 Apr 17 18:34 systemd-private-69fae0445aad416aac79dc9da6b89494-chronyd.service-RRxgCn
drwx------  3 root root   17 Apr 17 18:35 systemd-private-69fae0445aad416aac79dc9da6b89494-colord.service-ci3ylD
drwx------  3 root root   17 Apr 17 18:35 systemd-private-69fae0445aad416aac79dc9da6b89494-cups.service-CeYVsD
drwx------  3 root root   17 Apr 17 18:34 systemd-private-69fae0445aad416aac79dc9da6b89494-rtkit-daemon.service-jXhBYs
drwxrwxrwt  2 root root    6 Feb 25 20:31 .Test-unix
-r--r--r--  1 root root   11 Apr 17 18:35 .X0-lock
drwxrwxrwt  2 root root   16 Apr 17 18:35 .X11-unix
drwxrwxrwt  2 root root    6 Feb 25 20:31 .XIM-unix

whereas I'd expect to see something like (taken from the Ubuntu ami):
drwxrwxrwt 14 root root 4096 Apr 17 18:39 .
drwxr-xr-x 23 root root 4096 Apr 17 18:28 ..
drwxrwxrwt  2 root root 4096 Apr 17 18:30 .ICE-unix
drwxrwxrwt  2 root root 4096 Apr 17 18:28 .Test-unix
drwxrwxrwt  2 root root 4096 Apr 17 18:30 .X11-unix
drwxrwxrwt  2 root root 4096 Apr 17 18:28 .XIM-unix
drwxrwxrwt  2 root root 4096 Apr 17 18:28 .font-unix
drwx------  3 root root 4096 Apr 17 18:29 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-ModemManager.service-rHhKDa
drwx------  3 root root 4096 Apr 17 18:29 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-apache2.service-Mv9u96
drwx------  3 root root 4096 Apr 17 18:30 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-bolt.service-WtaNLv
drwx------  3 root root 4096 Apr 17 18:29 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-chrony.service-AHhDFq
drwx------  3 root root 4096 Apr 17 18:31 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-colord.service-3JO4Jo
drwx------  3 root root 4096 Apr 17 18:30 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-rtkit-daemon.service-Rj71z5
drwx------  3 root root 4096 Apr 17 18:28 systemd-private-8b32f616eccc4ba8a8d17e4190b3e393-systemd-resolved.service-4qvScu

The issue is that the X server blocks some builds. Is there any reason for the X server to be there or can I just stop it?
Thanks.

OK. The deployment creates a Xorg0.log file that probably means that the installation wouldn't work w/o it.

Hi @afernandezody ,
In general, X-server is required for DCV functionalities. If you are not using DCV, you should be safe to stop it. For information on DCV feature see our official doc here
I am able to reproduce this behavior you mentioned, but I am not sure why .X0-lock is present only on alinux2 at the moment.
We will continue to investigate.

Hello @rexcsn,
My impression was that the x-server wouldn't be started unless DCV was specifically requested. I'm closing the thread. Thanks.


Introduce a newtype for headers map used in EntryPoint and ToHeaders

I would like to have a newtype wrapping Map[String, String] for headers being passed to EntryPoint's and ToHeaders's methods as it's done in Natchez.
Something simple like the following would be fine:
final case class TraceHeaders(toMap: Map[String, String]) extends AnyVal

I would do it myself, if you're ok with the naming. Which module should it be put into. I suppose core?
The motivation is that in my codebase I write custom span injectors and I require optics for abstract type parameters, which parameterize endpoint inputs or evaluation context, and for optics, especially implicit ones, it is highly desirable to have newtypes. That is Getter[Ctx, TraceHeaders] is better than Getter[Ctx, Map[String, String]].
I use it in my code, but I think it also may be useful in the library.

@catostrophe that sounds good to me, I originally refrained as I didn't have much of a use case for it, but your's is a really good one. If you're OK do it, I'd happily accept a PR, but would you mind putting it in the model module please?
Thanks!

Ok. Will do!


Palette selection for boss models

Some boss models have specific base/specular palettes, which probably need to be dealt with on a case-by-case basis.
Format: Boss - Base palette index (pair number), specular palette index (pair number).
Individual palette indices are 1-based, base/specular indices are 0-based.
Chaos0 - 1 (base 0), 4 (specular 1)
Chaos2 - 9 (base 4), 12 (specular 5)
Chaos4 - 1 (base 0), 4 (specular 1)
Chaos6 - 9 (base 4), 12 (specular 5)
Perfect Chaos (both parts) - 9 (base 4), 12 (specular 5), but Egg Carrier 2 and Eggmobile use 5 (base 2) and 8 (specular 3)
Egg Hornet - 1 (base 0), 4 (specular 1)
Egg Viper - 1 (base 0), 4 (specular 1)
Egg Walker - 1 (base 0), 4 (specular 1)
E-101 - 1 (base 0), 4 (specular 1) with 2 (specular 0) for parts that ignore specular
Zero, E-101MK2 - 1 (base 0), 4 (specular 1) and 2 (specular 0) for parts that ignore specular

This turned out to be more complicated than I anticipated, so it's going to have to wait until after 1.0.

All bosses are now using correct palettes in the DC_Bosses mod. E-101MK2 has some weird stuff going on with its special effects that I don't know how to implement. There may be transparency issues involved.
Anyway I consider this done palette selection wise.


Move to rackt/react-router-redux

@ryanflorence and @mjackson have invited this project to join the rackt set of projects since it aligns well with how they envision react-router and redux integration. I think it will essentially replace redux-router and that will live as its own standalone project.
We're considering renaming it react-router-redux as it will be more official bindings. Unless anyone has any better ideas, I say we go with it.

Will be great to have this project join rackt!
react-router-redux sounds good to me :+1:

That's great! :+1: :100:

good enough :star2:

Definite thumbs up from me :+1:

Sounds good! Just have to make sure it's not too confusing to have two react/redux routers that sound almost the same too. (redux-router vs react-router-redux) That could be solved with documentation though. (explaining the differences between the two)

I reckon go for it! Sounds exciting.

I'm going to set a date for this: Wednesday. I'll think through anything we need to do before then.

I stalled on this because I was worried about the rename, sync redux-router is also in rackt it seems like calling this react-router-redux is going to be super confusing.
@ryanflorence @mjackson Are you all sure you want to rename this? If so, I feel like we should either rename redux-router or do something so that it's not so confusing which is which.

Any reason to switch away from redux-simple-router? I usually cringe when things have "simple" in the name (argh SOAP!), but it actually seems warranted in this case

I think Ryan and Michael want it to be more "official" bindings. But I suspect with enough community feedback they might be fine keeping the name.

Maybe we can find a different name for redux-router too?

We're removing the current redux-router from rackt, so there shouldn't be any confusion.

@acdlite can you transfer it to your account?

Done! :)

I also added a comment to the README directing people to this repo: https://github.com/acdlite/redux-router#for-a-more-stable-official-binding-between-redux-and-react-router-try-redux-simple-router

Thanks for all your work @acdlite!

I just moved it, but I lost access to any settings. @ryanflorence can you help me figure out permissions? github is so confusing with permissions. How can I maintain admin access, as well as give it to kjbekkelund?
I can't rename the repo until I get access back.

react-router-redux looks great to me... same as react-router but suffixed with redux.. Looking forward to this!

Correct me if I'm wrong, but redux-simple-router just ties redux to a history object, and isn't actually react-specific.  If so, react probably shouldn't be in the new name.
From a loose coupling perspective, you could imagine using this with a redux-based application without react-router at all (i.e. either a completely different non-react router, or perhaps a different react-specific router), as long as those routers were designed to interact with a history object.

@naw Yep, as of right now we're not coupled to react-router at all, but we might end up going that route (see #95 — long discussion with lots of thoughts and ideas).
But yeah, either way, I also prefer redux-simple-router to react-router-redux.

"Simple", "smart", or "tiny" always end up being lies or offenses. Eventually, your library becomes complex, surprising, or gigantic. If you're lucky, it simply remains an affront (purposeful or not) to other people's attempts at solving the same problem. I think the new name avoids both problems.
My personal interest in bringing it into Rackt is for an official answer to the question "how should I connect react router and redux?". I'd rather a library be named to answer a question v. explaining the (initial) complexity of implementation :)

What about redux-history?

Why not just use redux-react-router ?

@jlongster Have you made any decisions on this? Half of this issue was the move to rackt, which is completed. The other half is a rename, which seems to be less pressing (and would nullify the existing "brand" of the project). I'm inclined to say we're done here unless there's a strong desire to rename things.

This project has already evolved to be a little more complex, nothing crazy but I agree with @ryanflorence that the current name isn't very suitable to long-term decisions. Having simple made a strong point in the beginning but react-router-redux makes more sense.
We probably should have done this with 2.0.0. Why don't we do this in the next few days with a minor release?

Sure, sounds great!
I say at some point in the near future (this weekend?) we push a 2.1.0 release under the new name and then deprecate 2.0.4 under the old name with a warning about the name switch. I also say we keep releasing under both names until 3.0 hits (if ever), deprecating any releases under redux-simple-router with that same warning. Sound like a plan?

@timdorr Sounds good, but I don't think we need to keep releasing under both names. I heard from Dan Abramov you can tell npm to redirect it, so npm install redux-simple-router still works even if our package is react-router-redux. If that works, the biggest pain point goes away (both github and npm will redirect).
I might be remembering wrong... hope not.

It sounds like they can maybe do it for us, but it might be delayed or ignored: https://github.com/npm/npm/issues/7515 I think npm deprecate is the preferred option for now.

No, I think only GitHub repos can be redirected. With npm you need to deprecate.

Oh, that's right. Isn't there at least a way to tell the user "this is deprecated, you should download react-router-redux instead"? I could have sworn there was, but I'm probably wrong. I'll look into it more today/tomorrow.
I'm not sure I want to keep releasing under both names, that seems like it could be more confusing, and just make people change it to get the new version. It shouldn't be too hard to change names, just find/replace.

Yes, that's what npm deprecate does.

We need to push a 2.1.0 for #218 and #225. That would be a good time to do a rename, so I can take care of all of that around the same time, if there are no objections.

Ok, that sounds good.

OK, kicking this off now. I'm going to merge in #218, update the URLs in the project, and then publish that as a 2.1.0 under the react-router-redux package on NPM. I'll then npm deprecate 2.0.4 and we'll be good to go.


Re-add support for Yarn Modern, and require node-modules linker instead

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Problem description
Electron Forge has locked Yarn support to v1, I don't fully understand why, compatibility issues can be solved by yarnrc.yml settings such as nodeLinker: node-modules to use the node_modules folder instead of Plug'n'Play mode. I've used this setting for years when needed and it solves any issues immediately. I do not believe in locking Yarn support when solutions exist to negate its necessity.
Proposed solution
IF and only if the cause was due to PnP, then it is the developers responsibility to research their tool. PnP issues can be avoided by setting nodeLinker to node-modules to store packages as usual, while also still allowing plugins, and cache to stay active.
Alternatives considered
Not understanding the true scope of the cause, and considering I could be wrong in posting this issue, no other alternatives have been considered.
Additional information
No response

I've used this setting for years when needed and it solves any issues immediately. I do not believe in locking Yarn support when solutions exist to negate its necessity.

I think that makes sense, will make a PR amending this.


No metrics visible with the latest docker image

Hi,
I just installed Docker 18.03.0-ce-win59 on my Windows 10 laptop.
And then installed grahite image using:
docker run -d --name graphite --restart=always -v D:\graphiteData:/opt/graphite/storage -p 80:80 -p 2003-2004:2003-2004 -p 2023-2024:2023-2024 -p 8125:8125/udp -p 8126:8126 graphiteapp/graphite-statsd
Now, when I open the web app, I am not able to see any metrics. not even Carbon or Statsd metrics.
Haven't done any configuration changes yet.
running on all default configurations.
-Tushar

@Tushar1983,
I think this issue should belong to https://github.com/graphite-project/docker-graphite-statsd repo, but OK.
That's a known issue, probably should be fixed. If you mount the empty directory as storage Graphite creates all data there, but then its need to be restarted to pick up changes. For now, it's better to restart container or create whisper directory and graphite.db in advance.

@deniszh Thanks! That resolved the issue for me.


Data Collection To Support the STRA for FAM

Describe the task
The MISO recommends that we conduct a preliminary STRA for FAM to support a faster completion and approval of FAM's STRA.
This will require the following

FAM  Architectural diagram

FAM Deployment diagram

Data collection in relation to the following security standards/framework:

STRIDE/NIST
ISO 27000 (To be confirmed)
OCIO Defensible security checklist

Acceptance Criteria

[ ] STRA should be templated to meet OCIO/Ministry standards
https://app.zenhub.com/files/486378283/9b4d6c7a-056c-484e-8ede-4a2041a6db7a/download
https://app.zenhub.com/files/486378283/f60e27f9-f6e4-4f9b-8a6b-be1caf864528/download

https://app.zenhub.com/files/486378283/40de0ecb-b7df-49de-8f72-611587697394/download
https://app.zenhub.com/files/486378283/e96fe6ef-662f-49e2-bbc9-00c55db52a05/download

[ ] second
[ ] third

Additional context
Here is the email from the BCSC Security team with the requirements for STRA, SOAR and other tasks.https://app.zenhub.com/files/486378283/c76b1bd4-b8a1-4e3b-aaa4-6118022aab89/download

For WAVA istore requests we can go through Lucas and the NRIDs TIER 3 team to request.

Use STRIDE or NIST, not both. Unclear if ISO is separately needed or an option.
OCIO checklist is required as well.

Closing as draft STRA has been prepared by contract resources.
WAVA completed.


NaN scalar logged in tensorboard would crash guild runs info

$ guild check
guild_version:             0.7.0
guild_install_location:    /data/conda/envs/guild-test/lib/python3.6/site-packages/guild
guild_home:                /data/conda/envs/guild-test/.guild
guild_resource_cache:      /data/conda/envs/guild-test/.guild/cache/resources
installed_plugins:         cpu, disk, exec_script, gpu, keras, memory, perf, python_script, queue, skopt
python_version:            3.6.10 |Anaconda, Inc.| (default, May  8 2020, 02:54:21) [GCC 7.3.0]
python_exe:                /data/conda/envs/guild-test/bin/python
platform:                  Linux 5.6.10-arch1-1 x86_64
psutil_version:            5.6.3
tensorboard_version:       2.2.1
cuda_version:              10.2.89
nvidia_smi_version:        440.82
latest_guild_version:      0.7.0

$ cat main.py
# pip install tensorboardX
from tensorboardX import SummaryWriter
import numpy as np

writer = SummaryWriter()

writer.add_scalar('loss', np.nan, 1)

$ guild run main.py -y
Refreshing flags...
WARNING: [root] NaN or Inf found in input tensor.

$ guild runs
[1:feddec10]  main.py  2020-07-23 10:10:29  completed

$ guild runs info 1
Traceback (most recent call last):
  File "/data/conda/envs/guild-test/bin/guild", line 8, in <module>
    sys.exit(main())
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/main_bootstrap.py", line 40, in main
    guild.main.main()
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/main.py", line 33, in main
    _main()
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/main.py", line 40, in _main
    main_cmd.main(standalone_mode=False)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 759, in __call__
    return self.main(*args, **kwargs)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 714, in main
    rv = self.invoke(ctx)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 1132, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 1132, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 951, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/core.py", line 552, in invoke
    return callback(*args, **kwargs)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/external/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/click_util.py", line 151, in fn
    return fn0(*(args + (Args(**kw),)))
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_info.py", line 69, in run_info
    runs_impl.run_info(args, ctx)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 631, in run_info
    _run_info(args, ctx)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 636, in _run_info
    _print_run_info(run, args)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 649, in _print_run_info
    data = _run_info_data(run, args)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 663, in _run_info_data
    data.append(("scalars", _scalar_info(run, args)))
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 696, in _scalar_info
    for key, val in _iter_scalars(run, args)
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 694, in <dictcomp>
    return {
  File "/data/conda/envs/guild-test/lib/python3.6/site-packages/guild/commands/runs_impl.py", line 721, in _iter_scalars
    yield key, "%f (step %i)" % (_s_val(s), _s_step(s))
TypeError: must be real number, not NoneType

Thank you! I created a tracking doc for this:
https://github.com/guildai/issue-resolution/tree/master/211-nan-scalar-logged-in-tensorboard-would-crash-guild-runs-info
This will be fixed in 0.7.1.

This is resolved in master is pending the release of 0.7.1.


[5.4] Fluent partial resource routes

Discussed in https://github.com/laravel/internals/issues/412
In 5.4 you can register routes more fluently e.g.
Route::name('users.index')->get('users', 'UserController@index');

It would be nice to get same behaviour for registering partial resource routes e.g.
Route::resource('users', 'UserController')->only('index', 'show');

Route::resource('comments', 'CommentController')->except('destroy');

Route::resource('posts', 'PostController')->only(
    'index', 'show', 'store', 'update', 'destroy'
);

This relies heavily on GC.
Is it guaranteed to run before the actual route is matched? Or before the routes are cached?

@JosephSilber is correct. This implement is not guaranteed to be correct.

👎

Implemented now in the other way proposed https://github.com/laravel/internals/issues/412#issuecomment-280303057
Now only and except removes registered routes from the RouteCollection.

If the PHP manual is correct, then yes the implementation is guranteed to be correct:
"The destructor method will be called as soon as there are no other references to a particular object"

I doubt that is to be taken so literal.
There's no way for the runtime to know that there are no longer any references to an object. The only way to know that is at the end of a GC cycle.

I don't think the PHP manual is correct. It is up to the garbage collector to look for objects with a zero refcount.

So you're going to submit a PR to the PHP documentation to fix it? It states it very specifically in several places :)

And if this is the case, should we take ANYTHING in the PHP manual literally? If so, why?

I'll add my two cents from personal experience, I've had less than stellar results when dealing with destructors. It seemed to be very difficult to rely on when it was run.

I would actually be very interested if someone can show a situation where it is not run as soon as there are no other references to the object.

I would actually be very interested if someone can show a situation where it is not run as soon as there are no other references to the object like the documentation states.

By its very nature, it's non-deterministic, so, it's hard to provide an example and make any guarantees about when garbage collection will take place.

That said, I was unable to get PHP to call these destructors in an "incorrect" order: https://3v4l.org/qUD51. Maybe there's an ordering by the garbage collector, just due to the implementation specifics?

There are definitely user error cases I can think of though. Will write an example.

Here we go: https://3v4l.org/ihpuf.
The application runs to completion, before the route gets registered,

In terms of the PR, I actually already have a big problem with it, the register method is not supposed to return anything, but now it does...
(and if the programmer actually leaves a reference to the returned value somewhere, they are screwed)

For that reason, I think this should be a 5.5 change, because it changes the contract.

An implementation to avoid using destructors, would be for the registra to keep a queue of pending routes, and call some resolve method on them all, before we try to match anything.

Thank you @GrahamCampbell for your time!
I implemented this once again based on your suggestion.

This really was cleaner using destructors tbh, even though some are scared they aren't called when the PHP docs say they are called. Graham's code example is not really reflective of an actual Laravel routes file.

Graham's code example is not really reflective of an actual Laravel routes file.

There's no reason to assume that people do routing in that way. I don't always.

This solution is robust. And I don't think it's any worse than the destructor way tbh.

Is this not changing the entire order of when your routes are registered though? Now the resource routes aren't actually registered until a later time and that makes a difference when registering things.

Also I still haven't seen an actual case that won't work with the destructor approach. 😬

Also I still haven't seen an actual case that won't work with the destructor approach.

Yeh, u have. :trollface: That example where I showed the variable living beyond the scope we wanted it to. I mean, I could write a laravel app that demonstrates it, but I can't really be arsed.
The point is, that if a route remains referenced, after routing happens, then it won't have ever been registered. It's likely people would do this by mistake, but it's very hard for them to debug, if they don't understand the internals.

The point here is more than that. Even if you don't have a reference to it anymore, there's no guarantee when GC will run.
PHP's docs be damned.

there's no guarantee when GC will run.

While that is true, I haven't been to actually get PHP to not garbage collect in time in my testing to try to break it.

@GrahamCampbell that's not enough to actually build a feature on top of.

that's not enough to actually build a feature on top of.

I agree, that's why I asked for this to be implemented without using that, and it now has been.

The resources are currently registered only once so calling only or except methods after registration has no effect.
Should they?
Pending resources could just be marked as registered and exception thrown if tried to limit/exclude methods afterwards.
Registering resources in the RouteCollection each time needed is a little overkill imo. There might e.g. be several route('users.index') calls  in the templates.

If you want to re-submit this using the original, simple approach I suggested go for it. I can't really subscribe to the view that the PHP documentation is not to be trusted because then we can't program anything in this language at all to be honest. I will function as if the documentation is true. If it is not, it should be fixed.

For what it's worth 👎 On the original approach. This new approach is much better IMO. (ultimately, do what taylor says tho, he da boss)


FEATURE: atDude Tutorial Steps 4, 5 & 6

- What I did
created steps 4, 5 and 6 to the atDude tutorial series. It is still in draft, I would like  someone to review it and change draft to true. I also made minor edits to previous tutorials.
I also created the source code for the tutorials available here
- How I did it
Created the folders with their respective index.md and assets files.
- How to verify it
Look at the index.md file in subfolders here
- Description for the changelog

Added steps 4, 5 and 6 to the atDude tutorial series.

@cpswan I will merge this so we can see what it looks like in staging, then we can set this to draft: false and do a release.


On vsixgallery.com, links to documentation are broken

The documentation links on http://vsixgallery.com/extension/55d15546-28ca-40dc-af23-dfa503e9c5fe are broken.
For example, the link named ".NET Portability Analyzer (Visual Studio extension)" goes to https://raw.githubusercontent.com/microsoft/dotnet-apiport/master//docs/VSExtension, which gives a 404.

Closing as API Port was deprecated in favor of binary analysis in .NET Upgrade Assistant.


Missing Explanations

All general documentation fields are missing explanations or clarification.
[Enter feedback here]

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

ID: 05439318-ee56-3028-5dfc-7c3a01b587da
Version Independent ID: 659bccf4-40ab-4767-5f37-a00efd724e75
Content: Uninstall-ProvisioningPackage (Provisioning)
Content Source: docset/winserver2019-ps/provisioning/Uninstall-ProvisioningPackage.md
Product: w10
Technology: windows
GitHub Login: @JasonGerend
Microsoft Alias: jgerend

Under investigation. Thank you for the feedback.

@rlsheldon Thank you for your feedback. The Parameters have now been provided with descriptions of what it does for the cmdlet.
Thanks
Sri

@e0i This can be closed.


Add check for backup and backup configuration

Make sure the system has a good backup configuration, and verify the last backup

Levels to consider include:
Is a backup configured? Severe
Is the backup covering config and data? Moderate if only covering data
Is it local or offline? Moderate if local
Is it secured? <- Not likely that we can validate this.


[SWARM-1848] Minor security/keycloak example improvements

New section on how to start Keycloak with the Swarm server
Docker tag has been updated
Migration file has been updated with the export from KeyCloak 3.4.0.Final

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

add to whitelist

Thanks @sberyozkin, this looks good.
One question I would have is whether the realm json could be shrunk significantly? For instance, an example in the book I'm writing uses https://github.com/kenfinnigan/ejm-samples/blob/master/chapter9/keycloak/service-realm.json with all ids, etc removed from the file. Makes it very small and easy to comprehend

Thanks; I tried to shrink it, KeyCloak does allow the partial exports, so only the realm info (such as wildfly-swarm-keycloak-example) can be exported, but unfortunately, partial export does not include the users, so a demo will not work since the user 'user1' will not exist when a Keycloak instance is auto-initialized from this partially exported content.
I did consider proposing removing this exported content altogether and instead referring to Getting Started and providing the simple guidance on how to create a  wildfly-swarm-keycloak-example relam and the user1, etc. But hesitated because the demo would take a bit longer to run.
That said, we can still enhance README with something like "Alternatively, instead of using the migration file, start KeyCloak using one of the described mechanisms (Locally installed, docker or Swarm), and create the realm and the user as follows..."
One other option is indeed to also ship a partial realm only export and also describe how to add the users manually, which would still require users access Admin Console.
I'd probably go for providing a short guidance on how to manually set up a Keycloak instance from the scratch, does it sound OK ?

Sorry, I did the partial export from the admin console and it is doc-ed that no users can be exported, but let me try from the command line...

Indeed, passing "-Dkeycloak.migration.action=export -Dkeycloak.migration.provider=singleFile -Dkeycloak.migration.realmName=wildfly-swarm-keycloak-example -Dkeycloak.migration.usersExportStrategy=REALM_FILE" did produce a realm-specific content plus users, still 55K though, but is better nonetheless.

With the generated export realm json, I'm pretty sure it can be slimmed down by removing IDs, and whole sections that Keycloak generates itself from scratch if not present. One example of that I think is the authentication flows section.
Unfortunately it's a case of experimenting with removing things from the file and seeing if it still imports and also works!

Np, if it is acceptable then I can def give it a try

Sure, I want you to feel free to play around and explore, as you're still new to most of this

The idea I could trim down the file manually did not occur to me :-), as I thought it would have to match precisely the exported content for the import to work. But indeed, after quite a few tries, it is now only 4.3 K so it is not too bad. Removing few more clients won't save much more, and if the users log in into the admin console after the test has run they won't recognize it as most of the exported content has gone :-)


AADSTS90009 (I think) due to no scope form parameter on refresh

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.28.1
Wrapper Library
MSAL React (@azure/msal-react)
Wrapper Library Version
1.4.0
Public or Confidential Client?
Public
Description
When the library makes a refresh request (using aquireTokenSilent) I get a 400 error back from the /token endpoint. Initially obtaining the token works fine with these code samples, and when I refresh local storage I can get a token again.
When the library makes a refresh request (e.g. when I invoke getServiceToken [see code samples] after initial token has expired) I can see following network request in dev tools:

POST https://login.microsoftonline.com/bbbbbbbb-663d-4ae5-9253-cb7d2aac234e/oauth2/v2.0/token
Payload (form data):
client_id: aaaaaaaa-663d-4ae5-9253-cb7d2aac234e
scope: openid profile offline_access
grant_type: refresh_token
client_info: 1
refresh_token: 0.ABC...

Which gives the following response
400
{      "error" :  "invalid_request",      "error_description":  "AADSTS90009: Application 'aaaaaaaa-663d-4ae5-9253-cb7d2aac234e' (aaaaaaaa-663d-4ae5-9253-cb7d2aac234e) is requesting a token for itself. This scenario is supported only if resource is specified using the GUID based App Identifier. ..." ... }
Now if I make the same request using postman, but replace the scope form parameter with

scope: https://back-end-service.com/FRONT-END

I get a 200 OK response containing a token & new refresh token as expected.
When getServiceToken is invoked, I can not only see the POST returning a 400 error, but there is an uncaught console error. If I add an ErrorBoundary type component, it catches the error.. but the try.. catch inside getServiceToken never catches an error.
I suppose my question are is it possible to

Stop this 400 error from happening by passing the 'correct' scope to the resfresh_token request
Supressing the error somehow?
Or is the error a symptom and not a root cause?

N.b. the initial POST looks like this:
POST https://login.microsoftonline.com/bbbbbbbb-663d-4ae5-9253-cb7d2aac234e/oauth/v2.0/token?resource=aaaaaaaa-663d-4ae5-9253-cb7d2aac234e&scope=https://back-end-service.com/FRONT-END
Which returns 200OK and a token.
MSAL Configuration
// n.b. this is hand-typed as I can't copy + paste off corporate network
{
    auth: {
        // Not the real clientId
        clientId: "aaaaaaaa-663d-4ae5-9253-cb7d2aac234e",
        // not real tenantId appended to the end
        authority: "https://login.microsoftonline.com/bbbbbbbb-663d-4ae5-9253-cb7d2aac234e",
        redirectUri: window.location.origin
    },
    cache: "localStorage"

}

Relevant Code Snippets
// msalConfig.js:

// exported for use in react app in MsalProvider
// _.once ensures the function only runs once
export const getMsalInstance = _.once(() => {
    const msalInstance = new PublicClientApplication(msalConfig) //see MSAL Configuration section

    msalIntance.addEventCallback(event => {
        if(event.eventType === EventType.LOGIN_SUCCESS)
            msalInstance.setActiveACcount(event.payload.account)
    })
})

// n.b. httpRequestService.js is used OUTSIDE of hooks, so never uses @azure/msal-react
export async function getServiceToken() {
    const request = {
        scopes: ["https://back-end-service.com/FRONT-END"],
        account: getMsalInstance().getActiveAccount()
    }

    try {
        console.log(reqeust) //can always see initialized account
        const result = await getMsalInstance().aquireTokenSilent(request)
        console.log(result) // can always see a result, even with a new token (e.g. exp is set in the future here)
        return result.accessToken
    } catch (err) {
        // this catch handler never gets hit!!!
    }
}

// httpRequestService.js:
export async function(url) {
    let authHeader = "Bearer " + (await getServiceToken())
    console.log(authHeader) // I can even see the authHeader here with the new token!!
    return axios.get(url, { headers: { Authorization: authHeader } })
}

Identity Provider
Azure AD / MSA
Source
External (Customer)

@nedgrady The error indicates improper scopes for the token requested and it is thrown by eSTS. MSAL JS is only communicating the error to you.

Stop this 400 error from happening by passing the 'correct' scope to the resfresh_token request
Supressing the error somehow?
Or is the error a symptom and not a root cause?

getServiceToken calls the acquireTokenSilent which basically tries to renew your session if the refresh_token is available and the access_token in the cache is expired. When that fails, it throws.  However, I see that there could be a case where the error is just emitted to the console and not bubbled up, hence suppressing it.
Please watch out this space for an update. Will raise a PR once I discuss this with the team.

Thanks for the response @sameerag. Really appreciate the thoughts & help.

@nedgrady The error indicates improper scopes for the token requested and it is thrown by eSTS. MSAL JS is only communicating the error to you.

Is there a way I can ensure the correct scope is supplied when the session is renewed? (e.g. the same scope as when the token is initially retrieved)

Have shared some logs with you.

    console.log(result) // can always see a result, even with a new token (e.g. exp is set in the future here)

Does this mean that the token acquisition is indeed successful?

Yeah I can see a token returned by getServiceToken(), but still see an uncaught error in the console. If I wrap an error boundary around my whole app:
class ErrorBoundary extends React.Component {
    constructor (props) {
        super (props); this.state = { hasError: false };
     }

    static getDerivedStateFromError() {  return { hasError: true }; }

    componentDidCatch(error, errorInfo) {
        console.log("error caught, dumping getServiceToken() start: ")
        getServiceToken().then(token => {
            console.log(token);
            console.log("error caught, dumping getServiceToken() end: ");
        });
    }
    render() {
        if(this.state.hasError) return
Something went wrong.

        return this.props.children;
    }
}

ReactDOM.render(
    <ErrorBoundary>
        <MsalProvider instance={getMsalInstance()}>
            <MsalAuthenticationTemplate>
                 <AuthenticatedTemplate>
                    <>

only see this before the token expires for the first time

                         <App />
                    </>
                 </AuthenticatedTemplate>
                  <UnauthenticatedTemplate>

never see this

                 </UnauthenticatedTemplate>
            <MsalAuthenticationTemplate interactionType={InteractionType.Redirect}>
        </MsalProvider>
    </ErrorBoundary>
)

What I see in the console is:

error caught, dumping getServiceToken() start:
eyJ0ex....
error caught, dumping getServiceToken() end:

And I see the "Something went wrong." error on screen.
Very confusing.

I am having a similar experience: msal-browers 2.21.0, msal-react 1.4.5
I have an api and SPA sharing the same app registration. Like Ned, I can get the initial token fine, when trying to refresh the token, I get the 90009 error. The scopes I am sending are openid profile offline_access.
Looking at this post, it seems like in order to share the app registration, I need to specify the client_id as the resource, however there doesn't appear to be a resource parameter in the config passed to the PCA? @nedgrady are you by chance sharing an app registration between a front end and backend?

@nedgrady are you by chance sharing an app registration between a front end and backend?
Yeah @hada79 that's exactly what we are doing. Ithink being able to use the client_id as a resource would fix the problem.

@hada79 have you been able to solve your problem by using client_id as a resource as @nedgrady suggested?
@nedgrady Apologies for the delay, can you resend the logs to my email? I could not find them and not sure if I ever received them.

@sameerag There doesnt appear to be a way to specify the client ID as the resource using msal, which is the problem.

@nedgrady Apologies for the delay, can you resend the logs to my email? I could not find them and not sure if I ever received them.

No probs no rush, not like our current auth solution is going to stop working. Have resent the email from my gmail account

@sameerag Any ideas on how to specify a resource id using msal? I believe you may have misread the thread, thinking nedgrady had provided a solution.

I seem to be experiencing the same problem.

Let me summarize the issue:

App registration is shared between front-end and back-end
An internal MSAL JS error is seen in these use cases in the browser console but the token acquisition succeeds eventually.

Is this description accurate @hada79?

@sameerag The refresh token acquisition never succeeds.

@sameerag We're on v2.31.0

I'm also seeing this issue on v2.31.0 where we have an app registration shared between front and back end.

After not seeing any movement on this item for so long I went experimenting and found that these issues were resolved by creating an app registration for the front end to run as that has permissions to the app registration for your back end. This will cause you some problems if you're using a single app service in order to use App Roles in both front end and back end. Having two app services did make it so that we are no longer seeing AADSTS90009 in my testing though.

Got it, good to know having separate registrations does fix it. We do have shared App Roles though, so hoping to avoid that.

@sameerag any chance this issue could get addressed? Managing App Roles for our backend and frontend separately would significantly complicate our role management.

@chrisincolorado your frontend and backend apps can share the same app registration, which would allow you to avoid duplicating app role definitions. See for instance: Angular SPA calling a protected web API using App Roles to implement RBAC

@derisen this is exactly what we're doing, except using MSAL React. It results in the requesting a token for itself errors described above.

@chrisincolorado Just checking in if the sample @derisen linked helped resolve this for you?

Hi @tnorling, I've checked that the configuration in the code matches these examples and we're still seeing that error. I still need to check if perhaps there's something configured differently in the Azure portal.

I'm also still seeing this issue, can this issue be reopened?

Same here!


Review Request

Is this just a whitespace change?

The whole article needs reviewed - I made the change so I could issue the PR.

This PR doesn't have the diff for me to review. Let's just close this one and I will review the content in the closed PR: https://github.com/aspnet/Docs/pull/5

Sounds good.


PR with new additions to percent calculator

Added a new percentage relationship to calculate percent decrease between two numbers x and Y. Y is what percent less than x? to calculate: (x-y)/100


[question] who welcomes who?

Is there a way to find out who welcomed who?
Or stats about who enabled the "has been welcomed" or "has replied" check boxes?

You can find all that on a profile in the "Timeline" card.

Oh, yes. I've seen that.
I was hoping like there's a summary of that for the month, like when you view the list of new mappers by the month.

That could indeed be added in the future.


Fixed comment during refactoring

Also renamed variable as r looks too short and stands more for reader
or ref rather than response/result.

comment to make more obvious since we talk about "send on closed channel" error here

Refactoring during deep dive session

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018fe9e0-42b0-480c-8dab-bca19aed9094
Details

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
151 unchanged lines in 14 files lost coverage.
Overall coverage decreased (-0.08%) to 70.654%

Files with Coverage Reduction
New Missed Lines
%

common/task/weighted_round_robin_task_scheduler.go
2
89.05%

common/backoff/retry.go
2
92.11%

common/task/fifo_task_scheduler.go
2
85.57%

service/history/task/transfer_active_task_executor.go
2
72.77%

common/persistence/historyManager.go
2
66.67%

service/history/task/task.go
3
84.81%

service/matching/tasklist/task_list_manager.go
3
75.89%

bench/lib/client.go
4
0.0%

service/matching/config/config.go
4
91.49%

service/history/task/fetcher.go
4
85.05%

Totals

Change from base Build 018fe9dc-483b-4c68-acea-8033170f8941:
-0.08%

Covered Lines:
105240

Relevant Lines:
148951

💛  - Coveralls


logout & login again fails and get empty/hided browser

hi,
Great work and it works with lazy loading etc
But I have some issues when I log out and try to log in again.
On IOS I get a browser windows with no url and on android I get the front screen again. I cannot log in again. I have the reset the data on android & ios emulate.
I don't know if this is a problem with this example or with Auth0Cordova
Also I have to import Auth0Cordova and Auth0 like this else they are not imported or load them in the index.html from cdn
import * as Auth0Cordova from '@auth0/cordova';
import * as Auth0 from 'auth0-js';
Thanks Edwin

Nice this works for me
  (<any>window).handleOpenURL = (url) => {
    (<any>window).setTimeout(function () {
      Auth0Cordova.onRedirectUri(url);
    }, 100);
  };


Repo name does not follow Homebrew rules

The correct naming would be owenvoke/homebrew-casks to install it as owenvoke/casks.
https://docs.brew.sh/Taps

On GitHub, your repository must be named homebrew-something in order to use the one-argument form of brew tap. The prefix ‘homebrew-‘ is not optional. (The two-argument form doesn’t have this limitation, but it forces you to give the full URL explicitly.)

Thanks @Gummibeer, I've now renamed it and will update any references in the README. 👍


[TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];"}]

@abubakarlixup what is the issue here?


Can't add new integration (1.5.0)

Good morning and thanks for the Integration.
Unfortunately after updating to 1.5.0 I can't add new scenes any more. When adding the integration I get this error
2024-12-08 07:05:53.236 WARNING (MainThread) [custom_components.stateful_scenes.config_flow] Hub.init() got an unexpected keyword argument 'scene_path'
Thank you very much in advance for looking nto this
Thorsten

I had this same issue yesterday. I downgraded to 1.4.0 and was able to complete the new install. Then I upgraded to 1.5.0 and things continue to work as expected.


Allow config.sh to run as root.

Environment variable ALLOW_RUNASROOT overrides the default behavior of config.sh as per Issue #1481.
Example: export ALLOW_RUNASROOT=1; ./config.sh --unattended

duplicate with #1514


IWW Issue #78 , January 18 2022

This pull request is for gathering links for the January 18th issue of the Immersive Web Weekly newsletter for the W3C Immersive Web Community Group.
If you have a link to a news article, event, artwork, or project that is directly related to the immersive web then we welcome your help!
To submit a link comment below using this template:
title: Example title of link
url: https://example.com/
author: Alice Smith
content: A short description of what is at the link and why it's related to the immersive web

Please keep in mind that comments here and all submitted links are public!
We keep each issue pretty short so we won't immediately use every submission but we keep track of them all and they may appear in a later issue.
Deadline
IWW goes out each Tuesday morning around 10am Pacific time.
Trevor will edit each issue on the Monday before publication so submissions after that will roll over for use in future issues.
If you need editorial support then email @TrevorFSmith<EMAIL_ADDRESS>

It has been an honor to be your editor. Thank you.


How to modify part() to read more than 4 vertices?

Is there a way to modify the following:
with COGReader("myfile.tif") as cog:
    data, mask = cog.part((10, 10, 20, 20))

Into something that can accept polygon and not just a square/rectangle

Hi @purijs
There is way to do this by using the CUTLINE options passed via the vrt_options
Ref: https://gdal.org/api/gdalwarp_cpp.html?highlight=vrt#structGDALWarpOptions
It’s kind of tricky because you’ll need

To get the bounding box of the geometry
Create a WKT representing your geometry withing the bbox BUT IN PIXEL COORDINATES

@kylebarron has been working on this topic and we talked about bringing helper function in rio-tiler to create this WKT cutline


Added -L to find to visit symlinked folders too.

Actually find does not go inside a symlink that is a folder.
In order to preserve old behaviour, the -L flag has been introduced to modify the behaviour and enter symlink'ed folders.

Codecov Report

Merging #1080 (d22bb03) into master (4b6b17a) will decrease coverage by 0.81%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1080      +/-   ##
==========================================
- Coverage   97.19%   96.38%   -0.82%
==========================================
  Files          36       36
  Lines        1354     1354
==========================================
- Hits         1316     1305      -11
- Misses         38       49      +11

Impacted Files
Coverage Δ

src/find.js
95.45% <100.00%> (-4.55%)
:arrow_down:

src/which.js
80.00% <0.00%> (-15.00%)
:arrow_down:

src/cmd.js
94.11% <0.00%> (-5.89%)
:arrow_down:

src/ln.js
96.87% <0.00%> (-3.13%)
:arrow_down:

src/ls.js
97.67% <0.00%> (-2.33%)
:arrow_down:

Continue to review full report at Codecov.

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


fix: correctly align gitrest and historian r11s dependencies

Description
Gitrest and Historian both had multiple different R11s package dependency versions after #20243. This caused Lumberjack to be configured incorrectly.
Reviewer Guidance
Any ideas how to proactively test for this?

Also, we should have a follow-up conversation about whether server changes that are needed in gitrest/historian should use a prerelease version or actually publish a release of server and consume it in client, gitrest, and historian. That would help prevent server changes from inadvertently "breaking" client or causing integration headaches that are unknown at the time the server change is made.

Any ideas how to proactively test for this?

I'd start by asking if the split between <package> and <package>-base is strictly necessary. Withing the repo the only place where we seem to import the -base packages is the corresponding "real one", so I'd be inclined to merge them, and that would make the out-of-sync dependencies a non-issue, right?
If that's not possible, could the "real" packages detect this condition early (e.g. when calling configureLogging() right when they start) and immediately crash? That could be accompanied by a super simple smoke test of "can the container start successfully" when we are building them. Curtis and I discussed in the past that it would be a nice test to have, since it's happened before that a change broke the containers entirely (they got stuck in a CrashLoopBackoff cycle in AKS).

I had also made a change a while back to use globals for Lumberjack instead of per-version instances, but that didn't prevent this. Not sure why, so I need to look into that, too.

It sounds exactly like something I ran into with Axios and customizing the http agent. Basically, since there's two separate versions of the package (in this case Lumberjack) at play, the globals we're setting are only the globals for one of them.

For the smoke test, I'm not sure how to technically check if a dependency depends on a different version of the same dependency within the runtime.

I wouldn't check for that specifically, I was thinking more of a runtime condition we could look for in the Lumberjack config itself. But now that I remember the details of the issue I linked above, I'm not sure that approach would be possible.
Another alternative we could explore is to have the base package expose a way to configure logging which would use its version of Lumberjack instead of depending on the non-base package setting up globals. Something like passing the "global Lumberjack instance" to configureLogging() so we know it tweaks the "correct" one that will be used at runtime.

I'm also thinking that merging the base package and its "sibling" might be feasible, if we make the "start the actual service" something that needs to be called explicitly instead of happening a side effect of importing the package. FRS could just ignore that bit entirely, while our containers could run whatever command they needed to actually spin up the functional component.

@tylerbutler it would really be preferred if Gitrest and Historian were just part of Routerlicious monorepo so that we wouldn't be forced to release R11s packages constantly to get minor R11s package changes in Gitrest/Historian.

Do the gitrest and historian packages need to be published to public npm? If not, then we can change them to the @fluid-internal scope and publish them to the internal feeds only. That would eliminate my main objection to merging them into one release group.

@znewton @alexvy86 I opened https://github.com/microsoft/FluidFramework/pull/20524 to explore changing the scopes.


loading model issues

CUDA SETUP: CUDA runtime path found: C:\Users\Admin\Desktop\oobabooga-windows\oobabooga-windows\installer_files\env\bin\cudart64_110.dll
CUDA SETUP: Highest compute capability among GPUs detected: 8.6
CUDA SETUP: Detected CUDA version 117
CUDA SETUP: Loading binary C:\Users\Admin\Desktop\oobabooga-windows\oobabooga-windows\installer_files\env\lib\site-packages\bitsandbytes\libbitsandbytes_cuda117.dll...
Loading anon8231489123_vicuna-13b-GPTQ-4bit-128g...
Loading model ...
C:\Users\Admin\Desktop\oobabooga-windows\oobabooga-windows\installer_files\env\lib\site-packages\safetensors\torch.py:99: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
with safe_open(filename, framework="pt", device=device) as f:
C:\Users\Admin\Desktop\oobabooga-windows\oobabooga-windows\installer_files\env\lib\site-packages\torch_utils.py:776: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
return self.fget.get(instance, owner)()
C:\Users\Admin\Desktop\oobabooga-windows\oobabooga-windows\installer_files\env\lib\site-packages\torch\storage.py:899: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
storage = cls(wrap_storage=untyped_storage)
Press any key to continue . . .

I have the same issue


Optionally dump intermediate files to a specified directory.

Also pass -fno-builtin to clang to avoid choking on infered memsets.

lgtm

You should add yourself to AUTHORS too

Updated AUTHORS and CONTRIBUTORS.


[BUG] Cython incorrectly searches for template types inside templates

Describe the bug
When returning a template class from a template function without setting the template type, Cython matches this template type incorrectly.
To Reproduce
The following code does not set the template type of the Test class. However it compiles successfully, since both test_func and Test name the template parameter T.
cdef extern from "*":
    cdef cppclass Test[T]:
        pass

    cdef Test test_func[T]()

cdef test():
    cdef Test[double] result = test_func[double]()

When naming the template types differently:
cdef extern from "*":
    cdef cppclass Test[U]:
        pass

    cdef Test test_func[T]()

cdef test():
    cdef Test[double] result = test_func[double]()

this fails to compile with the following error:
Cannot assign type 'Test[U]' to 'Test[double]'

Expected behavior
Cython should not match template types of different classes. So the example shown above should not compile successfully.
Environment (please complete the following information):

OS: Linux
Python version 3.9
Cython version 3.0.0a9

cdef Test test_func[T]()

I think you'd have to do
template <typename T>
Test<T> test_func<T>()

In c++ (i.e. explicitly specify the return type). So I'm not sure that Cython should be different. I could be missing the point though

In c++ (i.e. explicitly specify the return type). So I'm not sure that Cython should be different. I could be missing the point though.

Yes I just expect Cython to raise an error when I forget to specify the template type ;)


Move Chrysalis DTOs from bee-rest-api to bee-message

Not needed, as we rely on the API for responses anyway