Output freezes/lags when using intel D435i with Kimera Vio Ros

Description:
Hi, I am a undergraduate and have been using trying to run kimera vio ros along with intel d435i.
I am able to run the easy v101 rosbag with no issues with this kimera vio ros installation.
I have managed to get it to build and successfully run, but then receive a laggy output when it comes to textured mesh.
Besides on that, I have also tried to calibrate the cameras using Kalibr, but have no changes in the performance yet.
Can I get your insight as to what might be the problem? I have highlighted some console output I have that might be significant, but I am not sure that might the problem.
The main issue is that the output freezes every now and then, and the console for kimera_vio_ros_realsense_IR.launch switches between 2 states, as shown below in the console output. It will freeze in state1 and then switch to state 2 briefly, then starts to move for a while.
Links:
I have included a youtube link here of a demo of the output i am getting: https://youtu.be/uvWD0-YqHjs
Here is a link to the entire screen log of the output for kimera_vio_ros_realsense_IR.launch: https://drive.google.com/file/d/1jWju043nz0kkA6HzRJssPfWc4cyy-sQr/view?usp=sharing
Here is a link to the screen log for rs_camera.launch:
https://drive.google.com/file/d/1tdibWVNbaBJAoIymEm2dci-RENHXnqN6/view?usp=sharing
The files that I have changed are basically rs_camera.launch, kimera_vio_ros_realsense_IR.launch and kimera_vio_realsense.rviz, as well as nodelet.launch.xml. The major changes are:

rs_camera.launch

nodelet.launch.xml

Command:
roscore
roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation
rosrun dynamic_reconfigure dynparam set /camera/stereo_module emitter_enabled 0
roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_realsense.rviz

Console output:
From kimera_vio_ros_realsense_IR.launch:

Stable State 1
-----------                                  #	Log Hz	{avg     +- std    }	[min,max]
Data Provider [ms]                      	    0
Display [ms]                            	   75	7.23498	{0.893333 +- 6.61197}	[0,57]
Mesher [ms]                             	   38	3.66008	{0.105263 +- 0.388307}	[0,2]
VioBackEnd [ms]                         	   38	3.66007	{2.76316 +- 1.95122}	[0,7]
VioFrontEnd Frame Rate [ms]             	  227	22.4427	{13.0617 +- 2.54834}	[6,24]
VioFrontEnd Keyframe Rate [ms]          	   37	3.70204	{72.1622 +- 15.5644}	[56,112]
VioFrontEnd [ms]                        	  265	25.2435	{21.9585 +- 22.8785}	[6,139]
Visualizer [ms]                         	   38	3.66003	{0.00000 +- 0.00000}	[0,0]
backend_input_queue Size [#]            	   38	3.64872	{1.00000 +- 0.00000}	[1,1]
data_provider_left_frame_queue Size [#] 	  311	29.6291	{22.2315 +- 4.23769}	[1,44]
data_provider_right_frame_queue Size [#]	  311	29.6289	{22.2315 +- 4.23769}	[1,44]
display_input_queue Size [#]            	   75	7.19802	{1.00000 +- 0.00000}	[1,1]
mesher_backend Size [#]                 	   38	3.65999	{1.00000 +- 0.00000}	[1,1]
mesher_frontend Size [#]                	  265	25.2431	{3.85660 +- 1.99178}	[1,7]
stereo_frontend_input_queue Size [#]    	  265	25.1910	{1.06038 +- 0.238683}	[1,3]
visualizer_backend_queue Size [#]       	   38	3.66000	{1.00000 +- 0.00000}	[1,1]
visualizer_frontend_queue Size [#]      	  265	25.2431	{3.85660 +- 1.99178}	[1,7]
visualizer_mesher_queue Size [#]        	   38	3.66000	{1.00000 +- 0.00000}	[1,1]
I1029 10:20:38.813395  2697 RegularVioBackEnd.cpp:212] Tracker has a LOW_DISPARITY status.
W1029 10:20:38.817015  2698 Mesher.cpp:1380] Missing landmark information to build 3D Mesh.
W1029 10:20:38.868305  2705 DataProviderModule.cpp:103] Waiting for IMU data...
I1029 10:20:39.241838  2677 KimeraVioRos.cpp:114] Statistics
-----------                                  #	Log Hz	{avg     +- std    }	[min,max]
Data Provider [ms]                      	    0
Display [ms]                            	   77	7.28086	{0.870130 +- 6.52596}	[0,57]
Mesher [ms]                             	   39	3.68215	{0.102564 +- 0.383534}	[0,2]
VioBackEnd [ms]                         	   39	3.68214	{2.79487 +- 1.93553}	[0,7]
VioFrontEnd Frame Rate [ms]             	  230	22.3865	{13.0696 +- 2.56755}	[6,24]
VioFrontEnd Keyframe Rate [ms]          	   38	3.72399	{72.0263 +- 15.3755}	[56,112]
VioFrontEnd [ms]                        	  269	25.2413	{22.0409 +- 22.7434}	[6,139]
Visualizer [ms]                         	   39	3.68210	{0.00000 +- 0.00000}	[0,0]
backend_input_queue Size [#]            	   39	3.67085	{1.00000 +- 0.00000}	[1,1]
data_provider_left_frame_queue Size [#] 	  326	29.6464	{23.4417 +- 5.22577}	[1,55]
data_provider_right_frame_queue Size [#]	  326	29.6460	{23.4417 +- 5.22577}	[1,55]
display_input_queue Size [#]            	   77	7.24440	{1.00000 +- 0.00000}	[1,1]
mesher_backend Size [#]                 	   39	3.68207	{1.00000 +- 0.00000}	[1,1]
mesher_frontend Size [#]                	  269	25.2409	{3.84387 +- 2.00048}	[1,7]
stereo_frontend_input_queue Size [#]    	  269	25.1878	{1.05948 +- 0.238683}	[1,3]
visualizer_backend_queue Size [#]       	   39	3.68207	{1.00000 +- 0.00000}	[1,1]
visualizer_frontend_queue Size [#]      	  269	25.2409	{3.84387 +- 2.00048}	[1,7]
visualizer_mesher_queue Size [#]        	   39	3.68208	{1.00000 +- 0.00000}	[1,1]
I1029 10:20:39.741838  2677 KimeraVioRos.cpp:114] Statistics

-----------

Stable State 2:
mW1029 10:20:50.418304  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>348120213[ns].
W1029 10:20:50.418315  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>348120213
W1029 10:20:50.418331  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>381815910[ns].
W1029 10:20:50.418346  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>381815910
W1029 10:20:50.418365  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>415513992[ns].
W1029 10:20:50.418377  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>415513992
W1029 10:20:50.418398  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>449214220[ns].
W1029 10:20:50.418411  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>449214220
W1029 10:20:50.418428  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>482916594[ns].
W1029 10:20:50.418457  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>482916594
W1029 10:20:50.418496  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>516620874[ns].
W1029 10:20:50.418514  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>516620874
W1029 10:20:50.418540  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>550327539[ns].
W1029 10:20:50.418558  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>550327539
W1029 10:20:50.418586  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>584036350[ns].
W1029 10:20:50.418597  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>584036350
W1029 10:20:50.418639  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>617745876[ns].
W1029 10:20:50.418658  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>617745876
W1029 10:20:50.418678  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>651458979[ns].
W1029 10:20:50.418691  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>651458979
W1029 10:20:50.418712  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>685174227[ns].
W1029 10:20:50.418726  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>685174227
W1029 10:20:50.418745  2705 ThreadsafeImuBuffer.cpp:118] No IMU measurements available strictly between time<PHONE_NUMBER>370243073[ns] and<PHONE_NUMBER>718891144[ns].
W1029 10:20:50.418759  2705 DataProviderModule.cpp:124] No IMU measurements here, and IMU data stream already passed this time regionfrom timestamp:<PHONE_NUMBER>370243073 to timestamp:<PHONE_NUMBER>718891144

From  rs_camera.launch:
NODES
  /camera/
    realsense2_camera (nodelet/nodelet)
    realsense2_camera_manager (nodelet/nodelet)

ROS_MASTER_URI=http://localhost:11311
]2;/home/bryan/catkin_ws/src/realsense-ros/realsense2_camera/launch/rs_camera.launch http://localhost:11311
process[camera/realsense2_camera_manager-1]: started with pid [3992]
process[camera/realsense2_camera-2]: started with pid [3993]
[ INFO] [1603940118.616062570]: Initializing nodelet with 4 worker threads.
[ INFO] [1603940118.721459545]: RealSense ROS v2.2.14
[ INFO] [1603940118.721516166]: Running with LibRealSense v2.35.2
[ INFO] [1603940118.730260415]:
[ INFO] [1603940118.891535161]: Device with serial number<PHONE_NUMBER>57 was found.

[ INFO] [1603940118.891647787]: Device with physical ID /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/video4linux/video0 was found.
[ INFO] [1603940118.891713807]: Device with name Intel RealSense D435I was found.
[ INFO] [1603940118.893061551]: Device with port number 3-1 was found.
[ INFO] [1603940118.895981891]: getParameters...
[ INFO] [1603940118.942705518]: setupDevice...
[ INFO] [1603940118.942753855]: JSON file is not provided
[ INFO] [1603940118.942798787]: ROS Node Namespace: camera
[ INFO] [1603940118.942834717]: Device Name: Intel RealSense D435I
[ INFO] [1603940118.942859320]: Device Serial No:<PHONE_NUMBER>57
[ INFO] [1603940118.942883138]: Device physical port: /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.0/video4linux/video0
[ INFO] [1603940118.942928117]: Device FW version: <IP_ADDRESS>
[ INFO] [1603940118.942952298]: Device Product ID: 0x0B3A
[ INFO] [1603940118.942976729]: Enable PointCloud: Off
[ INFO] [1603940118.943005113]: Align Depth: Off
[ INFO] [1603940118.943026434]: Sync Mode: Off
[ INFO] [1603940118.943087732]: Device Sensors:
[ INFO] [1603940118.945150812]: Stereo Module was found.
 29/10 10:55:18,945 WARNING [140357300827904] (backend-v4l2.cpp:1223) Pixel format 36315752-1a66-a242-9065-d01814a likely requires patch for fourcc code RW16!
[ INFO] [1603940118.949948220]: RGB Camera was found.
[ INFO] [1603940118.950179983]: Motion Module was found.
[ INFO] [1603940118.950265597]: (Infrared, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1603940118.950310646]: (Fisheye, 1) sensor isn't supported by current device! -- Skipping...
[ INFO] [1603940118.950346984]: (Fisheye, 2) sensor isn't supported by current device! -- Skipping...
[ INFO] [1603940118.950372999]: (Pose, 0) sensor isn't supported by current device! -- Skipping...
[ INFO] [1603940118.950436872]: num_filters: 0
[ INFO] [1603940118.950500522]: Setting Dynamic reconfig parameters.
[ INFO] [1603940119.200808639]: Done Setting Dynamic reconfig parameters.
[ INFO] [1603940119.201574235]: depth stream is enabled - width: 640, height: 480, fps: 30, Format: Z16
[ INFO] [1603940119.201849304]: infra1 stream is enabled - width: 640, height: 480, fps: 30, Format: Y8
[ INFO] [1603940119.202170753]: infra2 stream is enabled - width: 640, height: 480, fps: 30, Format: Y8
[ INFO] [1603940119.202749619]: color stream is enabled - width: 640, height: 480, fps: 30, Format: RGB8
[ INFO] [1603940119.202794703]: setupPublishers...
[ INFO] [1603940119.205209501]: Expected frequency for depth = 30.00000
[ INFO] [1603940119.238664210]: Expected frequency for infra1 = 30.00000
[ INFO] [1603940119.261180560]: Expected frequency for infra2 = 30.00000
[ INFO] [1603940119.280002662]: Expected frequency for color = 30.00000
[ INFO] [1603940119.299729206]: Start publisher IMU
[ INFO] [1603940119.302056381]: setupStreams...
[ INFO] [1603940119.353215155]: insert Depth to Stereo Module
[ INFO] [1603940119.353394551]: insert Color to RGB Camera
[ INFO] [1603940119.353568398]: insert Infrared to Stereo Module
[ INFO] [1603940119.353681115]: insert Infrared to Stereo Module
[ INFO] [1603940119.353802336]: insert Gyro to Motion Module
[ INFO] [1603940119.353923010]: insert Accel to Motion Module
 29/10 10:55:19,360 WARNING [140357078886144] (backend-hid.cpp:681) HID set_power 1 failed for /sys/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1:1.5/0003:8086:0B3A.0005/HID-SENSOR-200073.2.auto/iio:device0/buffer/enable
[ INFO] [1603940119.371776721]: SELECTED BASE:Depth, 0
 29/10 10:55:19,433 WARNING [140357062100736] (sensor.cpp:970) HID timestamp not found, switching to Host timestamps.
[ INFO] [1603940119.436948256]: RealSense Node Is Up!
[ WARN] [1603940120.201546779]: Hardware Notification:Motion Module failure,1.60394e+12,Error,Hardware Error

Additional files:
Please attach all the files needed to reproduce the error.
changed files.zip
Please give also the following information:

SparkVio branch, tag or commit used:
GTSAM version used:
OpenGV version used:
OpenCV version used: type `opencv_version 3.4.2
Operating system and version (e.g. Ubuntu 16.04 or Windows 10): 18.04
Did you change the source code? (yes / no): yes
Kimera Vio: 40fff93f0b21f645e1386fd77875c8113cbabcc0 Merge pull request #100 from Wallbraker/opencv-4-and-warning-fixes
*KimeraVioRos:afeb7ec80945da0c8ed6a7edea4f6f5ecd644743
Merge pull request #101 from MIT-SPARK/fix/pragmas
*opencv3_catkin: 880da1510aa80a247b80adca32ac2941ddfa94ff
Merge pull request #27 from ethz-asl/fix/unordered_map_flag_rename

Hi, I did a rostopic echo camera/imu and found out the imu messages from the d435i camera freezes from time to time. So to rectify that, I lowered the fps for gyro and accel in rs_camera.launch to 200 and 63 fps, the fixed fps rate found out using rs-enumerate-devices. Based on that, I now no longer get freezing output.
I would now just like to verify if the output I am getting now if its correct? Because the representation I am getting is quite different from playing back a rosbag file.
Here is a link to the youtube video:
https://youtu.be/J9qtbiWoBMs
Here is an image of the file:


allow old apiVersion if every newer version is preview

Hi,
I have a case where I use Application Insights (Microsoft.Insights/components), and the possible versions are:

2020-02-02-preview
2018-05-01-preview
2015-05-01
See: https://docs.microsoft.com/en-us/azure/templates/microsoft.insights/allversions

However I am not interested in using preview versions, I prefere the non-preview.
When I run the test of my arm template then it tells me that I am using too old version of this resource:
[-] apiVersions Should Be Recent (47 ms)
        Api versions must be the latest or under 2 years old (730 days) - API version 2015-05-01 of Microsoft.Insights/components is 1823 days old
        Valid Api Versions:
        2018-05-01-preview

Example:
{
      "name": "[variables('applicationInsightsName')]",
      "type": "Microsoft.Insights/components",
      "apiVersion": "2015-05-01",
      "kind": "web",
      "location": "[parameters('location')]",
      "properties": {
        "Application_Type": "[variables('applicationInsightsApplicationType')]",
        "Flow_Type": "[variables('applicationInsightsFlowType')]",
        "Request_Source": "[variables('applicationInsightsRequestSource')]"
      }
    }

Is it possible to configure the tool to ignore preview when there is a non-preview version?
Is it possible to disallow preview versions completly?
Thanks
Mikkel

thanks @Mikkelcv I thought we had accounted for this but don't see where... good catch

@StartAutomating - I think this is going to be around line 138...
If we are a non-preview version, and all of the later versions are preview - we should not throw


tests: timer_api: run in user mode

We didn't have any coverage of the timer APIs in user
mode.
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

confirm 100% line and function coverage :)


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:29: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:35: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:35: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:35: missing_dev_url: The recipe is missing a dev_url
WARNING: /tmp/abs_0feknixgz5/clone/recipe/meta.yaml:35: missing_description: The recipe is missing a description
Errors were found


Bug:

Currently the script is crashing on some dates.  Examples:

https://github.com/bcgov/nr-rfc-processing/actions/runs/5080929776
https://github.com/bcgov/nr-rfc-processing/actions/runs/5046801738
https://github.com/bcgov/nr-rfc-processing/actions/runs/5038077726
https://github.com/bcgov/nr-rfc-processing/actions/runs/5032592097

suspect this issue relates to data being available on a given date for Viirs, however the specific area that we need to download is not.  To be verified.

Wasn't able to replicate the failure locally.  Added logic to the GHA to allow other unrelated jobs to continue if one of the matrix builds fails.  Default behaviour that was in place was fail-fast which causes all jobs in the matrix build to fail, as soon as a single job fails.
Re-run with new image: https://github.com/bcgov/nr-rfc-processing/actions/runs/5082545065

ended up updating the action used to build the mamba env in the matrix job as a result of the old action becoming deprecated.


bug: remove duplication in mlflow-using stacks

We have a few stacks that are using mlflow, but they're currently just using copies of the helm chart.
Move mlflow into its own top level component (exists but empty https://github.com/combinator-ml/terraform-k8s-mlflow)
Publish it to terraform registry. (@philwinder do you have a guide on how to do this?)
Replace the usage in:

https://github.com/combinator-ml/terraform-k8s-stack-kubeflow-mlflow and
https://github.com/combinator-ml/terraform-k8s-stack-bodywork-mlflow

With reference to the module like this:

https://github.com/combinator-ml/terraform-k8s-stack-pachyderm-minio/blob/main/stack.tf#L14-L18

In progress.


Package lock auto update

I realise there's no issue in the Backlog milestone for this. If it's also required for CI changes I can create one or just close this
I noticed in https://github.com/microsoft/TypeScript/pull/40146 you added the package-lock and also the action to update it daily.
This PR configures dependabot to automatically open PRs for dependency updates. It then also adds an auto merge action (disclaimer: I wrote this) and configures it to automatically merge PR's that are created by dependabot when the required status checks pass. I'd suggest making some of the checks required so that the merge is blocked if it causes build/test failures.
I think this approach is slightly better than the existing update-package-lock workflow because having the update opened on a PR means all the (required) pr checks run, and need to go green before the update is merged, so it means if there is a dependency update that contains a breaking change, it might be caught before it hits devs, and it highlighted in a PR.
Let me know what you think

Thanks, but we already have a working setup for updating our package lock on a weekly basis automatically.
IMO we probably don't want it, this repo is busy enough without all the additional noise that dependabot would add.

@orta fair enough. Ideally there would be no noise from this like your current solution, except when there are failures, but I don't think it's possible to filter notifications on GitHub PR's like that. Could probably set up an email filter but it's not ideal.

Actually looks like it would be possible to set up email filters based on the user

Unless @amcasey has a specific preference here, I think we'd prefer to have fewer automated PRs in general. It's not as much about notifications, though we'd rather not have to configure that either.

Not having either user or automated review of these changes was an explicit goal - we wanted to maintain the behavior we used to have with latest, but leave ourselves a breadcrumb for being able to build each commit in the future.
It looks like good thought and work went into this but, unfortunately, I'd have to agree that isn't something we'd be interested in right now.  Thanks though!


High CPU load

Overview
Hello. I was trying to implement animations on a site and noticed that dotlottie-web causes a huge CPU load. You can check it here: https://codepen.io/nauorama/full/LYvJOrZ. This doesn't happen with the @dotlottie/player-component library using the same animations. Can you help, please?

@nauorama Hello, the burden has been shifted from the GPU to the CPU by a software raster engine (ThorVG). Are you experiencing any actual performance issues?

@hermet Yes, I'm experiencing performance issues on the site. The animations, other than Lottie, and the SplideJS slider are twitching. Overall, the site does not feel smooth.

@nauorama is this page right?
We need to review the performance ourside.

@theashraf Please double-check first if there are areas to improve in dotLottie side, and let us know if it needs thorvg help, thanks.

@nauorama
here are some tips that could improve performance a bit
Consider disabling frame interpolation:
new DotLottie({
  canvas: canvas,
  src: src,
  loop: true,
  autoplay: true,
  useFrameInterpolation: false,
});

Adjusting the devicePixelRatio can also help improve performance:
new DotLottie({
  canvas: canvas,
  src: src,
  loop: true,
  autoplay: true,
  useFrameInterpolation: false,
  renderConfig: {
    devicePixelRatio: 1 // Lower values improve performance but may reduce animation quality
  }
});

You can experiment with different values for renderConfig devicePixelRatio. By default, it uses window.devicePixelRatio

@theashraf I tried useFrameInterpolation and devicePixelRatio setting. The CPU load is a little bit better, but still very high.

@nauorama I'm investigating whether there are any additional optimizations we can introduce

@nauorama One final optimization we could introduce is offloading the rendering to a web worker. I've created an example to show how you can run dotLottie in a web worker. You might want to consider it. Let me know if you encounter any issues.
https://codepen.io/lottiefiles/pen/KKYxOJd

I have the same problem with the @lottiefiles/dotlottie-react package, my CPU usage goes up to 100% and stays in the 90% range when switching to different pages where the animations are, by refreshing the page my CPU usage goes back to 1%.

I think it's a good idea to share the ThorVG team performance benchmarking results between dotlottie-web (ThorVG) and lottie-web here. So far, dotlottie-web has shown better results in terms of memory consumption and FPS. You can check it out at https://thorvg-perf-test.vercel.app/.
@lyorb The performance depends on many factors such as devicePixelRatio, canvas size, animation features utilized, etc. There are some micro-optimizations that can be applied to dotlottie-react:

Disable frame interpolation by passing the useFrameInterpolation prop as false to the DotLottieReact component.
Hardcode the devicePixelRatio to 1 by passing a prop called renderConfig, which is an object that takes the devicePixelRatio. You can set the devicePixelRatio to 1 and check if the animation quality is suitable for your application.

We're currently working on worker support for dotlottie-web and its wrappers. You can track the progress here: https://github.com/LottieFiles/dotlottie-web/issues/203

@nauorama @lyorb We've added web worker support to DotLottie. You might want to check out the documentation for more information. This should free the main thread from the heavy rendering work done by DotLottie.
https://developers.lottiefiles.com/docs/dotlottie-player/dotlottie-web/worker
Please let me know your feedback. Thanks!

OOT, but since react will wrap this -web, Do we have this worker wrapper in dotlottie react as well?


Fixed additive refinement traversal bug

Fixes #5766
This fixes an issue exclusive to additive refinement and with skipLevelOfDetail set to true (default).
Tiles with additive refinement were not getting loaded unless they were leaf tiles or they couldn't refine to their children due to SSE. Many interior tiles did not fit this condition and were never loaded. This fix forces additive tiles to always load during the traversal.

Code looks OK.  Could be worth adding a comment why additive always loads the tile.
@ggetz could you please test this?

Yep, looks like it's working! We may want to also update the thumbnail for the example, since it shows the initial view where not all the building are loaded.

Updated thumbnail

@pjcozzi This should be good to go.

Thanks @lilleyse @ggetz!


Improve configuration guidance

Added IP assignment guidance and use of same VLAN ID for both circuits.

#sign-off


Roll engine 5ec8ef850934..5fa1d5980964 (4 commits)

https://github.com/flutter/engine/compare/5ec8ef850934...5fa1d5980964
git log 5ec8ef850934..5fa1d5980964 --no-merges --oneline
5fa1d5980 Roll src/third_party/skia 7757bba636d8..21ee517391bc (1 commits) (flutter/engine#7263)
6a1f01724 Roll src/third_party/skia ce9a901a76eb..7757bba636d8 (4 commits) (flutter/engine#7262)
079d60452 Add a system message channel for controlling the Skia resource cache size (flutter/engine#7257)
41222d055 Update usage of some Android APIs that are deprecated in API level 28 (flutter/engine#7261)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (liyuqian@google.com), and stop
the roller if necessary.

@liyuqian : New roll has been created by https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5377873797971968

Commit queue failed; closing this roll.


Port everything to JSON - Contribute Page

This is a sub-issue for issue #170
port the text information in to JSON files so we can move them to our new website after it is built and at the same time have information to be used in the current version of the website.

I will do this.

Thank you @yohanym95


Unexpected edge duplication / same rank nodes across the subgraphs

Unexpected duplicated edges are drawn when its nodes are same rank, across the subgraphs.
// bug.dot
graph g {
    newrank=true // if set false, bug also reproduces. if comment out this line, bug fixes.
    subgraph cluster_1 {a;b}
    subgraph cluster_2 {c}
    {rank=same; a; b; c}
    a -- b -- c // b -- c -- a works correctly
}

$ dot -V
dot - graphviz version 2.43.0 (0)

$ dot -Tsvg bug.dot >bug.svg

Hey @yabeenico, you're currently looking at the graphviz project of the GraPHP organisation, this isn't the original GrahViz project. It looks like you may want to check and/or report this upstream to the GraphViz community/project: https://www.graphviz.org/ :+1:
You can find similar answers in #54 and others


DNS Client Must Be Disabled

The size of the file requires the DNS Client to be disabled, otherwise the browser and ipconfig commands will appear to hang. This should be added to the readme.
(summary)
services.msc --> DNS Client (right click) --> properties --> startup "automatic" should be changed to "disabled" --> reboot
EDIT: I've noticed significant delays in webpage loading and some YouTube ads began appearing that I did not experience before. As a result, I've re-enabled the DNS Client and removed hosts-file.net from the folder for my own personal use. If there's an alternate solution to the problem, I'd be glad to hear it.

@Aerodog which version of Windows are you running here?
I'm not a Windows user anymore so, if anyone has insight, please chime-in.
I'm mildly curious why a DNS cache would be sensitive to the hosts file.  I would think these would be in separate layers.  Anybody know?

I'm using Windows 10, but this is a well-known Windows-only issue on the hosts-file.net forums.
http://forum.hosts-file.net/viewtopic.php?f=6&t=2405
http://forum.hosts-file.net/viewtopic.php?f=6&t=4753
I haven't looked much into the reason. In the second link, a staff member of the site mentioned, "You need to disable the DNS Client service when using a large file, if not using the optimized one." Not sure what they mean by optimized.

Any ideas for a solution?

I had this problem on Windows 8 as well. Internet didn't work anymore even after a restart. I couldn't replace hosts file with the older ("smaller") one, so I had to boot into safe mode to replace it with the old one (I made a backup hosts file).
I suppose the DNS Client service has to remain disabled (and not only temporarily disabled - while I run flushdns command) in order for the current hosts file to work properly in Windows. Are there any consequences for Windows users with disabled DNS Client service?

I just removed hosts-file.net from the repo.
One reason is it was creating problems such as this one.
But the main reason is, that hosts file doesn't have the curation activity I expect.
Better now?

Great, thanks! It's much better now, because the "huge" hosts file (together with disabled DNS Client service) actually decreased the internet speed significantly, as far as I tested it.
I have one more suggestion to further reduce the size of hosts file: remove the following three lists from the hosts, because they're all disabled anyway:

"Windows 10"
"maybe-ads"
"maybe-spy", except the website media.fastclick.net (beacuse this one is not disabled)

You could then create additional (secondary) hosts file with the upper lists only. All the entries would be enabled, so advanced users could simply copy and manually add them to the "original" hosts file. All of the removed entries (300,000 websites from hosts-file.net) could be located in this secondary hosts file as well.
Furher, all the "Acknowledgements" could be removed from the hosts file (they are located just before the "hosts contributed by Steven Black"). Acknowledgements could be instead written in the file readme.md (or somewhere else).

Closing.

@StevenBlack Hi Steven.  You mentioned "I just removed hosts-file.net from the repo ... the main reason is, that hosts file doesn't have the curation activity I expect.".
Are you referring to hosts-file.net/ad_servers.txt ?
If so, I've noticed that it seems to have more frequent updates than many other hosts.  AdAway uses it as one of its 4 defaults hosts files, and that file is the one with some of the most frequent updates.
That's just what I've noticed... what did you notice?

@Gitoffthelawn I think @StevenBlack is referring to the 11MB+ Host file which has currently 336,509 entries that breaks certain parsing or something like it did on my mobile device. Well, that ad_servers.txt is quite a good list though~ :relaxed:

@StevenBlack @Gitoffthelawn  after merging ad_servers.txt hosts file have:
68,118 entries.
Size: 2.3 MB

@FadeMind does this 2.3 MB merged hosts file work also on Windows without the need for disabling DNS Client service?

@lencc IDK. See: http://winhelp2002.mvps.org/hostswin7.htm and
"The below does not apply to Windows 10 ... seems Microsoft has finally corrected the issue ...
Before you can install a custom HOSTS file in Win8, you will need to make a change in Windows Defender ... otherwise Defender will automatically remove your custom file and replace it with the default from Microsoft."
from: http://winhelp2002.mvps.org/hostswin8.htm
I using Arch Linux, and 23 MB hosts file don't affect me... but this is extreme customizing hosts file.

@FadeMind as you do already use a huge hosts file, you might want to know about why it is better to use dnsmasq for this, and a fork of this tool, which actually does it:
https://molotnikov.de/dnsmasq
https://github.com/qutorial/angryhostsfile
I called it differently from simply "hosts", it also serves a different purpose, then the hosts file here: it blocks A LOT more. So some more things will stop working time-to-time.
In this sense the hosts file discussed here is more user-friendly

I have some feelings about all this.
What matters most to me is that our sources be actively curated so new threats are identified quickly, but also that false-positives are removed quickly.
When I was watching closely, I didn't see much active curation at hosts-file.net.  I suspect one way to get an 11 mb hosts file is always cumulate, and rarely trim.  Maybe hosts-file.net has scaled beyond the size where effective curation is even possible?
I think assembling all the possible sources, and producing a very large (monster) hosts file, is one way to do this.  This will definitely protect you.
But I'm more interested in a solution that strikes a better balance.
I don't mind seeing the odd ad.  But I don't ever want to see malware.  I suspect those who first catch the sources of malware are those who actively curate their hosts files most frequently.  This is just a hunch.

I fully agree with you, and understand the philosophy of the hosts file you provide here.

For example, I do mind odd ads. Maldvertising is getting popular. I do mind trackers as well and they are not blocked enough by this hosts file. Not blocked malicious subdomains is another very serious disadvantage of the block-by-hostsfile approach vs. dnsmasq.
Now the hosts file accumulated from many source contains ~430K hosts. It blocks everything blocked by this hosts file and many hosts more. The mechanism of whitelisting and logs of dnsmasq or a browser console are there to find and unblock something occasionally wrongly blocked or useful (despite of some "bad" properties) at the moment.
In my experience, it is possible to use the web most of the time without any problems. Sometimes though, when DNS-blocking is on the way, I have to whitelist. In this sense the more paranoid approach is not the same user-friendly and comfortable.

@FadeMind could you upload this merged file online (i.e. merged current StevenBlack hosts + current ad_servers.txt hosts), so I can test it?
As regards Windows Defender and automatic replacement of custom hosts file: it is interesting that I didn't have such problems on Windows 8, despite I have always been using Windows Defender. However I have upgraded to Windows 10 recently. :) Thanks anyway for the information.

@lencc grab:
hosts_merged_hosts-file.net_ads.7z.zip

Great, thank you! It works fine in Windows 10.

First, @Laicure thank you for the details you provided.  @StevenBlack can you confirm Laicure's guess as to which list you were referring?  I have a hunch Laicure is correct and that you and I were referring to different lists from the same site.
I think this thread contains an excellent and thoughtful discussion.  Everyone has a different level of precisely what they want to be blocked, but in general, several different broad categories can be defined which will satisfy an overwhelming majority of people.
I believe it is in the best interest of all these projects to make their goals clearly visible in a README.  Steven's post above is a great start to such a document:

What is the overall philosphy
What does it block
What does it not block
What are the tradeoffs

@Gitoffthelawn thank you again for that suggestion.  I've updated the readme to clarify the goals of the repo.

@StevenBlack You're welcome. Best regards to you.


Firefox displays Material Theme incorrectly

The material theme on Firefox is resulting in overflow.
Material theme:

Default theme:

On changing the default padding prop on VictoryChart, it's alleviated, but I am not sure if this is the cause:

This issue was moved to FormidableLabs/victory#338


Populate README

This fixes a bug in the Makefile and adds instructions on how to run make commands in development.

@SteveMarshall @ibrechin I'll leave this to you guys

Q: Do we also want to include non-Docker setup instructions?
:+1: though

Looks good to me :+1:
@ibrechin I'd leave non-Docker setup instructions, and try to iron out issues with using Docker for dev rather than just avoid them.


Adding name to contributors

I added my name to the list of contributors as instructed.

Hi!
I would love to help you with this in any way that I can.  I am an experienced programmer, but this is my first time participating in open source projects.  I realize there are a lot of projects out there that just need a little bit of help or a few complicated bug fixes to get back on track or have features their creators only originally dreamed of.  So far it's been pretty easy to contribute.  My biggest pain point I think is the project learning curves.  There are some huge projects that seem to require a lot of reading and learning before you can even understand what they do, let alone how you can help them.

I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://goo.gl/PM1Jdh


MAINT: Work around GH download failures

I manually made a 0.136 tarball because I can't download it from GH, let's see if I did it correctly. If not, I can work to fix it.
Hopefully we can revert this very soon, but even if we can't, we could sustain this way of doing things at least until we run out of osf.io space. In the meantime, we should really have CIs working right around release time...

@drammock you're working on sphinx fixes, right? If so I'll ignore them here and merge when otherwise green

yep

Thanks 🙏 @larsoner


v:1.2 on linux, v:1.2 and 1.3.7 on mac

Issue: When installing artview on conda forge, version 1.2 and version 1.3.7 is available for installation on mac, but only version 1.2 is available for linux. Is it possible to update this recipe?
This occurs in a clean conda environment, on any python level.

I think this should have been taken care of by #14 getting merged and new packages uploaded. I would love to know if those work for you.


[BUG] CMS Toolbar wrongly assumes the current object has get_draft_url()

Description
To add edit link items to the CMS toolbar for the currently displayed item, we're assigning the current detail object to the toolbar, the usual way:
    if hasattr(request, "toolbar"):
        request.toolbar.set_object(article)

Since django-cms 3.10, this now loads to an error:
AttributeError: 'Article' object has no attribute 'get_draft_url'

The issue is triggered here, essentially get_object_draft_url assumes that the current toolbar object has a get_draft_url()method, and only catches NoReverseMatch but fails to handle the catch AttributeError as well, when no such method is defined.
Steps to reproduce

Assign an object to the current toolbar with request.toolbar.set_object(current_object)

Expected behaviour
No error raised
Actual behaviour
AttributeError: 'MyModel' object has no attribute 'get_draft_url'

Additional information (CMS/Python/Django versions)
This is new in DjangoCMS 3.10, because prior to #7104 get_draft_url would be a bare catch and would thus also include AttributeError. Since 3.10 includes this change, this only happens in 3.10
Do you want to help fix this issue?

[x] Yes, I want to help fix this issue and I will join #workgroup-pr-review on Slack to confirm with the community that a PR is welcome.
[ ] No, I only want to report the issue.

Closing as PR was merged.

This leads to an issue with djangocms_blog: https://github.com/nephila/djangocms-blog/issues/702

this leads to issues for everybody who has used set_object() for having consistent language url in language switchers...hopefully it will be release soon.


Cranelift: DCE unused stack slots

If there are explicit stack slots that are never used (say because of some earlier optimization making it dead) then we will never DCE the stack slot itself, and will always allocate stack space for that slot. This can then lead to code that might otherwise not have been emitted, like stack limit checks and stack probes.
Example:
function %f(i64 vmctx, i32) -> i32 {
    gv0 = vmctx
    stack_limit = gv0

    ;; Comment out this unused stack slot and we won't allocate any stack space
    ;; and therefore won't emit any stack-limit checks. Leave it in and we
    ;; unnecessarily do those things, even though nothing uses this stack slot.
    ss0 = explicit_slot 8

block0(v0: i64, v1: i32):
    return v1
}

Note that if we ever fix this, we will have to make various filetests that rely on us not DCEing stack slots actually touch their stack slots so that they continue to test the stack-limit interactions and such things that they are trying to test.

CompiledCode lists all the offsets of all stack slots, thus allowing external code to read and write stack slots. Maybe add a flag to stack slot definitions to indicate that their address is not leaked unless stack_addr explicitly leaks it, and as such are not accessed outside of code inside the function.


Reorganized tests, updated docs, and added annotation config option

Reorganized tests so all test modules are in related packages now
Added more info to documentation related to groups and option strings
Added config option to be able to disable inferring Parameter value types from type annotations

Codecov Report

Merging #23 (d414417) into main (a4232ea) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##              main       #23   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           40        40
  Lines         4945      4953    +8
  Branches       991       993    +2
=========================================
+ Hits          4945      4953    +8

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

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

Impacted Files
Coverage Δ

lib/cli_command_parser/config.py
100.00% <100.00%> (ø)

lib/cli_command_parser/parameters/base.py
100.00% <100.00%> (ø)

lib/cli_command_parser/testing.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Adds support for Symfony 4

Feel free to post comments about this PR.

This PR is now done and could be merged:

Allows Symfony 4 and Flex (require individual packages)
Puts source code in src folder to respect best practices
Removes useless test

Since this package seem to be abandoned, a fork was made on reinecolette/translatable-bundle according to the MIT license terms.


Gauge retry configuration at run time -  retry only if test failed due to environment issues not the script failed due to application assertions

Hi Team
is there any way users can conditionally retry the failed test instead of retry running all scripts . If I know in my test fails because of known issue we are filtering  those by tags .many times scripts fails due to assertions errors I don’t want to rerun those.  Is there any way we can achieve this? Please let me know your thoughts. I mean based the condition can we update the flag without impacting global flag , as I need to keep this retry flag enabled for further execution
thanks
Shc

hi @hcsan - at present Gauge does not know/analyze the cause of failure, i.e. assertion failure v/s other exceptions are treated as failure. Hence, there is no ability to set retry configuration based on the type of failure.
wrt the ability to set it at runtime, unfortunately that also isn't possible.

Thanks for the response @sriv is there any way to Merge the gage reports after rerun failed ?

There's no support to merge reports in Gauge, unfortunately. But if you are using xml-report/json-report the output can be manipulated to get a consolidated report (i.e. by merging xml/json)


Vim doesn't correctly clear its pager during scrolling, when launched inside tmux and 'termguicolors' enabled

Describe the bug
Vim doesn't clear the pager screen correctly when the more-prompt is displayed and the pager is first scrolled down and then back up again. This happens only when Vim is launched inside tmux with termguicolors enabled and a non-default colorscheme loaded.
To Reproduce

Run tmux -L foo -f /dev/null
Run vim --clean -S test.vim, withlet &t_8f = "\<esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<esc>[48;2;%lu;%lu;%lum"
set termguicolors
colorscheme koehler

Run :hi, scroll down to the bottom with G, then back to the top with g.
Result: The top part of the output of :hi is displayed along with the bottom output of :hi. It seems that Vim doesn't clear the pager screen before scrolling to the top again (see screenshots below).

Screenshots

Left: after running :hi, Center: after pressing G, Right: after pressing g
Environment

Vim version 8.2.3484
OS: Gentoo Linux
Terminal: xfce4-terminal, alacritty, st

$TERM is set to tmux-256color.

But when I run vim --clean instead of the above test.vim script inside tmux, t_ut is empty and yet there's no issue with the pager.

Because the ctermbg attribute of the Normal highlight group is not set:
$ vim --clean
:hi Normal

Normal         xxx cleared

IOW, the issue is that Vim fails to properly clear the top line of the pager when it uses the background color of the Normal highlight group, instead of the background color of the terminal.

IOW, the issue is that Vim fails to properly clear the top line of the pager when it uses the background color of the Normal highlight group, instead of the background color of the terminal.

It's not just the top line. Try it on the output of :scriptnames.
Scrolling up with k works fine, but not when jumping to the top with g, or scrolling with  u and b.


Building Configuration

Hi, May u share the building configuration of opencv.js? like emsdk version or some flag need to be set in CMakeLists. I try to build myself follow the tutorial but get the Promise result, take a look at offical opencv.js, it seem not a Promise. I know that have reslove to deal with Promise module but I wonder how to build non-Promise module, thanks a lot !

@austin2408 the opencv.js used in this repo's releases is downloaded from the official website.
Could you check the file https://github.com/TechStark/opencv-js/blob/main/.github/workflows/build-opencv.yml to see if that meets your need?


Unable to get cupsd.conf  using cupsGetFile

Here is example of this code.
 cupsGetFile(con, "/admin/conf/cupsd.conf", tmppath);

Function cupsGetFile writes to tmppath HTML page instead of cupsd.conf content. Looks like regression of this commit https://github.com/apple/cups/commit/eff8c82f6a43ee1816e3b5899381d525c3231d37

https://github.com/apple/cups/issues/5744


Implement Timo Jaakkonen’s crossing delays

closes #1

We have to merge to put the changes into effect (CI/CD workflow)


[Key Vault] Fix test proxy tests in live pipelines

Description
azure-keyvault-secrets was migrated to use the test proxy yesterday, but we forgot to set AZURE_SKIP_LIVE_RECORDING to True so that proxy behaviors would be bypassed in live test pipelines.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

/azp run python - keyvault - tests


fix relevancy vulnerability scans

Overview

https://github.com/kubescape/helm-charts/actions/runs/12491206089


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-31-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4846

Questions ?
Please refer to the Backport tool documentation


Add support for HHVM

@cpliakas Not really sure it still worth it to try to add HHVM support since PHP7.
Even some big projects like Symfony dropped the support: http://symfony.com/blog/symfony-4-end-of-hhvm-support

@Soullivaneuh Thanks for the info! Dropping feature.


(ngModelChange) Calling all ngModelChanges in a form

Hi,
I have multiple in my form. My first multipleSelect ngModelChange is calling all the ngModelChange of the page. How to restrict it?

Can you provide a code sample and tell us why this is a problem? The initial binding of the control may cause the event to fire, but you could set an initialized flag or similar and check this if you only want to respond to change events after initialization.


Reporting Metrics Measurement Type Incorrectly

Problem:
Prometheus reporting Counter measure type as a Gauge and Histogram as a Summary. During this measure type incorrect mapping can't use the specific recommended functions which are the best for example for the Counters instead for Gauges when creating dashboards in grafana.
Reproduction steps:
The reproduction can be easily made with the provided sample at https://github.com/AppMetrics/Samples.V2/tree/master/Net452.Metrics.Console.QuickStart

Download the Net452.Metrics.Console.QuickStart & install App.Metrics.Formatters.Prometheus Nuget
Replace the default OutputProvider to PrometheusOutputFormatter
Instead of
await metrics.DefaultOutputMetricsFormatter.WriteAsync(stream, snapshot);
to
await new MetricsPrometheusTextOutputFormatter().WriteAsync(stream, snapshot);

For ex. the Counter metric
metrics.Measure.Counter.Increment(new CounterOptions { Name = "my_counter" });
Extected result should be:
# TYPE application_my_counter caunter
but instead it the output is:
# TYPE application_my_counter gauge
The same thing is for Histogram metric
metrics.Measure.Histogram.Update(new HistogramOptions { Name = "my_histogram" }, 10);
Expected result should be:
# TYPE application_my_histogram histogram
but instead it the output is:
# TYPE application_my_histogram summary

This is expected. AppMetrics metric types do not map exactly to Prometheus metrics.
AppMetrics counters can go up and down. You can increment and decrement them. Prometheus counters only go up. Prometheus gauges can go up and down, so AppMetrics counters correspond to Prometheus gauges, not Prometheus counters.
This is how AppMetrics metric types map to Prometheus metric types:
Apdex     -> Gauge
Gauge     -> Gauge
Counter   -> Gauge
Meter     -> Counter
Histogram -> Summary
Timer     -> Summary

OK, so all is clear now. Thank you @bdrupieski.


Apigee 'Upload from URL' sample returns 400 Bad Request

This request, interestingly exhibits the opposite problem from #232
Sandbox location:
https://apigee.com/OneDrive/embed/console/OneDrive
Using request template:
Upload from URL
Using the template, specify the parent-path (which has an undefined format), so if you take the recommended format from the uploadd file API you would put in root:/path/to/folder which creates the url: https://api.onedrive.com/v1.0/drive/root:/path/to/folder/children.  This gives API not found.  In fact, you need to put root:/path/to/folder: in the parent-path, creating: https://api.onedrive.com/v1.0/drive/root:/path/to/folder:/children.

POST /v1.0/drive/root:/testfolder/children HTTP/1.1
Prefer: respond-async
Authorization: Bearer <token>
Host: api.onedrive.com
Content-Length: 192
X-Target-URI: https://api.onedrive.com
Content-Type: application/json
Connection: Keep-Alive

{
<EMAIL_ADDRESS>"http://wscont2.apps.microsoft.com/winstore/1x/e33e38d9-d138-42a1-b252-27da1924ca87/Screenshot.225037.100000.jpg",
  "name": "halo-screenshot.jpg",
  "file":  {}
}

Yields:
HTTP/1.1 400 Bad Request
X-MSNSERVER: BN1305____PAP281
Content-Length: 61
Connection: keep-alive
X-AsmVersion: UNKNOWN; <IP_ADDRESS>
Server: Microsoft-IIS/8.5 Microsoft-HTTPAPI/2.0
X-QosStats: {"ApiId":0,"ResultType":2,"SourcePropertyId":0,"TargetPropertyId":42}
Strict-Transport-Security: max-age=31536000; includeSubDomains
Date: Tue, 20 Oct 2015 16:39:58 GMT
P3P: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
X-ThrowSite: 0274.43d9
Via: 1.1 BL3301____PAP165 (wls-colorado)
X-MSEdge-Ref: Ref A: CD773687E73346358D92A1DE339F4DF6 Ref B: 98643703DBE9B92B32A5E974F3DB7F96 Ref C: Tue Oct 20 09:39:58 2015 PST
Content-Type: application/json
X-WLSPROXY: BL3301____PAP165

{
  "error":  {
    "code": "invalidRequest",
    "message": "API not found"
  }
}

Second.

I've updated the console documentation to make this clearer.   The correct parameter name is the parent  item, which could be root, root:/path/to/my/folder:, etc.


inline editing for does-not-return instructions fails to populate with existing instruction

See attached photo. Any instruction that ends analysis (such as int3, hlt) is a bit awkward to update as the line being selected is the text "{ Does not return }" which doesn't contain any instructions.
Also more obvious when multi-selecting a chunk of instructions, any "does not return" instructions will not show up in the edit box.

fixed in dev 2.1.2474

also the indention is fixed


feat: support coercions for superstruct resolver

Is your feature request related to a problem? Please describe.
Sometimes the data needs to be manipulated (coerced) during validation. Superstruct supports this using coercions.
Describe the solution you'd like
Support coercions as a parameter or settings and use create() instead of validate()
Describe alternatives you've considered
It's possible to do this post-validation, but it's much more elegant to do this during.
Additional context
https://docs.superstructjs.org/api-reference/coercions

can you build this with a custom resolver?

Add { coerce: true }. It will be passed to Superstruct's validate.
useForm({
  resolver: superstructResolver(FooStruct, { coerce: true }),
})


ORTC: Add ORTC Constructors

This is a proposal to phase out the network.Manager in favor of the ORTC Constructors. In JavaScript this API looks as follows:
var gatherer = new RTCIceGatherer(options);
var ice = new RTCIceTransport(gatherer);
var dtls = new RTCDtlsTransport(ice, certs);

// Media
var audioSender = new RTCRtpSender(audioTrack, dtls);
var videoSender = new RTCRtpSender(videoTrack, dtls);
var audioReceiver = new RTCRtpReceiver("audio", dtls);
var videoReceiver = new RTCRtpReceiver("video", dtls);

// Data
var sctp = new RTCSctpTransport(dtls);
var channel = new RTCDataChannel(sctp, parameters);

In Go this would probably look like:
gatherer := webrtc.NewRTCIceGatherer(options)
ice := webrtc.NewRTCIceTransport(gatherer)
dtls := webrtc.NewRTCDtlsTransport(ice, certs)

// Media
audioSender := webrtc.NewRTCRtpSender(audioTrack, dtls)
videoSender := webrtc.NewRTCRtpSender(videoTrack, dtls)
audioReceiver := webrtc.NewRTCRtpReceiver("audio", dtls)
videoReceiver := webrtc.NewRTCRtpReceiver("video", dtls)

// Data
sctp := webrtc.NewRTCSctpTransport(dtls)
channel := webrtc.NewRTCDataChannel(sctp, parameters)

It seems harmless to expose this API alongside the existing WebRTC API. In addition, we can use these constructors to setup our networking stack in RTCPeerConnection.SetRemoteDescription. It seems easiest to keep these in the webrtc package since a lot of the objects used by ORTC are shared with WebRTC. After #272 is implemented our networking stack should be sufficiently composable to build out these ORTC constructors.
I suggest to use this ticket for initial discussion and progress tracking. We can ticket out the individual changes needed in separate tickets.

I agree with this!
I see a lot of value in this because it makes it possible to use WebRTC without signaling. I have never thought about it before, but I think that could empower a lot of interesting situations. Especially for embedded devices people may want to hardcode values or only want a subset (SCTP + DTLS + ICE) for example.
If possible it would be great to move these out to their own package. Eventually pions/webrtc just provides the browser API and nothing more.

Moved to pions/ortc#1.

Reopened due to large overlap between ORTC and WebRTC.


Out-of-the Box Arduino Package

I have followed the instructions (on MacOS) and got a viable folder in my Arduino setup - almost :-(
On building this I get typedef conflicts, possibly  because I have not adjusted sensirion_arch_config.h
Errors such as "previous declaration as 'typedef short unsigned int u16' typedef unsigned short u16"
If I delete the u16 typedef I get "sensirion_uart.h:61: error: unknown type name 'u16'"
Same issue on Leonardo, Mega and Uno.
Any suggestions pls?

Related to #17

We do have Arduino libraries for most of our newer sensors available.


TypeError: argument of type 'NoneType' is not iterable

While trying to download images through this
instaloader --filename-pattern={date_utc}_UTC_{profile} --post-filter="'4 letters' in caption" --no-metadata-json --no-compress-json <profile-name>
I got this error
[170/1382] Traceback (most recent call last):
File "d:\python 35\lib\runpy.py", line 184, in run_module_as_main
"main", mod_spec)
File "d:\python 35\lib\runpy.py", line 85, in run_code
exec(code, run_globals)
File "D:\Python 35\Scripts\instaloader.exe_main.py", line 9, in
File "d:\python 35\lib\site-packages\instaloader_main.py", line 388, in main
storyitem_filter_str=args.storyitem_filter)
File "d:\python 35\lib\site-packages\instaloader_main_.py", line 171, in main
download_stories, fast_update, post_filter, storyitem_filter)
File "d:\python 35\lib\site-packages\instaloader\instaloader.py", line 850, in download_profiles
if post_filter is not None and not post_filter(post):
File "d:\python 35\lib\site-packages\instaloader_main.py", line 54, in filterfunc
return bool(eval(compiled_filter, {'item': item, 'datetime': datetime.datetime}))
File "", line 1, in
TypeError: argument of type 'NoneType' is not iterable
Running Instaloader 4.1.1
This kind of error is not handled? or is it an issue from my end?

--post-filter="'4 letters' in caption" fails with a TypeError exception if caption is None. Better use --post-filter="caption and '4 letters' in caption".

Thank You

You're welcome :)
Anyway I want to keep this issue open since I like your suggestion of catching exceptions that are raised during evaluation of the --post-filter, instead of failing and terminating the whole program.


Which Approach is recommended  for Fine-Tuning Molecular Property Prediction

I am working on fine-tuning uni-mol for predicting molecular properties and have noticed an inconsistency in the data processing methods provided in the repository. There are some small differences between the smi2_3Dcoords function in the example notebook and the inner_smi2coords function in the conformer.py file within the MolTrain class for unimol_tools.
So, which approach is more recommended for  fine-tuning unimol for molecular property prediction — example jupyter notebook or the MolTrain in unimol_tools ?
Best regards,

smi2_3dcoords is for conformation diversity for docking initial, we prefer to use inner_smi2coords as just use MMFF force sampling coordinates for fientuning.


Fails silently for missing fields

I tried dynmsg to parse config files for controlling a real robot. There does not appear to be an option for it to raise an exception if a message field is missing.
I found this issue to be a dealbreaker, due to safety concerns, and so I will not be using this library.
Testing
On ROS 2 Humble, here is my parsing code.
geometry_msgs::msg::Pose pose;
yaml_string =
"position: {'x': 0.979, 'y': -2.161}"
"orientation: {'x': 0., 'y': 0., 'z': 0., 'w': 1.}";
dynmsg::cpp::yaml_and_typeinfo_to_rosmsg(
    dynmsg::cpp::get_type_info({"geometry_msgs", "Pose"}),
    yaml_string,
    reinterpret_cast<void*>(&pose)
  );

Expected Behavior
The YAML would fail to be parsed into a geometry_msgs/msg/Pose, because it is missing a field. It would have to be via an exception, because there is no return code in the function interfaces nor in the return struct RosMessage_Cpp.
Actual behavior
It gets parsed into:
position:
  x: 0.979000
  y: -2.16100
  z: 0.00000
orientation:
  x: 0.00000
  y: 0.00000
  z: 0.00000
  w: 1.00000

using the default value of zero for the missing position z.
I find this to be incredibly dangerous when controlling a real robot. A typo in the config file that omits a key could fail silently during parsing and then send a robot to an unexpected wrong position.

Feel free to submit a PR, but this repo isn't really being maintained, so it might never get merged.

find this to be incredibly dangerous when controlling a real robot.

I don't think this was ever meant to be used in production, at least not in its current state.

@b-adkins I agree with you that is is dangerous behavior. Did you ever submit this PR? If not, I can help work on this since I've run into the same issue.

I decided not to use the library. It would be great if you could add this feature!

Sounds good! I'll see what I can do.


Clarify FunctionsPreservedDependencies and FunctionsSkipCleanOutput

Clarify FunctionsPreservedDependencies and FunctionsSkipCleanOutput with some info gleaned from https://github.com/Azure/azure-functions-host/pull/6849#issuecomment-779924732

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

ID: 369aefa6-74da-3001-f835-15abdfffd5d6
Version Independent ID: 2cc2a2db-d059-3252-7a1a-4261b7d3c37c
Content: Develop Azure Functions using Visual Studio
Content Source: articles/azure-functions/functions-develop-vs.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

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

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

@ggailey777 - what do you think?

@gzuber you contributed to the other issue, could you help here?

@ggailey777 @mijacobs Is a resource available to review the proposed update to the article?
Thanks.

@fowl2 and @bryanknox sorry for the delay in getting to this submission. I checked with the product team, and they would actually prefer that we remove this workaround documentation altogether. Apparently, the issue occurs rarely, and using these settings when not needed can negatively impact performance.  Thanks for having us take another look at this section of the article. #please-close

The reason I created this PR was because I had an issue, had to trawl through GitHub to resolve it and figured I'd save someone (possibly me) the trouble again in future. So I'd encourage you to reconsider, thanks.

Please reconsider closing this PR. It would be helpful for the FunctionsSkipCleanOutput` feature to be documented, even if it is rarely used.
Possible performance impacts of its use could also be document. That would help folks make better choices. Rather than leaving it undocumented and forcing people like @fowl2 and I to do more work, and perhaps take more risks, with undocumented features.

I do appreciate your passion for helping our customers succeed. I've spoken to our support folks and I've asked them to let me know if there are negative impacts due to this removal.

I wrote a blog post about _FunctionsSkipCleanOutput and FunctionsPreservedDependencies. Hopefully it may help the few of us who need it.
https://bryanknox.github.io/2022/07/15/functionsskipcleanoutput-and-functionspreserveddependencies.html

The blog post from @bryanknox saved us here. Really surprised this has been removed from the original documentation.

If this had been documented officially, it would have saved an awful lot of time. It is not clear that this mechanism exists by default, and the resultant error message points nowhere to the cleaning operation being the cause.
@bryanknox thank you for documenting this on your blog.

If this had been documented officially, it would have saved an awful lot of time. It is not clear that this mechanism exists by default, and the resultant error message points nowhere to the cleaning operation being the cause.
@bryanknox thank you for documenting this on your blog.

Hmm same, this seems to happen rarely, but on an often basis. Of course trading poorly performing, for not working at all makes sense. Lets put that dust bunny back under the rug where is belongs.

@bryanknox thanks for the blog post!
I'll add on to this thread that for me, the workarounds described in the blog post initially did not work, however once I changed from targeting net7.0 to net6.0, they did end up working.

@bryanknow What is the real fix, as in the mode of operation that does not cause the problem in the first place.  Is it that we should run Azure Functions always in isolated mode wherever possible?
I can't help feeling this is a bug that no-one wants to address.

@rschurchill the future of Azure Functions is the isolated worker model. In-process functions will be out of support at the same time as .NET LST version they depend on.  November 2024 for .NET 6, and November 2026 for .NET 8. I recommend moving to isolated functions.
My understanding of the root of this issue is that in-process functions will often depend on assemblies that are also used by the functions runtime in the same process. The runtime will unload those assemblies, even if the function app depends on a different version of the assembly than is used by the functions the runtime. I'm guessing this issue won't be addressed, even when in-process function support is added to .NET 8 in 2024.


[bug-fix] fix the bug join node insert null column to not null column

Proposed changes
Issue Number: close #xxx
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

Manually merged to dev-1.0.1


No way to create a job and attach it to a task through the API

Update 2
I have changed the mimetype of the image in S3 to image/jpeg, and then it worked. But when I tried to reproduce this with another image and manifest, cvat is looking for the manifest file locally.
Traceback (most recent call last):
  File "/opt/venv/lib/python3.8/site-packages/rq/worker.py", line 936, in perform_job
    rv = job.perform()
  File "/opt/venv/lib/python3.8/site-packages/rq/job.py", line 684, in perform
    self._result = self._execute()
  File "/opt/venv/lib/python3.8/site-packages/rq/job.py", line 690, in _execute
    return self.func(*self.args, **self.kwargs)
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/home/django/cvat/apps/engine/task.py", line 305, in _create_thread
    manifest_file = _validate_manifest(manifest_files, manifest_root)
  File "/home/django/cvat/apps/engine/task.py", line 204, in _validate_manifest
    if is_manifest(full_manifest_path):
  File "/home/django/utils/dataset_manifest/core.py", line 724, in is_manifest
    return _is_video_manifest(full_manifest_path) or \
  File "/home/django/utils/dataset_manifest/core.py", line 729, in _is_video_manifest
    return validator.validate()
  File "/home/django/utils/dataset_manifest/core.py", line 642, in validate
    with open(self._manifest.path, 'r') as manifest:
FileNotFoundError: [Errno 2] No such file or directory: '/home/django/data/storages/7/test_manifest10.jsonl'

Update 1
I went into the docker container's logs and this is the traceback:
Traceback (most recent call last):
  File "/opt/venv/lib/python3.8/site-packages/rq/worker.py", line 936, in perform_job
    rv = job.perform()
  File "/opt/venv/lib/python3.8/site-packages/rq/job.py", line 684, in perform
    self._result = self._execute()
  File "/opt/venv/lib/python3.8/site-packages/rq/job.py", line 690, in _execute
    return self.func(*self.args, **self.kwargs)
  File "/usr/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/home/django/cvat/apps/engine/task.py", line 291, in _create_thread
    media, task_mode = _validate_data(media, manifest_files)
  File "/home/django/cvat/apps/engine/task.py", line 190, in _validate_data
    raise ValueError('No media data found')
ValueError: No media data found

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

I copied the POST-requests that I observed when manually creating a task in the UI (see code below). There seems to be no way to create a new job through the API. Also, no API request for job creation is observed when manually creating the task in the UI, though a job is created properly and assigned to a task.
Expected Behaviour

A task should appear in the UI. The task should have a job attached to it.
Current Behaviour

The task is created, but no job is attached to it, i.e. it is not visible in the UI. One exception: When a task was manually created and deleted before (i.e., a task using the same dataset and manifest), full task creation (with a job attached) through the API works.
Possible Solution

A. If there is a way to create a job and somehow pass it the correct task ID (the API route for getting jobs even returns an object with a field "task_id"), that could be the solution.
B. When successfully creating a task, the segments are part of the response. If there is a way to pass the segments in the request, that could be a solution.
Steps to Reproduce (for bugs)

import json
import copy
import requests
from typing import List
import pandas as pd

API_BASE_PATH = 'http://my_aws_ec2:8080'

def authenticate():
    login_json = {"username": username, "password": password}
    login_resp = requests.post(f'{API_BASE_PATH}/api/auth/login', json=login_json)
    assert login_resp.status_code == 200
    return login_resp

username = 'mycvatuser'
password = 'mycvatpw'
cookies = authenticate().cookies
post_headers = headers = {
    'Content-Type': 'application/json',
    'X-CSRFToken': cookies['csrftoken'],
}

def get_cloud_storages():
    return pd.DataFrame(
        json.loads(requests.get(f'{API_BASE_PATH}/api/cloudstorages', cookies=cookies).content)['results'])

def create_task(name: str, cloud_storage_name: str, manifest_filename: str, image_UUIDs,
                description: str = '', labels: List = [], image_quality: str = '70', use_zip_chunks: str = 'true',
                use_cache: str = 'true', sorting_method: str = 'lexicographical'):
    body = {
        "description": description,
        "name": name,
        "labels": labels,
        'segment_size': 3,
        "status": "annotation",
    }
    headers = post_headers
    response = requests.post(f'{API_BASE_PATH}/api/tasks?org=', headers=headers, data=json.dumps(body),
                             cookies=cookies)
    assert response.status_code == 201
    response_content = json.loads(response.content)
    task_id = response_content['id']
    cloud_storages = get_cloud_storages()  # some self-writte function that returns a pandas DataFrame of the CVAT cloudstorage instances
    cloud_storage_id = str(cloud_storages[cloud_storages['display_name'] == cloud_storage_name]['id'].values[0])
    server_files = []
    for img in image_UUIDs:
        server_files.append({'file': f'{img}.jpg'})
    server_files.append(manifest_filename)

    body = {
        'server_files': server_files,
        'image_quality': image_quality,
        'use_zip_chunks': use_zip_chunks,
        'use_cache': use_cache,
        'sorting_method': sorting_method,
        'cloud_storage_id': cloud_storage_id,
        'storage': 'cloud_storage'
    }
    headers = copy.deepcopy(post_headers)
    headers['Upload-Start'] = 'true'
    response = requests.post(f'{API_BASE_PATH}/api/tasks/{task_id}/data?org=', data=json.dumps(body),
                             headers=headers, cookies=cookies)
    assert response.status_code == 202

    import time
    time.sleep(2)

    headers = copy.deepcopy(post_headers)
    headers['Upload-Finish'] = 'true'
    response = requests.post(f'{API_BASE_PATH}/api/tasks/{task_id}/data?org=', data=json.dumps(body),
                             headers=headers, cookies=cookies)
    assert response.status_code == 202

labels = [
    {'name': 'label_A', "attributes": []}
]

images = [
    'img1',
    'img2',
    'img3'
]

create_task(manifest_filename='my_manifest.jsonl',
            image_UUIDs=images, name='my_task',
            cloud_storage_name='cloudstorage_instance', labels=labels,
            description='test description')

This is my manifest file:
{"version": "1.1"}
{"type": "images"}
{"name": "img1","extension":".jpg","width":5328,"height": 4608,"meta":{"related_images":[]}}
{"name": "img2","extension":".jpg","width":5328,"height": 4608,"meta":{"related_images":[]}}
{"name": "img3","extension":".jpg","width":5328,"height": 4608,"meta":{"related_images":[]}}

Context

I am trying to create labelling tasks for an object detection task.
Your Environment
I am using AWS S3 cloudstorage instance for my images, and run CVAT in EC2.

Hi, @kaninaba94, I see in your logs that you are not using the latest CVAT version which fixed this problem. Could you please try the develop branch or cvat/server:dev?


[REF] Improve numerical stability of Frobenius estimator

Instead of estimating the Frobenius norm by v.T @ (A.T @ A @ v), use w.T @ w where w = A @ v. This

halves the number of matvecs
improves numerical stability (result cannot be negative), and
does not require the linear operator A to define .T.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

7 of 7 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.03%) to 88.896%

Totals

Change from base Build<PHONE_NUMBER>:
0.03%

Covered Lines:
1337

Relevant Lines:
1504

💛  - Coveralls


Create livestream folder and reference client implementation; move REST API client into designated folder

Description

I've added a reference implementation to highlight:

The need to handle redirects
Data processing performed in a separate thread
Common HTTP response codes

Related Issue

Motivation and Context

This is related to moving Adobe Livestream to be under the umbrella of the Analytics 2.0 APIs. With the updated documentation, we have created an updated reference client implementation.
How Has This Been Tested?

I have built and run this successfully many times locally.
Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@gigazelle @johnwight Here is the reference Livestream consumer implementation. I've also refactored how the java folder is laid out by putting the existing API client into it's own rest-api folder. This now sits alongside the livestream folder.

This was handled and implemented into the Livestream docs separately. I'm closing this. Please let me know if I'm missing something.

@johnwight I think this still needs to be merged in as this is not documentation, this is the sample client application for customers to reference.

I have added rbuck's java and pom files in another merge.


Create SSH remoting tests

We currently don't have SSH remoting tests because there is no way to automatically set up SSH.  Setting up SSH will be addressed by Enable-SSHRemoting (Issue #3616).  And once this is working we need to begin adding SSH remoting tests.

Un-assigning since I am not actively working on this.


UX design to highlight simulation state and to enable “skip slow sim”

Build the UX to help the user better understand what is happening while simulation is occurring and to give the user the option to select “skip slow sim” under conditions determined in previous epic.
Acceptance criteria:

A series of wireframes that describe a "simulation optional" flow, as noted above.
An improved UI to help the user understand what is happening during sim.
These UI updates built in to the run app.

Closing due to other "fast sim" route taken.


Unpredictable and wrong auto-indentation behavior

EDIT: Also found more bad behavior when using shift+tab or backspace to unindent
Description of your problem
What steps will reproduce the problem?

Type a line of code and press Enter
Backspace or Shift+Tab on new line

What is the expected output? What do you see instead?
I expect the indentation to follow the previous line, instead I get random behavior (sometimes).   In the case of a new line I expect shift+tab or backspace to unindent one level, not go all the way back.  Here are a few example images:
Wrong:

Wrong:

Correct:

Wrong:

Correct:

Please provide any additional information below
This only started happening to me after upgrading to spyder 3.0.1 from 2.x (I forget which version I had), using pip.
Versions and main components

Spyder Version: 3.0.1
Python Version: 2.7.12
Operating system:
Using Qt 4.8.7, PyQt4 (API v2) 4.11.4 on Linux (Ubuntu 16.04)

Dependencies
Please go to the menu entry Help > Optional Dependencies (or
Help > Dependencies), press the button Copy to clipboard
and paste the contents below:
jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.4.3 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.11.2 (OK)
pandas >=0.13.1  :  0.16.2 (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  5.0.0 (OK)
pyflakes >=0.5.0 :  1.3.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.6.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.10.3 (OK)
sphinx >=0.6.6   :  1.4.8 (OK)
sympy >=0.7.3    :  0.7.6 (OK)

@rlaverde, could you take a look at this one to see if it's fixed with the PRs you have developed?

@ccordoba12 I wasn't able to reproduce any of them with the current 3.x branch (although I can reproduce them with v3.0.1), I think they were solved in #3576
@ibackus please wait some days to spyder 3.0.2 release and test if this bugs are still present.

@rlaverde is right. This is going to be fixed in 3.0.2.
About your 4th screenshot, we don't consider it a bug because a new line is created and indented to start at the same level as line[i] = '' so that user can keep writing code for the same if block.

@ccordoba12 I accidentally put my 4th screenshot in the wrong order.   This has been corrected and did appear to be an error.  shift tabbing should unindent one level, not all the levels, but appears to have been fixed by 3.0.2.
@ccordoba12
I have downloaded spyder 3.0.2 but the problem in the 1st screenshot persists.

I tested it locally and it doesn't fail for me :-/

Sorry, you're right. The key to your problem is the parenthesis inside the strings.
@rlaverde, please try this code to see that it's failing:
def f():
    tags = ['(a)', '(b)', '(c)']<Enter>
            <cursor ends up here>

@rlaverde, I'm going to assign this one to you since you've been working on this stuff lately :-)


[build] add zeroconf python module

Depends on:

[ ] https://github.com/openthread/openthread/pull/7419

Seems we don't have any CI tests.
Wondering what kind of tests do we need? @edmont @superwhd
Not sure if it's possible to build reference releases in GitHub CI.

Actually just realized that would be better to merge https://github.com/openthread/openthread/pull/7419 first and then update openthread submodule here.

Seems we don't have any CI tests.
Wondering what kind of tests do we need? @edmont @superwhd
Not sure if it's possible to build reference releases in GitHub CI.

 We could have some build tests, but notice ncs is quite space and bandwidth demanding.

I took the liberty to include ot-commissioner update in this PR as well. @jwhui feel free to squash commits if needed.


Initial library skeleton

Checklist

[ ] Code compiles correctly
[ ] Created tests which fail without the change (if possible)
[ ] All tests passing
[ ] Extended the README/documentation, if necessary

What does this PR do?
Initial library skeleton
Where should the reviewer start?
What is missing?
How should this be manually tested?
Any background context you want to provide?
What are the associated tickets?
Screenshots (if appropriate)
Questions

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


Fix vmdb logging initialization (again)

This returns the logger objects initialization back to being very early,
since there are certain code paths (like rake tasks) that do not load
the environment, but still need the loggers defined.
For example, it fixes the following issue with rake evm:db:start
Starting EVM server daemon...
rake aborted!
NoMethodError: undefined method `logger' for Vmdb:Module
/var/www/miq/vmdb/lib/vmdb/logging.rb:56:in `logger'
/var/www/miq/vmdb/lib/vmdb/logging.rb:41:in `block (2 levels) in <class:LogProxy>'
/var/www/miq/vmdb/lib/evm_database_ops.rb:127:in `start'
/var/www/miq/vmdb/lib/tasks/evm_dba.rake:24:in `start'
/var/www/miq/vmdb/lib/tasks/evm_dba.rake:89:in `block (3 levels) in <top (required)>'
/var/www/miq/vmdb/lib/tasks/evm_dba.rake:69:in `block (3 levels) in <top (required)>'
Tasks: TOP => evm:db:silent_start

@jrafanie Please review.
cc @carbonin @JPrause @matthewd

:cake:


Hc 210

HC-210:

updated notify_by_email.py to be python3 compatible.
fixed "doc" access
updated encoding
updated job specs for all lightweight job calls
fixed call to notify_by_email.py by notify_by_email.sh

@DustinKLo: good catch!
@bnp26: let's tag up on what needs to be done to get that in sync with hysds_ui.


[TEST] Create a test suit to cover Rancher Longhorn integration

What's the test to develop? Please describe
We need to have a test plan which covers the Rancher Longhorn integration area. Currently we have test plan for basic installation, upgrade and airgap with Rancher. We want to cover more areas which are frequently used by customers.
Describe the items of the test development (DoD, definition of done) you'd like

Please use a task list for items on a separate line with a clickable checkbox https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists

[ ] Come up with the plan as in what functionalities/areas need to be included in the test.
[ ] Add the detailed test cases in our manual and automation test suit.

Additional context
To start with some of the possible areas that need to be cover in the test suit :

air-gap (we have now)
chart install & upgrade (we have now)
drain operation for the local/downstream cluster via Rancher or SUC
drain operation with K3s SUC
Rancher proxy access to longhorn UI

The main point is we should have the corresponding test suite for the integration, especially cluster node maintenance/upgrade (longhorn itself and together with K8s) through valid interfaces like Rancher UI, SUC, fleet, etc.

@chriscchien will also help with verifying all test case combinations based on the PR.
cc @longhorn/qa

Test cases have been added - https://longhorn.github.io/longhorn-tests/manual/rancher-integration/


Failing Docker Image CI

Docker CI has failed in the commits for today. But, nor Gemfile nor Dockerfile have changed, so this must to do with the update on one of the used libraries.
I have to investigate this one more.
#10 26.69 An error occurred while installing sass-embedded (1.57.1), and Bundler cannot
#10 26.69 continue.
#10 26.69
#10 26.69 In Gemfile:
#10 26.69   jekyll-archives was resolved to 2.2.1, which depends on
#10 26.69     jekyll was resolved to 4.3.1, which depends on
#10 26.69       jekyll-sass-converter was resolved to 3.0.0, which depends on
#10 26.69         sass-embedded
#10 ERROR: process "/bin/sh -c bundle install" did not complete successfully: exit code: 5
------
 > [5/5] RUN bundle install:
#10 26.69 `block (2 levels) in create_threads'
#10 26.69
#10 26.69 An error occurred while installing sass-embedded (1.57.1), and Bundler cannot
#10 26.69 continue.
#10 26.69
#10 26.69 In Gemfile:
#10 26.69   jekyll-archives was resolved to 2.2.1, which depends on
#10 26.69     jekyll was resolved to 4.3.1, which depends on
#10 26.69       jekyll-sass-converter was resolved to 3.0.0, which depends on
#10 26.69         sass-embedded
------
Dockerfile:13
--------------------
  11 |     WORKDIR /srv/jekyll
  12 |     ADD Gemfile /srv/jekyll/
  13 | >>> RUN bundle install
  14 |
--------------------
ERROR: failed to solve: process "/bin/sh -c bundle install" did not complete successfully: exit code: 5
Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c bundle install" did not complete successfully: exit code: 5

Fortunately, the currently pushed image is fine. So, those who use docker for their website should have no problem.
Probably it is the fault of this sass-embedded package.

I did hours of research and I didn't understand how to solve this problem.

@pourmand1376, do you know if there's a way to reproduce this issue on docker locally?

@pourmand1376, do you know if there's a way to reproduce this issue on docker locally?

@alshedivat Thanks for commenting. I couldn't reproduce the issue locally. It seems like sass-embedded stopped working with alpine (the base image for jekyll/jekyll), so I decided to switch to using Debian as my base image. It has more support and is less likely to break.


feat: fix error without setting syner

fix: #1924
If the organization don't have syner,  when update user it reports error. Now, if syner is nil, it doesn't return err

@leo220yuyaodog can you provide a video here to show 3 different scenarios:

With a working syncer
A syncer that causes error
No syncer

https://github.com/casdoor/casdoor/assets/71440988/82d63eb3-8543-438f-b6cf-0c7d51311764

I think it's clearer if we revert the faulty PR first, https://github.com/casdoor/casdoor/pull/1926

I think it's clearer if we revert the faulty PR first, #1926

All right

Replaced by: https://github.com/casdoor/casdoor/commit/51a76518aded8357c7d0dbe37c303780c0428c4d


Re-open doesn't seem to act on window with focus? (macOS)

Open two raster files on macOS. If you do CMD+R it only ever reloads the last file opened, and if you close that file then you get an error (like it is trying to re-open the closed window's file).

[master cbd739b] Bump version, fix re-open/close bug on macOS (Issue #20)


Drop SIM105 due to performance

Desired change

Rule(s): SIM105
Adjustment: It should be dropped!

Explanation
By conforming to this, the code will perform worse. Please check with timeit.
In [1]: %%timeit
   ...: try:
   ...:     a = {'a': 1}
   ...:     a['b']
   ...: except KeyError:
   ...:     pass
   ...:
199 ns ± 1.16 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

In [5]: %%timeit
   ...: with contextlib.suppress(KeyError):
   ...:     a = {'a': 1}
   ...:     a['b']
   ...:
621 ns ± 6.38 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)

I found this repository because I followed your tutorial on Medium on how to write a flake8 plugin. Thanks a bunch for this! :)

Uh, interesting! I'll have a look and try to fix it this week.
Do you mind sharing the project where this time actually matters?

Uh, I got your point wrong the first time : you're not worried about the runtime of sim105, but if the effect of the advocated change! Now I've got you! I'll document it tomorrow 👍

Uh, interesting! I'll have a look and try to fix it this week.
Do you mind sharing the project where this time actually matters?

https://github.com/django/django/pull/9038 It's slow because of the way Python makes function calls.

@atombrella What do you think about this? https://github.com/MartinThoma/flake8-simplify/pull/93


Encrypt performance

Hi,
first of all thanks for this amazing lib! We implemented your lib and it works perfectly, but we are using encryption and I am wondering how much this affects performance? Are there any benchmarks that will compare performance with encryption on/off?
Thanks!

Hey, thanks!
No, I don't have any benchmarks for that. Feel free to benchmark yourself and let me know about the results :)

@mrousavy I used https://github.com/mrousavy/StorageBenchmark to benchmark it and it seems that it gives exactly same result as without encryption. I also open PR with this https://github.com/mrousavy/StorageBenchmark/pull/4

I did little bit more experimenting at it seems that there is quite i big difference when you will increase size of value.
This is test result for ~15 kb of data:

And this is result for ~30 kb of data:

It is slower but still quite nice if we consider that other storages are not encrypted at all.

Interesting results! Thanks for sharing

@dmahajan980 you can find everything here https://github.com/mrousavy/StorageBenchmark

This isn't surprising. AES is really fast. It's actually somewhat surprising to me that it even takes that much more time.


fix: Make value required on AriaCheckboxGroupItemProps interface

Closes  #1318
Makes value required on AriaCheckboxGroupItemProps. The doc comment for value is inherited from ToggleProps.
✅ Pull Request Checklist:

[x] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:

🧢 Your Project:

hmm, this would require changes to the SpectrumCheckboxProps as well, otherwise ts will complain about this.

Hey! Thanks for working on this one. There are two things we can do here to help things out.

Fix the aria hook types. You've mostly done this, I think we can either

@ts-ignore
or just add value: props.value explicitly rather than relying on the …props
in order to resolve the TS error, just make sure to add a comment explaining why we're ignoring it

Help React Spectrum users.
There are two different types and the shift in which one is used is based on the React tree when rendered
value not required

<Checkbox />

vs
value is required
<CheckboxGroup>

     <...whatever HoC/wrapper >
       <Checkbox value="i-use-context" />

Typescript won't know the tree during compilation, this is only at run time.
I think we're going to have to solve this by throwing an error in useCheckboxGroupItem if there is no props.value

thanks for reviewing!
added value: props.value (and a note that this works as long as strictNullChecks is disabled).
and added a console.warn in case of missing value on a checkboxgroup item, since other disallowed props (e.g. isSelected) are also handled that way. if you think it's better to throw, i'll adjust.
sidenote: any reason to not make Checkbox and CheckboxGroupItem two components on top of a CheckboxBase (like with TextFieldBase or ListBoxBase? then both could be explicit about which props they accept (and also avoid the conditional hook call?)

I had the thought to create a second component, but it would be a breaking change to pull that out of Checkbox as it currently is. It's also more to educate people on that a Checkbox can be used alone, but in a group they must use this specialized Checkbox. It might be something to explore further down the road.

Mainly we wanted to avoid unnecessarily large API surface area. IMO it seems a bit much to make a whole new component just to make one prop required. 🤷

Mainly we wanted to avoid unnecessarily large API surface area. IMO it seems a bit much to make a whole new component just to make one prop required.

makes sense! (it's isSelected, defaultSelected, isEmphasized props as well however)


documentation: unify how system tables are represented

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b03e138). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #6389   +/-   ##
=========================================
  Coverage          ?   83.22%
  Complexity        ?    12891
=========================================
  Files             ?     1482
  Lines             ?    48644
  Branches          ?     5908
=========================================
  Hits              ?    40483
  Misses            ?     5410
  Partials          ?     2751

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 b03e138...7327389. Read the comment docs.


Provide default response-format?

Currently, people need to provide a response format with every request, by requiring ajax.core and calling (ajax/json-response-format {:keywords? true}) or similar. cljs-ajax doesn't allow using keywords in ajax-call to lookup response formats because that will defeat dead code elimination. I can see two options:

Create an atom where people can set a default response format
Change the reg-fx to be inside a function, and let people call it with a default response format as a parameter. This could also be extended to let people provide default interceptors and other default parameters in the request map.

I'm probably leaning towards 2, but interested in other feedback.

I would love to have that or at least be able to provide an interceptor that adds a default respones format. Usually in a web application you decide for one format once (being in a clojure environment it will most probably be transit) and then go with it for the rest of the applications life. It is cumbersome to have to provide it in every request one makes.


Ensure compatibility check readiness

Coming from https://github.com/opensearch-project/opensearch-devops/issues/114#issuecomment-1548868449
Overview
In order to detect the breaking changes between OpenSearch (core/min) and plugins, we recently onboarded a compatibility check gradle task with OpenSearch. See the pull request.
The task is dependent on publishToMavenLocal task (that publishes the core engine artifacts to maven local). It then clones the plugins' repository in temporary directory and runs ./gradlew assemble.
Action Items
In order to avoid false positives and false negatives, we need to make sure the tasks in below checklist are complete:

[ ] The build.gradle file in this repository uses mavenLocal() as the first entry in repositories() section. This will ensure that when core/min dependencies are published to maven local, gradle looks at maven local first and gets the required core/min dependencies rather than fetching from snapshots or maven central resulting in false checks.
[ ] ./gradlew assemble task passes for the plugin build. If the task itself is broken, checking compatitibility is irrelevant as it will always fail.

Please close this issue once the above checklist is complete.
Thanks!

@vamshin to do the task assignment

@vamshin can you please provide an update?

[x]  mavenLocal() is the first entry in repositories() section in build.gradle in both main and 2.x branch.
[ ] ./gradlew assemble is failing on both the branches due to some changes in opensearch core causing the build to fail. Will validate again after the build is fixed.