"validators_disconnect.sh" NCTL test passes correctly with Highway, but fails with Zug

When Zug is enabled, network fails to resume operation after the previously disabled validators are started again

Follow-up point from L1 Daily on 17-Sep-24;

Determine how much work remains to be done for the protocol state persistence.

Update from Bart in the L1 Daily on 18-Sep-24;

Regarding the persistence of consensus state - what Zug persists isn't really the state, but it should be sufficient for resuming operation AFAICT. For Highway, the effort depends slightly on where we would want to store the state - storage, or some additional files similar to currently used unit files? Storage would be slightly more effort, but with it now being available in other components as an object (and not just through events/effects) it should not be too hard, either.

@devendran-m Those updates would fit #3904 better than this ticket, I think. This one is about a failing test and likely completely unrelated to the persistence of protocol state.

Please find the summary from the discussion between @fizyk20  and @EdHastingsCasperAssociation on the possible root cause and the next steps;
Issue: Validators in the ZUG environment increase their timeouts during a network stall. In some cases, timeouts reach 10 minutes, preventing recovery when disconnected validators rejoin.
Impact: Long timeouts during prolonged stalls (e.g., Mainnet outages) could make the network unrecoverable.
Proposed Solution:

Bart suggested a hardcoded upper bound on timeouts, tested with 40 seconds, which resolved the issue.
Ed inquired why an unbounded timeout was used initially. Bart suggested it was likely an oversight and tied to network adaptation to delays.

Timeout Value Discussion:

Ed suggested using a low upper bound (1 second), but Bart explained this would cause unnecessary round skipping.
Bart proposed using triple the maximum round length (48 seconds) to account for slow validators.

Next Steps:

Immediate fix: Set timeout upper bound to 48 seconds.
Bart to continue the further investigation via a new discovery ticket.


Webhook enums are missing conversation:start trigger

The Webhook enums are missing an entry for the conversation:start trigger.
Tested on version: 5.16.0
I note that the trigger name is definitely valid -- if I call the webhook creation methods and pass that as a string, it works fine and I receive the appropriate callbacks. However it's not possible to do it using the built-in enum classes.
https://github.com/smooch/smooch-java/blob/master/src/main/java/io/smooch/client/model/Enums.java

Thanks Toby! Looks like an oversight. We'll sort this out.

Fixed with 5.17.0. Thanks for catching this!


Added forcePullImage parameter for the container model

This is a new parameter for the upcoming 8.2 release added here:
https://github.com/mesosphere/marathon/commit/2a657006965c13585b1ebca939ce0ed2cb21b21a
This is my first time in this code base. I think I'm doing it right?

Pretty much, but could you change it to force_pull_image instead (PEP-8). It'll automatically be translated to camel case:
https://github.com/thefactory/marathon-python/blob/master/marathon/models/base.py#L22
https://github.com/thefactory/marathon-python/blob/master/marathon/util.py#L50
Thanks!

Ah! Updated.

:+1:, excellent, thanks for the PR!


fix: Theme state logic to account for non-prefers-color-scheme usage

What kind of change does this pull request introduce?
Fixes a regression where themes are not updated on change.
Closes: #1080
What is the current behavior?
Themes don't change when the theme prop is updated
What is the new behavior?
Themes now change as expected
What steps did you take to test this? This is required before we can merge, make sure to test the flow you've updated.

yarn dev:react
-open http://localhost:6006/?path=/story/presets-themes--theme-switcher
Toggle select box
Works ✅

Checklist

[x] Documentation;
[x] Storybook (if applicable);
[x] Tests;
[x] Ready to be merged;

No worries! Thanks for the review!


netlify: add config file (for #26)

Resolves #26
Adds the following Netlify config:

build command is npm run prod
directory to publish is dist/
staging environment variables areNODE_ENV = "production"
ELEVENTY_ENV = "staging"

production environment variables areNODE_ENV = "production"
ELEVENTY_ENV = "production"

In addition to adding out-of-the-box support for Netlify this file is clarify summary of the build command and the roles of the env var, something which wasn't immediately clear to me.
Also added Netlify to the selling points in the README. Your calling out "preconfigured for Forestry.io" is a big part of what inspired me to try this out when I picked a few 11ty starters to experiment with, and I can imagine Netlify might catch someone else's eye. The 🚀 doesn't really fit the rest of your emoji, won't be surprised if you want to change it!

Sorry I've been a bit out of it recently. I haven't tested this myself but merging it in. Everything looks solid. Thank you!

No problem at all, and I hope things take a turn for the better


fixed dates from today not showing up correctly

@joeyede can't we just compare today's date to the protest date? Why is it needed create a UTC version for each?

Need to extract dates to create date object that has no time (actually 00:00:00 time) so that we are only comparing the date element.  Seems safer to do in UTC to avoid timezone difference that is what sample code I found recommended as well.


DateTimePlugin: Update every second

Increase update frequency of DateTimePlugin from minute to second.
This allows to use Pixelix as a digitial clock with also accurate second display.

Thx!

Note: The period for reading the clock is still 1s and not 500ms according to shannon. :-)


/proc/self/setgroups write should be conditional

On my kernel this file doesn't exist and can't be created.
Linux rustmouth 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt2-1 (2014-12-08) x86_64 GNU/Linux

Then isn't your kernel insecure and should be upgraded immediately‽

No, if I remember correctly, not having it is fine if the kernel does not support userns.
See https://security-tracker.debian.org/tracker/CVE-2014-8989 for this specific case.


Format belongs_to URLs

When using the dasherized formatter, I discovered that URLs created for belongs_to associations did not get dasherized. For example .where(some_table_id: 5) becomes /some_table/5 rather than /some-table/5. This pull request fixes that issue.

Thanks for this. Can you add a test for this so that we don't regress in the future?


[ENH] Revisions to classifier base class

Fixes #51 part of #42
this can be advanced now no classifiers now override fit

Make fit/predict/predict_proba final
Add a test to check subclasses dont overrride fit/predict/predict_proba (since, python)
Remove the tests test_multivariate_input_exception and test_handles_single_class
since these are handled in the base class and tested in base class tests
Fixes https://github.com/aeon-toolkit/aeon/issues/51 by checking y input type
Adds a test to test_all_classifiers to make sure tags capability:unequal_length and x_internal_type are consistent
Restructure BaseClassifier fit and predict to this type of thing (see code for exact), using the consolidated conversion in aeon.utils.validation.collections.

fit(X, y):
  metadata = checkX(X)  # checks X a valid input type and against the capabilities against the data
  X = convertX(X)   # converts X to the tag x_inner_type
  y = check_y(y)  # checks y
#Other stuff
 self._fit(x,y)

note that early classification needs looking at, because currently it makes a static call to BaseClassifier object methods such as fit, which causes errors if object attributes are altered in object methods. It does not extend BaseClassifier for valid reasons, so I have had to clone the checking methods which use data stored in the object. I think at some point we should redesign base early classifier
this is largely cosmetic tbh, but I think its much clearer and will make it easier to insert a collection class between base estimator and the collection base classes

Do deep learners follow these new adaptations ?

Do deep learners follow these new adaptations ?

deep learning classifiers will simply inherit all this, so no need to change them at all. Similar for regressors and clusterers, for the next stage

@MatthewMiddlehurst I think I have dealt with the comments and changes. Re the docstrings, they need some work in formatting but will wait until after #650 is in. Re test changes
test_all_classifiers:
test_handles_single_class removed: this is now tested in the base class only, not for all classifier
test_classifier_output: no longer runs the whole check is sytype, which was used purely to get number of cases
test_classifier_tags_consistent: added to make sure data tags do not contradict eachother. So if capability:unequal length is true, then the inner_type must contain a data structure able to handle unequal length
test_base
switched from DummyClassifier to _TestClassifier to avoid confusion with concrete DummyClassifier
removed capability testing, replaced with testing for checkX and convertX (these are moving in #650 so will revise this then)
added testing for previously uncovered or new methods

I ran through some of the edge cases locally on the new base class, and I'm happy that they are being covered sufficiently and tested elsewhere. Fine to approve when tests pass (seems like EC stuff missed the rename).


Sbit updates

I've added the Industry Partners, Faculty & Staff, and Student Supports pages. I linked your Welding page to my css alongside yours and made changes as needed- some elements of the HTML had to be changed to make it work for the time being until we combine the CSS and decide which way to go. I also added some minor temporary fixes to the very bottom of your CSS to make things cooperate for now. The shadow under the mega menu should be fixed as well as the max font sizing on larger screens. I also brought in the columns in the mega menu as much as I could without squishing any link text/sending it to the next line.

Success:
The margins are much better for left and right and the space between items vertically seems correct. Thanks for working on those!
Needs Changes If Possible:
The margin is still a little wide on the right side compared to the left on the desktop view. The courses headings in various places want to justify their alignment mainly from tablet view to mobile. Left alignment was the intent for those. Also, their descriptions have become justified, too. They become more difficult to read when seen in mobile view because of over running text and large widows between words, which is often the behavior of justified text on small line lengths.


Vertex pair api update as per cugraph 0.12 for link prediction

This fix will be needed after the PR linked above is merged in cuGraph


Type-box mixin

Adds ability to set box-like items in content flow without upsetting baseline. Very basic right now, needs:

better unit handling (allow parameters to be set in px, rem, or baseline units)
tests
bug fixes for small sizes, where it doesn't always work as expected

Is direct fix for #4, but might also help solve #5

Hi,
first of all thanks for this, I think this is an essential feature.
It looks like that the padding calculation is off tho, at least when borders are specified; to have the text inside the box actually on the baseline I need this change:
diff --git a/megatype/_box.scss b/megatype/_box.scss
index 4511e30..eab4f93 100644
--- a/megatype/_box.scss
+++ b/megatype/_box.scss
@@ -31,7 +31,7 @@
         padding: $padding;
         $total: $padding + $line-height * $size;
     } @else {
-        padding: $padding - $border /2;
+        padding: $padding - $border;
         border-width: rem-to-px($border);
         $total: $padding + $line-height * $size;
     }

Plus, in the current implementation the $total calculation could be factored out of the condition, as it's the same in both branches.
Finally I noticed that when passing $size in rems it is important to apply type-box() in a way consistent with $current-rootsize because the code does use rem-to-px() and px-to-rem().
This could not be obvious to a new megatype user (I wasn't to me), so a comment could be useful to stress to pass rem units only inside a media or all-breakpoints mixin.
Otherwise, when the breakpoint changes the text could go off the baseline.
The example code could also show that:
diff --git a/megatype/_box.scss b/megatype/_box.scss
index 4511e30..e4ea1de 100644
--- a/megatype/_box.scss
+++ b/megatype/_box.scss
@@ -61,7 +61,9 @@
 //     font-family: font-family-of($sans);
 //     background-color: tomato;

-//     @include type-box(1rem, 1, 0.5rem, 1rem);
+//     @include all-breakpoints {
+//        @include type-box(1rem, 1, 0.5rem, 1rem);
+//     }

 //     &,
 //     &:hover,
@@ -79,8 +81,10 @@
 // .button-outline {
 //     background-color: transparent;
 //     color: tomato;
-//     @include type-box(1rem, 1, 0.5rem, 1rem, 1px);
-//     border-style: solid;
+//     @include all-breakpoints {
+//         @include type-box(1rem, 1, 0.5rem, 1rem, 1px);
+//         border-style: solid;
+//     }

 //     &:hover,
 //     &:focus {

Hi I think I could work on "better unit handling  (allow parameters to be set in px, rem, or baseline units)" myself to move this forward and try to have the functionality in shape for a stable release.
However I don't feel confident working on the typographic details, for instance noticed that nested boxes do not always align to the baseline, and it is not clear to me if a 'type-box()' call is supposed to be accompanied always by a 'typeset()' definition.


Humble - controller_stopper_node-3 dies

Description
We try to connect and control an ur10e robot, but when starting the driver the controller_stopper_node-3 stops working. In rviz the robot model does load in the correct configuration.
It look similar to #467 but this is in humble and still happens.
My setup

OS: Ubuntu 22.04.1
ROS Distro: Humble
Binary install (moveit freshly build from source today)

Command

ros2 launch ur_robot_driver ur10e.launch.py robot_ip:=$ROBOT_IP

Result
...
[ur_ros2_control_node-1] [INFO] [1665131344.158516370] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-6] [INFO] [1665131344.167322827] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665131344.168809553] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665131344.168913586] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-6] [INFO] [1665131344.176996644] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665131344.182764371] [controller_manager]: Loading controller 'io_and_status_controller'
[spawner-7] [INFO] [1665131344.197534407] [spawner_io_and_status_controller]: Loaded io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1665131344.206610635] [controller_manager]: Configuring controller 'io_and_status_controller'
[spawner-7] [INFO] [1665131344.218934938] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1665131344.225197671] [controller_manager]: Loading controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1665131344.233012525] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster'
[spawner-10] [INFO] [1665131344.233646284] [spawner_forward_position_controller]: Loaded forward_position_controller
[spawner-8] [INFO] [1665131344.243646925] [spawner_speed_scaling_state_broadcaster]: Loaded speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665131344.244120852] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1665131344.253453691] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ur_ros2_control_node-1] [INFO] [1665131344.254731337] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster'
[spawner-11] [INFO] [1665131344.255547406] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1665131344.270571515] [controller_manager]: Configuring controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1665131344.271246546] [forward_position_controller]: configure successful
[ur_ros2_control_node-1] [INFO] [1665131344.271350093] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665131344.271404466] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz
[ur_ros2_control_node-1] [INFO] [1665131344.271979381] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1665131344.272065871] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ur_ros2_control_node-1] [INFO] [1665131344.272098423] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ur_ros2_control_node-1] [INFO] [1665131344.272133367] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ur_ros2_control_node-1] [INFO] [1665131344.272139570] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method.
[ur_ros2_control_node-1] [INFO] [1665131344.272893931] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz.
[ur_ros2_control_node-1] [INFO] [1665131344.273658131] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-9] [INFO] [1665131344.276380959] [spawner_force_torque_sensor_broadcaster]: Loaded force_torque_sensor_broadcaster
[ur_ros2_control_node-1] [INFO] [1665131344.280659383] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster'
[spawner-8] [INFO] [1665131344.281488813] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster
[spawner-11] [INFO] [1665131344.286829273] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller
[spawner-9] [INFO] [1665131344.289816377] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster
[INFO] [spawner-6]: process has finished cleanly [pid 20934]
[INFO] [spawner-7]: process has finished cleanly [pid 20936]
[INFO] [spawner-10]: process has finished cleanly [pid 20979]
[INFO] [spawner-8]: process has finished cleanly [pid 20938]
[INFO] [spawner-9]: process has finished cleanly [pid 20944]
[INFO] [spawner-11]: process has finished cleanly [pid 20985]
[ERROR] [controller_stopper_node-3]: process has died [pid 20928, exit code -11, cmd '/opt/ros/humble/lib/ur_robot_driver/controller_stopper_node --ros-args -r __node:=controller_stopper --params-file /tmp/launch_params_xir_w6lv --params-file /tmp/launch_params_bn2wclh1 --params-file /tmp/launch_params_fmq37h2r'].

Do you see any previous error output? It is always helpful to post the full launch output, as in earlier log messages there might be relevant information, not only on the actual error line. Without any further error output, we'd need to debug the controller_stopper crash further.
To do so, you'd need to build the driver from source and run it inside gdb. A first step would be to build the driver from source and see whether the error is reproducible with that (because I haven't been able to reproduce that, so it's not an always-present bug). If it is, we can build the ur_robot_driver package in debug mode and run it inside gdb for a further backtrace.
To build the driver with debug info, go to your colcon workspace and run
colcon build --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo  --packages-select ur_robot_driver

To run the controller_stopper in gdb, add the following line after this line
prefix=['xterm -e gdb -ex run --args'],

This will start the controller_stopper node in an extra window. If it crashes there, type bt and hit enter. Please then post the output here.
Thank you!

I build from source and that solved the issue. In case it is of interest I did clean up the complete output a bit more and included both the binary and build from source logs.
Sadly I now run into the same issue as #438, I looked at that but wasn't able to solve it.

binary logs
ros2 launch ur_robot_driver ur10e.launch.py robot_ip:=$ROBOT_IP
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [63443]
[INFO] [controller_stopper_node-3]: process started with pid [63445]
[INFO] [ur_ros2_control_node-1]: process started with pid [63441]
[INFO] [robot_state_publisher-4]: process started with pid [63447]
[INFO] [rviz2-5]: process started with pid [63449]
[INFO] [spawner-6]: process started with pid [63451]
[INFO] [spawner-7]: process started with pid [63453]
[INFO] [spawner-8]: process started with pid [63455]
[INFO] [spawner-9]: process started with pid [63457]
[INFO] [spawner-10]: process started with pid [63459]
[INFO] [spawner-11]: process started with pid [63461]
[rviz2-5] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[controller_stopper_node-3] [INFO] [1665141725.214655679] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[ur_ros2_control_node-1] [INFO] [1665141725.242495122] [resource_manager]: Loading hardware 'ur10e'
[robot_state_publisher-4] Link base_link had 2 children
[robot_state_publisher-4] Link base had 0 children
[robot_state_publisher-4] Link base_link_inertia had 1 children
[robot_state_publisher-4] Link shoulder_link had 1 children
[robot_state_publisher-4] Link upper_arm_link had 1 children
[robot_state_publisher-4] Link forearm_link had 1 children
[robot_state_publisher-4] Link wrist_1_link had 1 children
[robot_state_publisher-4] Link wrist_2_link had 1 children
[robot_state_publisher-4] Link wrist_3_link had 2 children
[robot_state_publisher-4] Link flange had 1 children
[robot_state_publisher-4] Link tool0 had 0 children
[robot_state_publisher-4] Link ft_frame had 0 children
[robot_state_publisher-4] [INFO] [1665141725.244959749] [robot_state_publisher]: got segment base
[robot_state_publisher-4] [INFO] [1665141725.245085030] [robot_state_publisher]: got segment base_link
[robot_state_publisher-4] [INFO] [1665141725.245095952] [robot_state_publisher]: got segment base_link_inertia
[robot_state_publisher-4] [INFO] [1665141725.245102076] [robot_state_publisher]: got segment flange
[robot_state_publisher-4] [INFO] [1665141725.245107339] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-4] [INFO] [1665141725.245112556] [robot_state_publisher]: got segment ft_frame
[robot_state_publisher-4] [INFO] [1665141725.245118283] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-4] [INFO] [1665141725.245123880] [robot_state_publisher]: got segment tool0
[robot_state_publisher-4] [INFO] [1665141725.245129500] [robot_state_publisher]: got segment upper_arm_link
[robot_state_publisher-4] [INFO] [1665141725.245134877] [robot_state_publisher]: got segment world
[robot_state_publisher-4] [INFO] [1665141725.245140572] [robot_state_publisher]: got segment wrist_1_link
[robot_state_publisher-4] [INFO] [1665141725.245146177] [robot_state_publisher]: got segment wrist_2_link
[robot_state_publisher-4] [INFO] [1665141725.245151839] [robot_state_publisher]: got segment wrist_3_link
[ur_ros2_control_node-1] [INFO] [1665141725.260809789] [resource_manager]: Initialize hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665141725.261713747] [resource_manager]: Successful initialization of hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665141725.262401802] [resource_manager]: 'configure' hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665141725.262813194] [resource_manager]: Successful 'configure' of hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665141725.263258918] [resource_manager]: 'activate' hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665141725.263700556] [URPositionHardwareInterface]: Starting ...please wait...
[ur_ros2_control_node-1] [INFO] [1665141725.264129849] [URPositionHardwareInterface]: Initializing driver...
[ur_ros2_control_node-1] Warning: No realtime capabilities found. Consider using a realtime system for better performance
[ur_ros2_control_node-1]          at line 396 in ./include/ur_client_library/comm/pipeline.h
[spawner-11] [INFO] [1665141725.466917643] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist
[spawner-7] [INFO] [1665141725.472303745] [spawner_io_and_status_controller]: Waiting for '/controller_manager' services to be available
[spawner-10] [INFO] [1665141725.477918425] [spawner_forward_position_controller]: Waiting for '/controller_manager' services to be available
[spawner-8] [INFO] [1665141725.486147805] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-6] [INFO] [1665141725.492462916] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-9] [INFO] [1665141725.497533681] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' node to exist
[rviz2-5] [INFO] [1665141725.527426982] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-5] [INFO] [1665141725.527578705] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-5] [INFO] [1665141725.542380557] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[ur_ros2_control_node-1] [INFO] [1665141726.448931390] [URPositionHardwareInterface]: Calibration checksum: 'calib_5119701370761913513'.
[ur_ros2_control_node-1] Warning: No realtime capabilities found. Consider using a realtime system for better performance
[ur_ros2_control_node-1]          at line 396 in ./include/ur_client_library/comm/pipeline.h
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[spawner-8] [INFO] [1665141727.500200701] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-6] [INFO] [1665141727.505411177] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[ur_ros2_control_node-1] [ERROR] [1665141727.507291808] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details.
[ur_ros2_control_node-1] Error:   Unsuccessful in setting producer thread realtime priority. Error code: 1
[ur_ros2_control_node-1]          at line 366 in ./include/ur_client_library/comm/pipeline.h
[ur_ros2_control_node-1] Error:   Producer thread: Scheduling is NOT SCHED_FIFO!
[ur_ros2_control_node-1]          at line 379 in ./include/ur_client_library/comm/pipeline.h
[ur_ros2_control_node-1] [INFO] [1665141727.507856016] [URPositionHardwareInterface]: System successfully started!
[ur_ros2_control_node-1] [INFO] [1665141727.507922585] [resource_manager]: Successful 'activate' of hardware 'ur10e'
[spawner-9] [INFO] [1665141727.509833555] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' services to be available
[controller_stopper_node-3] [INFO] [1665141727.517159758] [Controller stopper]: Service available
[controller_stopper_node-3] [INFO] [1665141727.517208439] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers
[controller_stopper_node-3] [INFO] [1665141727.517237147] [Controller stopper]: Service available
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[ur_ros2_control_node-1] [INFO] [1665141727.684249806] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller'
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[ur_ros2_control_node-1] [INFO] [1665141727.694885336] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[spawner-11] [INFO] [1665141727.696946716] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1665141727.697725855] [controller_manager]: Loading controller 'io_and_status_controller'
[ur_ros2_control_node-1] [INFO] [1665141727.702199251] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1665141727.702307206] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ur_ros2_control_node-1] [INFO] [1665141727.702339025] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ur_ros2_control_node-1] [INFO] [1665141727.702385674] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ur_ros2_control_node-1] [INFO] [1665141727.702394602] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method.
[spawner-7] [INFO] [1665141727.702761343] [spawner_io_and_status_controller]: Loaded io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1665141727.704069338] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz.
[ur_ros2_control_node-1] [INFO] [1665141727.706012977] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[ur_ros2_control_node-1] [INFO] [1665141727.709723617] [controller_manager]: Loading controller 'forward_position_controller'
[ur_ros2_control_node-1] [INFO] [1665141727.716409465] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster'
[spawner-10] [INFO] [1665141727.718616574] [spawner_forward_position_controller]: Loaded forward_position_controller
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[ur_ros2_control_node-1] [INFO] [1665141727.729185333] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner-8] [INFO] [1665141727.729993856] [spawner_speed_scaling_state_broadcaster]: Loaded speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665141727.738355298] [controller_manager]: Configuring controller 'io_and_status_controller'
[spawner-6] [INFO] [1665141727.739217476] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665141727.742493722] [controller_manager]: Configuring controller 'forward_position_controller'
[spawner-11] [INFO] [1665141727.743512604] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1665141727.743669356] [forward_position_controller]: configure successful
[ur_ros2_control_node-1] [INFO] [1665141727.743961763] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665141727.744023620] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[spawner-7] [INFO] [1665141727.766100754] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller
[spawner-6] [INFO] [1665141727.774294156] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665141727.799283336] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster'
[spawner-9] [INFO] [1665141727.817747674] [spawner_force_torque_sensor_broadcaster]: Loaded force_torque_sensor_broadcaster
[ur_ros2_control_node-1] [INFO] [1665141727.819063068] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665141727.819297332] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz
[ur_ros2_control_node-1] [INFO] [1665141727.822379754] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster'
[spawner-8] [INFO] [1665141727.829215555] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster
[spawner-9] [INFO] [1665141727.833339697] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster
[INFO] [spawner-10]: process has finished cleanly [pid 63459]
[INFO] [spawner-11]: process has finished cleanly [pid 63461]
[INFO] [spawner-6]: process has finished cleanly [pid 63451]
[INFO] [spawner-7]: process has finished cleanly [pid 63453]
[INFO] [spawner-8]: process has finished cleanly [pid 63455]
[INFO] [spawner-9]: process has finished cleanly [pid 63457]
[ERROR] [controller_stopper_node-3]: process has died [pid 63445, exit code -11, cmd '/opt/ros/humble/lib/ur_robot_driver/controller_stopper_node --ros-args -r __node:=controller_stopper --params-file /tmp/launch_params_etjifu48 --params-file /tmp/launch_params_w8x_kaid --params-file /tmp/launch_params_j9437fyf'].

build from source logs
ros2 launch ur_robot_driver ur10e.launch.py robot_ip:=$ROBOT_IP
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [dashboard_client-2]: process started with pid [20123]
[INFO] [controller_stopper_node-3]: process started with pid [20125]
[INFO] [ur_ros2_control_node-1]: process started with pid [20121]
[INFO] [robot_state_publisher-4]: process started with pid [20127]
[INFO] [rviz2-5]: process started with pid [20129]
[INFO] [spawner-6]: process started with pid [20131]
[INFO] [spawner-7]: process started with pid [20133]
[INFO] [spawner-8]: process started with pid [20137]
[INFO] [spawner-9]: process started with pid [20139]
[INFO] [spawner-10]: process started with pid [20161]
[INFO] [spawner-11]: process started with pid [20187]
[robot_state_publisher-4] Link base_link had 2 children
[robot_state_publisher-4] Link base had 0 children
[robot_state_publisher-4] Link base_link_inertia had 1 children
[robot_state_publisher-4] Link shoulder_link had 1 children
[robot_state_publisher-4] Link upper_arm_link had 1 children
[robot_state_publisher-4] Link forearm_link had 1 children
[robot_state_publisher-4] Link wrist_1_link had 1 children
[robot_state_publisher-4] Link wrist_2_link had 1 children
[robot_state_publisher-4] Link wrist_3_link had 2 children
[robot_state_publisher-4] Link flange had 1 children
[robot_state_publisher-4] Link tool0 had 0 children
[robot_state_publisher-4] Link ft_frame had 0 children
[robot_state_publisher-4] [INFO] [1665412263.348796922] [robot_state_publisher]: got segment base
[robot_state_publisher-4] [INFO] [1665412263.348926806] [robot_state_publisher]: got segment base_link
[robot_state_publisher-4] [INFO] [1665412263.348940015] [robot_state_publisher]: got segment base_link_inertia
[robot_state_publisher-4] [INFO] [1665412263.348946615] [robot_state_publisher]: got segment flange
[robot_state_publisher-4] [INFO] [1665412263.348952986] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-4] [INFO] [1665412263.348959567] [robot_state_publisher]: got segment ft_frame
[robot_state_publisher-4] [INFO] [1665412263.348966242] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-4] [INFO] [1665412263.348972484] [robot_state_publisher]: got segment tool0
[robot_state_publisher-4] [INFO] [1665412263.348979582] [robot_state_publisher]: got segment upper_arm_link
[robot_state_publisher-4] [INFO] [1665412263.348985971] [robot_state_publisher]: got segment world
[robot_state_publisher-4] [INFO] [1665412263.348992193] [robot_state_publisher]: got segment wrist_1_link
[robot_state_publisher-4] [INFO] [1665412263.348998207] [robot_state_publisher]: got segment wrist_2_link
[robot_state_publisher-4] [INFO] [1665412263.349004347] [robot_state_publisher]: got segment wrist_3_link
[rviz2-5] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[controller_stopper_node-3] [INFO] [1665412263.362236283] [Controller stopper]: Waiting for switch controller service to come up on controller_manager/switch_controller
[ur_ros2_control_node-1] [INFO] [1665412263.377820228] [resource_manager]: Loading hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.380853521] [resource_manager]: Initialize hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.380945504] [resource_manager]: Successful initialization of hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.381721665] [resource_manager]: 'configure' hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.381739166] [resource_manager]: Successful 'configure' of hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.381768185] [resource_manager]: 'activate' hardware 'ur10e'
[ur_ros2_control_node-1] [INFO] [1665412263.381779113] [URPositionHardwareInterface]: Starting ...please wait...
[ur_ros2_control_node-1] [INFO] [1665412263.381798354] [URPositionHardwareInterface]: Initializing driver...
[ur_ros2_control_node-1] Warning: No realtime capabilities found. Consider using a realtime system for better performance
[ur_ros2_control_node-1]          at line 396 in ./include/ur_client_library/comm/pipeline.h
[spawner-6] [INFO] [1665412263.564825836] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-8] [INFO] [1665412263.573849356] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-9] [INFO] [1665412263.592909397] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' node to exist
[spawner-7] [INFO] [1665412263.607061193] [spawner_io_and_status_controller]: Waiting for '/controller_manager' node to exist
[spawner-10] [INFO] [1665412263.627804787] [spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist
[spawner-11] [INFO] [1665412263.635032910] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist
[rviz2-5] [INFO] [1665412263.641157111] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-5] [INFO] [1665412263.641295351] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-5] [INFO] [1665412263.655702544] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[ur_ros2_control_node-1] [INFO] [1665412264.848693927] [URPositionHardwareInterface]: Calibration checksum: 'calib_5119701370761913513'.
[ur_ros2_control_node-1] Warning: No realtime capabilities found. Consider using a realtime system for better performance
[ur_ros2_control_node-1]          at line 396 in ./include/ur_client_library/comm/pipeline.h
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[spawner-6] [INFO] [1665412265.578951356] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-8] [INFO] [1665412265.587502345] [spawner_speed_scaling_state_broadcaster]: Waiting for '/controller_manager' services to be available
[spawner-9] [INFO] [1665412265.606464576] [spawner_force_torque_sensor_broadcaster]: Waiting for '/controller_manager' services to be available
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[spawner-7] [INFO] [1665412265.619525221] [spawner_io_and_status_controller]: Waiting for '/controller_manager' services to be available
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[spawner-10] [INFO] [1665412265.640000021] [spawner_forward_position_controller]: Waiting for '/controller_manager' services to be available
[spawner-11] [INFO] [1665412265.647685494] [spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' services to be available
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
...
[ur_ros2_control_node-1] [ERROR] [1665412265.906935302] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details.
[ur_ros2_control_node-1] Error:   Unsuccessful in setting producer thread realtime priority. Error code: 1
[ur_ros2_control_node-1]          at line 366 in ./include/ur_client_library/comm/pipeline.h
[ur_ros2_control_node-1] Error:   Producer thread: Scheduling is NOT SCHED_FIFO!
[ur_ros2_control_node-1]          at line 379 in ./include/ur_client_library/comm/pipeline.h
[ur_ros2_control_node-1] [INFO] [1665412265.907395786] [URPositionHardwareInterface]: System successfully started!
[ur_ros2_control_node-1] [INFO] [1665412265.907437761] [resource_manager]: Successful 'activate' of hardware 'ur10e'
[controller_stopper_node-3] [INFO] [1665412265.914859817] [Controller stopper]: Service available
[controller_stopper_node-3] [INFO] [1665412265.914912247] [Controller stopper]: Waiting for list controllers service to come up on controller_manager/list_controllers
[controller_stopper_node-3] [INFO] [1665412265.914943623] [Controller stopper]: Service available
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[ur_ros2_control_node-1] [INFO] [1665412266.024639391] [controller_manager]: Loading controller 'joint_state_broadcaster'
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[ur_ros2_control_node-1] [INFO] [1665412266.034993023] [controller_manager]: Loading controller 'speed_scaling_state_broadcaster'
[spawner-6] [INFO] [1665412266.035346779] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665412266.042907626] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665412266.043035479] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-8] [INFO] [1665412266.043321497] [spawner_speed_scaling_state_broadcaster]: Loaded speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665412266.047721900] [controller_manager]: Configuring controller 'speed_scaling_state_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665412266.047790742] [speed_scaling_state_broadcaster]: Publisher rate set to : 100.0 Hz
[ur_ros2_control_node-1] [INFO] [1665412266.049361077] [controller_manager]: Loading controller 'forward_position_controller'
[rviz2-5] Warning: Invalid frame ID "forearm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "shoulder_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "upper_arm_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_1_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[rviz2-5] Warning: Invalid frame ID "wrist_2_link" passed to canTransform argument source_frame - frame does not exist
[rviz2-5]          at line 93 in ./src/buffer_core.cpp
[spawner-10] [INFO] [1665412266.058678143] [spawner_forward_position_controller]: Loaded forward_position_controller
[spawner-8] [INFO] [1665412266.062372872] [spawner_speed_scaling_state_broadcaster]: Configured and activated speed_scaling_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665412266.065156499] [controller_manager]: Loading controller 'scaled_joint_trajectory_controller'
[spawner-6] [INFO] [1665412266.066418096] [spawner_joint_state_broadcaster]: Configured and activated joint_state_broadcaster
[ur_ros2_control_node-1] [INFO] [1665412266.073655577] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ur_ros2_control_node-1] [INFO] [1665412266.075032786] [controller_manager]: Configuring controller 'forward_position_controller'
[spawner-11] [INFO] [1665412266.075907389] [spawner_scaled_joint_trajectory_controller]: Loaded scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1665412266.076262376] [forward_position_controller]: configure successful
[ur_ros2_control_node-1] [INFO] [1665412266.080111440] [controller_manager]: Configuring controller 'scaled_joint_trajectory_controller'
[ur_ros2_control_node-1] [INFO] [1665412266.080404951] [scaled_joint_trajectory_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ur_ros2_control_node-1] [INFO] [1665412266.080467128] [scaled_joint_trajectory_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ur_ros2_control_node-1] [INFO] [1665412266.080506925] [joint_trajectory_controller.interpolation_methods]: No interpolation method parameter was given. Using the default, VARIABLE_DEGREE_SPLINE.
[ur_ros2_control_node-1] [INFO] [1665412266.080514219] [scaled_joint_trajectory_controller]: Using 'splines' interpolation method.
[ur_ros2_control_node-1] [INFO] [1665412266.081390203] [scaled_joint_trajectory_controller]: Controller state will be published at 100.00 Hz.
[ur_ros2_control_node-1] [INFO] [1665412266.082177726] [scaled_joint_trajectory_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-11] [INFO] [1665412266.101032949] [spawner_scaled_joint_trajectory_controller]: Configured and activated scaled_joint_trajectory_controller
[ur_ros2_control_node-1] [INFO] [1665412266.112971717] [controller_manager]: Loading controller 'force_torque_sensor_broadcaster'
[ur_ros2_control_node-1] [INFO] [1665412266.127035629] [controller_manager]: Loading controller 'io_and_status_controller'
[spawner-9] [INFO] [1665412266.129794457] [spawner_force_torque_sensor_broadcaster]: Loaded force_torque_sensor_broadcaster
[ur_ros2_control_node-1] [INFO] [1665412266.136913762] [controller_manager]: Configuring controller 'force_torque_sensor_broadcaster'
[spawner-7] [INFO] [1665412266.137571590] [spawner_io_and_status_controller]: Loaded io_and_status_controller
[ur_ros2_control_node-1] [INFO] [1665412266.138453995] [controller_manager]: Configuring controller 'io_and_status_controller'
[spawner-9] [INFO] [1665412266.141638154] [spawner_force_torque_sensor_broadcaster]: Configured and activated force_torque_sensor_broadcaster
[spawner-7] [INFO] [1665412266.149468059] [spawner_io_and_status_controller]: Configured and activated io_and_status_controller
[INFO] [spawner-8]: process has finished cleanly [pid 20137]
[INFO] [spawner-6]: process has finished cleanly [pid 20131]
[INFO] [spawner-10]: process has finished cleanly [pid 20161]
[INFO] [spawner-11]: process has finished cleanly [pid 20187]
[INFO] [spawner-9]: process has finished cleanly [pid 20139]
[INFO] [spawner-7]: process has finished cleanly [pid 20133]

@JSchaaf2 did you try the solution mentioned there to install ros-humble-backward-ros?
I just checked again and on my testing container a binary installation seems to work fine.

Yes but got ros-humble-backward-ros is already the newest version (1.0.2-3jammy.20220519.235224).. Or should i remove my ros install before doing the backward install?
About the binary install: we have 3 computers 2 identical ones with my issue, the third one does not have dying controller issue.

Yes but got ros-humble-backward-ros is already the newest version (1.0.2-3jammy.20220519.235224).. Or should i remove my ros install before doing the backward install?

No. But that means that this is probably not the source of #438 after all

About the binary install: we have 3 computers, 2 identical ones with my issue, the third one does not have dying controller issue.

This is strange. Are they all up to date? Without being able to reproduce this, it is hard to find the source of the problem...

This is strange. Are they all up to date? Without being able to reproduce this, it is hard to find the source of the problem...

As far as i can tell everything is up to date. I did a fresh build of moveit before making this issue, maybe something went wrong there, but I am not (yet) having any issues elsewhere. I do understand the problems with trying to debug something you can't reproduce.
It does seem that if we install everything using the binary installs the issues don't happen. I did not test it on my specific system but have others where it does work. I guess I will close the issue for now.
Thanks for your help

In case other ppl end up here, yes installing everything from binary did solve the issues. I still don't know what caused the issues though.


Support hack

Adding support for Hack (replaces https://github.com/github/linguist/pull/1447)

Shouldnt the .hh files been highlighted after this PR? Missing colors here.... https://github.com/raeesiqbal/QuickPress/blob/master/includes/main.hh

@staabm - actually I think this is due to our recent switch to using Textmate grammars for syntax-highlighting.
We need to set this line to: tm_scope: text.html.php
I'll open up a pull request now with the change.


F/112

Created new staging environment for pr-86. Here are some useful links:
WordPress Admin
Homepage
Article
Listicle
Page
Hub

There are visual regressions!
View the full visual regression test report

Congrats! Frontend performance tests passed!
Full Lighthouse performance results:

Page/Branch
pr-86
master
Result

Homepage
90
59
✔

Article
96
63
✔

Listicle
97
68
✔

Page
97
61
✔

Hub
96
57
✔

(Note: Tests are against the NOADS version of the pages!)

Updated staging environment for pr-86. Here are some useful links:
WordPress Admin
Homepage
Article
Listicle
Page
Hub

There are visual regressions!
View the full visual regression test report

Congrats! Frontend performance tests passed!
Full Lighthouse performance results:

Page/Branch
pr-86
master
Result

Homepage
92
58
✔

Article
95
63
✔

Listicle
97
68
✔

Page
93
61
✔

Hub
97
55
✔

(Note: Tests are against the NOADS version of the pages!)


Update MD file on new branch 2017-11-13_18-24-12

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestRef1.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Adding compatibility with PHP 7.1 and above

Fixing arguments parameters on add_action to add compatibility with PHP 7.1+

Thanks!


Make .zcomp* location configurable

Closes #1841
Proposed Changes
Look up zcompdump and zcompcache and all other cache files in XDG_CACHE_HOME ~if set, otherwise use the zsh default~. I provided additional detail in the linked issue and have tested as thoroughly as I can locally.

I'm not opposed to this, but is there a reason for avoiding ZDOTDIR?

I explained a bit the linked issue. The short version is I made Prezto Homebrew-installable. I commander ZDOTDIR and delegate user configuration to XDG paths as seen in https://github.com/texastoland/zsh-bootstrap/commit/7a593cb945cb2ecbc63ce23a29d3de8a7f84e2a7. That way ZDOTDIR, Prezto, and zgen can be source from /usr/local.

I'm fine accepting this as-is, but I think we also have some separate caching for a number of the modules. It looks like we use the TMPDIR for those... what are your opinions? Would it make sense to move those as well?

Wow I didn't consider TMPDIR. It appears in 8 modules besides external prompts. All usages separate user caches by UID instead of random names using mktemp. I found a really thorough article:

You need a place to put cache files which should be persistent and run unprivileged: use $XDG_CACHE_HOME.
Nothing of the above applies and you need to place a small file that needs no persistency: use $TMPDIR with a fallback on /tmp. And use mkstemp(), and mkdtemp() and nothing homegrown.

I think these all fall squarely into XDG_CACHE_HOME. I agree consistency is more important. Changing them would be a straightforward substitution:
- "${TMPDIR:-/tmp}/blabla-$UID"
+ "${XDG_CACHE_HOME:-/$HOME/.cache}/blabla"

Feedback wanted:

Should the completions still default to ZDOTDIR?
I just added a missing mkdir -p or the caches never got created. Should we do that just once on init?

@belak Done but I don't use these modules for a sanity test. I documented the regex I used to update the paths in the commit message and just checked if mkdir -p was needed.

@belak 🚀

@belak Everything seems to be working locally 🚀

I'm in the process of switching to OMZ. I noticed it uses ZSH_CACHE_DIR pervasively. I could implement that here. They default to a folder inside their package which seems like a common choice among zsh tools. I still think XDG_CONFIG_HOME is more useful.

Sorry I haven't had the time to take a closer look at this lately - I've got quite a bit going on in my personal life and at work.
The main reason I haven't moved on this yet is that I don't know how it will work with nix (or even if it will) and don't have a setup to test with. At this point, I'm tempted to just push it through and fix any issues that come up, but that's not nice to our users.
Hoping to get to this soon, but unfortunately I can't make any promises just yet.

No rush! I don't know nix at all. From a quick search, XDG dirs have been configurable since NixOS/nixpkgs#67389. Take your time, though. I'd switch your local branch and make sure your ~./cache looks fine after a while.
Also note there was an inconspicuous bugfix:
https://github.com/texastoland/prezto/blob/46159bd527ff25a58a2e633fcbc9074423256808/modules/completion/init.zsh#L37.
A missing h modifier caused the cache to live 20 days instead of 20 hours since it was implemented three years ago.

Looks good to me then. Thanks again for doing the legwork on this!

I'm considering rewriting zsh-help. It doesn't work on Mac. I fixed the bugs and noticed it's replaceable with a 1-liner (or few). I'll try to sen it next week!

Is there any reason to use $HOME instead of $TMPDIR for stuff like ssh-agent.sock?
For me personally I work on a cluster environment where the home directory is mounted on a NFS, so it's definitely not doing the right thing anymore. The sock file should be local to each host.
And in general, we shouldn't rely on $HOME for storing local temporary files, right?

It's a challenge balancing different systems and setups. We defaulted to an approximation of XDG_CACHE_DIR which is ~/.cache by default. I understand why it's breaking for you, but unfortunately don't have a great solution. TMPDIR isn't standard (one of the reasons for moving away from it), XDG_CACHE_DIR is more of a standard, but isn't always in a convenient place.
Do you have any ideas on how to make this better?

I think it'd be reasonable to implement ZSH_CACHE_DIR like OMZ. @hotpxl One problem with TMP_DIR can be seen in the diff. It potentially exposes user data and by convention appends UID to prevent collisions. I'm willing to PR if @belak is interested.

I honestly don't know what the correct solution here is... /tmp isn't ideal because it potentially leaks information, $HOME/anything isn't ideal in the case of shared home directories, at least for things like sockets.
I agree that using $HOME for things like the ssh-agent is not expected behavior. Does it make sense to put everything in $TMPDIR with a UID suffix somewhere? If everything is updated to use $TMPDIR similar to how it did before, then it would at least be possible to override with $HOME/.cache if a user wants to.

I think the XDG directories are the right default. I just propose making it configurable so someone could set ZSH_CACHE_DIR=$TMPDIR/prezto.$UID. How many of the changes produce unexpected behavior? I'd be happy to look for a solution.

I think the XDG directories are the right default. I just propose making it configurable so someone could set ZSH_CACHE_DIR=$TMPDIR/prezto.$UID. How many of the changes produce unexpected behavior? I'd be happy to look for a solution.

This makes sense. I'm all for making this configurable. But with the current setup I'm just setting XDG_CACHE_HOME since none of my other applications use it.

I'd vote for a more explicit design:
We declare a single cache directory variable like ZSH_CACHE_DIR in zprofile or zpreztorc (using zstyle), which defaults to ${XDG_CACHE_HOME:-$HOME/.cache}. And then everything else just references this $ZSH_CACHE_DIR, instead of having each function fall back to $HOME/.cache separately. This seems more manageable and easy to reason about.

@hotpxl I'm about to travel for my birthday, but I'll tag you in a PR later!

@hotpxl I'm about to travel for my birthday, but I'll tag you in a PR later!

Thanks, and happy birthday!


add support for types_check option

I've done cosmetic changes. Can you check it. Thanks for quick feedback!

Tough time in Russia, have not had a chance to have a look. Thanks, deploying.

Publishes as https://pypi.org/project/airflow-clickhouse-plugin/0.8.1/


feat: return an error for RowRoots and ColRoots if EDS incomplete

Closes https://github.com/celestiaorg/rsmt2d/issues/122
Draft PR b/c observing a non-deterministic test failure. To repro run this a few times:
go test ./... -count=1

Related: https://github.com/celestiaorg/rsmt2d/issues/220


Django 3.1

I haven't seen anyone asked this question yet. So I'll go first. Is it ok now to upgrade to django 3.1.x?
Another newbie question: beside the tests that I wrote, is there any other test that I could run to make sure the django-cookiecutter on my computer works with django 3.1.1?
Thank you.

I did some research. The very first one was djangorestframework only supports upto django 3.0. Case closed. Sorry about this.

https://www.django-rest-framework.org
Seems latest DRF support Django 3.1. Any plan for go with Django 3.1?

It's not only about DRF, but all our django libraries. I'm going to start a table that'll keep up to date to gather where are our dependencies, taken from @emilepetrone idea in #2352:
Base.txt

Name
Version in Master
3.1 Compatible Version
OK

pytz
2020.4
n/a
✅

python-slugify
4.0.1
n/a
✅

Pillow
8.0.1
n/a
✅

rcssmin
1.0.6
n/a
✅

argon2-cffi
20.1.0
n/a
✅

whitenoise
5.2.0

redis
3.5.3
n/a
✅

celery
4.4.6
n/a
✅

django-celery-beat
2.1.0

flower
0.9.5
n/a
✅

uvcorn
0.12.2
n/a
✅

django-environ
0.4.5

django-model-utils
4.0.0

django-allauth
0.43.0

django-crispy-forms
1.9.2

django-compressor
2.4

django-redis
4.12.1

djangorestframework
3.12.2

django-cors-headers
3.5.0

local.txt

Name
Version in Master
3.0 Compatible Version
OK

Werkzeug
1.0.1
n/a
✅

ipdb
0.13.4
n/a
✅

psycopg2
2.8.6
n/a
✅

watchgod
0.6
n/a
✅

mypy
0.790
n/a
✅

django-stubs
1.7.0

pytest
6.1.2
n/a
✅

pytest-sugar
0.9.4
n/a
✅

sphinx
3.3.1
n/a
✅

flake8
3.8.4
n/a
✅

coverage
5.3
n/a
✅

black
20.8b1
n/a
✅

pylint-django
2.3.0

pylint-celery
0.3
n/a
✅

pre-commit
2.8.2
n/a
✅

factory-boy
3.1.0

django-debug-toolbar
3.1.1

django-extensions
3.0.9

django-coverage-plugin
1.8.0

pytest-django
4.1.0

production.txt

Name
Version in Master
3.0 Compatible Version
OK

gunicorn
20.0.4
n/a
✅

Collectfast
2.2.0

sentry-sdk
0.19.3
n/a
✅

hiredis
1.1.0

django-storages
1.10.1

django-anymail
8.1

@browniebroke
many packages already update to Django 3.1 support, can regenerate test matrix please
p.s. how you do this matrix ?)

@browniebroke
many packages already update to Django 3.1 support, can regenerate test matrix please
p.s. how you do this matrix ?)

can regenerate test matrix please

I'm not generating it, I took the table from the Django 3.0 issue and updated versions manually. It's quite tedious but we don't need to do this too often. If someone has a script, it would be helpful...

many packages already update to Django 3.1 support

Which ones are missing? I'm updating the message as I merge updates, but it's possible that I missed one.

can regenerate test matrix please

I'm not generating it, I took the table from the Django 3.0 issue and updated versions manually. It's quite tedious but we don't need to do this too often. If someone has a script, it would be helpful...

many packages already update to Django 3.1 support

Which ones are missing? I'm updating the message as I merge updates, but it's possible that I missed one.

base.txt
django-environ looks like we don't even need to wait
https://github.com/joke2k/django-environ/issues/239#issuecomment-718918143
django-allauth they added Django 3.1 to Travis/tox which I don't know what this means (testing?)
django-compressor I don't see an issue reported regarding Django 3.1
Django Compressor is compatible with Django 1.11 and newer.
local.txt
django-stubs looks like this one is still a no no
django_coverage_plugin I don't see an issue reported regarding Django 3.1
production.txt
Collectfast I don't see an issue reported regarding Django 3.1

base.txt
django-environ looks like we don't even need to wait
https://github.com/joke2k/django-environ/issues/239#issuecomment-718918143
django-allauth they added Django 3.1 to Travis/tox which I don't know what this means (testing?)
django-compressor I don't see an issue reported regarding Django 3.1
Django Compressor is compatible with Django 1.11 and newer.
local.txt
django-stubs looks like this one is still a no no
django_coverage_plugin I don't see an issue reported regarding Django 3.1
production.txt
Collectfast I don't see an issue reported regarding Django 3.1

Feel free to send a pull request 👍

Feel free to send a pull request 👍

Just found out that django-stubs was missing https://github.com/typeddjango/django-stubs/pull/558 and it's now merged. Next release should be good to go.

Just found out that django-stubs was missing https://github.com/typeddjango/django-stubs/pull/558 and it's now merged. Next release should be good to go.

Feel free to send a pull request 👍

I'm not that advance of a github user just yet. I'll be there.

Feel free to send a pull request 👍

I'm not that advance of a github user just yet. I'll be there.

PR opened here https://github.com/pydanny/cookiecutter-django/pull/3043


Addition fields not working!!

I cannot get the app to work. Only the main fields are being copied, but not even PlanEstimate on user stories + none of the additionally selected fields are copied.

The problem is in the launch method. The app.fieldsToCopy is not populated correctly - maybe an issue with javascript array/object...

Bug fixed:
Line 106:
Ext.apply(app.fieldsToCopy, requiredFields);
Doesn't merge the two objects, but overwrite the content in app.fieldsToCopy, because the same name pairs exists in requiredFields.
Replace with:
app.fieldsToCopy.portfolioitem = Ext.Array.unique(app.fieldsToCopy.portfolioitem.concat(requiredFields.portfolioitem));
app.fieldsToCopy.hierarchicalrequirement = Ext.Array.unique(app.fieldsToCopy.hierarchicalrequirement.concat(requiredFields.hierarchicalrequirement));
app.fieldsToCopy.task = Ext.Array.unique(app.fieldsToCopy.task.concat(requiredFields.task));
Or similar code that does the same - I'm not a javascript expert.


Replace jni.h with the latest from Oracle.

Current jni.h for linux has GPL licence. The latest one from Oracle does not. In general GPL license prevents the snappy jar from distribution. This change remove that restriction.

Thanks for letting me know!

Hi Taro, do you know when this change will propagate to the new binary release on maven?

I don't think the next release will be soon, but practically speaking there is no risk of using the current version for non GPL product as long as the Oracle made it non-GPL.


[KATANA] Dump state on shutdown

In order to reduce the runtime overhead when dumping state, we will not dump the state for every transaction/block mined. Instead, we can have a service in katana which periodically dump the state for a fixed interval, and also on shutdown.
For now, let's implement a handler which will initiate the state dumping on shutdown.

Guys this is done too...


Soyosource not responding

Hi,
I am currently trying to get my Soyosource integrated. It is the WiFi version and I linked it directly using a modified USB connector. Would be great if you could help :-)
My YAML (adapted from the examples section):
substitutions:
  name: soyosource-gtn-display
  device_description: "Monitor and control the Soyosource GTN (WiFi version) using the display port"
  external_components_source: github://syssi/esphome-soyosource-gtn-virtual-meter@main
  # The display port should be connected to these GPIOs using a USB connector (VCC, RX, TX, GND)
  # A optocoupler / optical isolator (f.e. ADUM1201) between the display port and the ESP is recommended if the ESP isn't powered by the display port!
  tx_pin: GPIO17
  rx_pin: GPIO16

esphome:
  name: external-inverter
  friendly_name: external-inverter

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable Home Assistant API
api:
  encryption:
    key: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

ota:
  password: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "External-Inverter"
    password: "XXXXXXXXXX"

captive_portal:

logger:
  level: DEBUG
  logs:
    api.service: WARN
    ota: WARN
    sensor: DEBUG

external_components:
  - source: ${external_components_source}
    refresh: 0s

uart:
  - id: uart_0
    baud_rate: 9600
    tx_pin: ${tx_pin}
    rx_pin: ${rx_pin}
    debug:
      direction: BOTH

soyosource_display:
  - id: display0
    uart_id: uart_0
    protocol_version: SOYOSOURCE_WIFI_VERSION
    update_interval: 5s

binary_sensor:
  - platform: soyosource_display
    fan_running:
      name: "${name} fan running"
    limiter_connected:
      name: "${name} limiter connected"

button:
  - platform: soyosource_display
    restart:
      name: "${name} restart"

number:
  - platform: soyosource_display
    start_voltage:
      name: "${name} start voltage"
    shutdown_voltage:
      name: "${name} shutdown voltage"
    # Maximum output power in limiter mode / Output power in constant power mode
    output_power_limit:
      name: "${name} output power limit"
    start_delay:
      name: "${name} start delay"

select:
  - platform: soyosource_display
    operation_mode:
      name: "${name} operation mode"
      optionsmap:
        1: "PV"
        2: "Battery Constant Power"
        17: "PV Limit"
        18: "Battery Limit"

sensor:
  - platform: soyosource_display
    error_bitmask:
      name: "${name} error bitmask"
    operation_mode_id:
      name: "${name} operation mode id"
    operation_status_id:
      name: "${name} operation status id"
      id: operation_status_id0
    battery_voltage:
      name: "${name} battery voltage"
    battery_current:
      name: "${name} battery current"
    battery_power:
      name: "${name} battery power"
    ac_voltage:
      name: "${name} ac voltage"
    ac_frequency:
      name: "${name} ac frequency"
    temperature:
      name: "${name} temperature"
    output_power:
      name: "${name} output power"

text_sensor:
  - platform: soyosource_display
    errors:
      name: "${name} errors"
    operation_mode:
      name: "${name} operation mode"
    operation_status:
      name: "${name} operation status"

The log:
INFO Reading configuration /config/esphome/external-inverter.yaml...
INFO Updating https://github.com/syssi/esphome-soyosource-gtn-virtual-meter.git@main
INFO Starting log output from external-inverter.local using esphome API
INFO Successfully connected to external-inverter.local
[07:21:07][I][app:102]: ESPHome version 2023.2.2 compiled on May 28 2023, 06:57:24
[07:21:07][C][wifi:504]: WiFi:
[07:21:07][C][wifi:362]:   Local MAC: C0:49:EF:D0:09:94
[07:21:07][C][wifi:363]:   SSID: [redacted]
[07:21:07][C][wifi:364]:   IP Address: <IP_ADDRESS>
[07:21:07][C][wifi:366]:   BSSID: [redacted]
[07:21:07][C][wifi:367]:   Hostname: 'external-inverter'
[07:21:07][C][wifi:369]:   Signal strength: -50 dB ▂▄▆█
[07:21:07][C][wifi:373]:   Channel: 6
[07:21:07][C][wifi:374]:   Subnet: <IP_ADDRESS>
[07:21:07][C][wifi:375]:   Gateway: <IP_ADDRESS>
[07:21:07][C][wifi:376]:   DNS1: <IP_ADDRESS>
[07:21:07][C][wifi:377]:   DNS2: <IP_ADDRESS>
[07:21:07][C][logger:293]: Logger:
[07:21:07][C][logger:294]:   Level: DEBUG
[07:21:07][C][logger:295]:   Log Baud Rate: 115200
[07:21:07][C][logger:296]:   Hardware UART: UART0
[07:21:07][C][logger:298]:   Level for 'api.service': WARN
[07:21:07][C][logger:298]:   Level for 'ota': WARN
[07:21:07][C][logger:298]:   Level for 'sensor': DEBUG
[07:21:07][C][uart.arduino_esp32:108]: UART Bus 1:
[07:21:07][C][uart.arduino_esp32:109]:   TX Pin: GPIO17
[07:21:07][C][uart.arduino_esp32:110]:   RX Pin: GPIO16
[07:21:07][C][uart.arduino_esp32:112]:   RX Buffer Size: 256
[07:21:07][C][uart.arduino_esp32:114]:   Baud Rate: 9600 baud
[07:21:07][C][uart.arduino_esp32:115]:   Data Bits: 8
[07:21:07][C][uart.arduino_esp32:116]:   Parity: NONE
[07:21:07][C][uart.arduino_esp32:117]:   Stop bits: 1
[07:21:07][C][soyosource_display:448]: SoyosourceDisplay:
[07:21:07][C][soyosource_display:449]: Error bitmask 'soyosource-gtn-display error bitmask'
[07:21:07][C][soyosource_display:449]:   State Class: 'measurement'
[07:21:07][C][soyosource_display:449]:   Unit of Measurement: ''
[07:21:07][C][soyosource_display:449]:   Accuracy Decimals: 0
[07:21:08][C][soyosource_display:449]:   Icon: 'mdi:alert-circle-outline'
[07:21:08][C][soyosource_display:450]: Errors 'soyosource-gtn-display errors'
[07:21:08][C][soyosource_display:450]:   Icon: 'mdi:alert-circle-outline'
[07:21:08][C][soyosource_display:451]: Operation Mode ID 'soyosource-gtn-display operation mode id'
[07:21:08][C][soyosource_display:451]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:451]:   Unit of Measurement: ''
[07:21:08][C][soyosource_display:451]:   Accuracy Decimals: 0
[07:21:08][C][soyosource_display:451]:   Icon: 'mdi:heart-pulse'
[07:21:08][C][soyosource_display:452]: Operation Mode 'soyosource-gtn-display operation mode'
[07:21:08][C][soyosource_display:452]:   Icon: 'mdi:heart-pulse'
[07:21:08][C][soyosource_display:453]: Operation Status ID 'soyosource-gtn-display operation status id'
[07:21:08][C][soyosource_display:453]:   Icon: 'mdi:heart-pulse'
[07:21:08][C][soyosource_display:454]: Operation Status 'soyosource-gtn-display operation status'
[07:21:08][C][soyosource_display:454]:   Icon: 'mdi:heart-pulse'
[07:21:08][C][soyosource_display:455]: Battery Voltage 'soyosource-gtn-display battery voltage'
[07:21:08][C][soyosource_display:455]:   Device Class: 'voltage'
[07:21:08][C][soyosource_display:455]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:455]:   Unit of Measurement: 'V'
[07:21:08][C][soyosource_display:455]:   Accuracy Decimals: 1
[07:21:08][C][soyosource_display:456]: Battery Current 'soyosource-gtn-display battery current'
[07:21:08][C][soyosource_display:456]:   Device Class: 'current'
[07:21:08][C][soyosource_display:456]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:456]:   Unit of Measurement: 'A'
[07:21:08][C][soyosource_display:456]:   Accuracy Decimals: 1
[07:21:08][C][soyosource_display:457]: Battery Power 'soyosource-gtn-display battery power'
[07:21:08][C][soyosource_display:457]:   Device Class: 'power'
[07:21:08][C][soyosource_display:457]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:457]:   Unit of Measurement: 'W'
[07:21:08][C][soyosource_display:457]:   Accuracy Decimals: 0
[07:21:08][C][soyosource_display:458]: AC Voltage 'soyosource-gtn-display ac voltage'
[07:21:08][C][soyosource_display:458]:   Device Class: 'voltage'
[07:21:08][C][soyosource_display:458]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:458]:   Unit of Measurement: 'V'
[07:21:08][C][soyosource_display:458]:   Accuracy Decimals: 0
[07:21:08][C][soyosource_display:459]: AC Frequency 'soyosource-gtn-display ac frequency'
[07:21:08][C][soyosource_display:459]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:459]:   Unit of Measurement: 'Hz'
[07:21:08][C][soyosource_display:459]:   Accuracy Decimals: 1
[07:21:08][C][soyosource_display:459]:   Icon: 'mdi:current-ac'
[07:21:08][C][soyosource_display:460]: Temperature 'soyosource-gtn-display temperature'
[07:21:08][C][soyosource_display:460]:   Device Class: 'temperature'
[07:21:08][C][soyosource_display:460]:   State Class: 'measurement'
[07:21:08][C][soyosource_display:460]:   Unit of Measurement: '°C'
[07:21:08][C][soyosource_display:460]:   Accuracy Decimals: 1
[07:21:08][C][soyosource_display:461]: Fan Running 'soyosource-gtn-display fan running'
[07:21:08][C][soyosource_display:462]: Limiter Connected 'soyosource-gtn-display limiter connected'
[07:21:08][C][soyosource_display.button:010]: SoyosourceDisplay Button 'soyosource-gtn-display restart'
[07:21:08][C][soyosource_display.button:010]:   Icon: 'mdi:restart'
[07:21:08][C][soyosource_display.number:009]: SoyosourceDisplay Number 'soyosource-gtn-display start voltage'
[07:21:08][C][soyosource_display.number:009]:   Unit of Measurement: 'V'
[07:21:08][C][soyosource_display.number:009]: SoyosourceDisplay Number 'soyosource-gtn-display shutdown voltage'
[07:21:08][C][soyosource_display.number:009]:   Unit of Measurement: 'V'
[07:21:08][C][soyosource_display.number:009]: SoyosourceDisplay Number 'soyosource-gtn-display output power limit'
[07:21:08][C][soyosource_display.number:009]:   Unit of Measurement: 'W'
[07:21:08][C][soyosource_display.number:009]: SoyosourceDisplay Number 'soyosource-gtn-display start delay'
[07:21:08][C][soyosource_display.number:009]:   Unit of Measurement: 's'
[07:21:08][C][soyosource_display.select:025]: soyosource_display.selectSoyosourceDisplay Select 'soyosource-gtn-display operation mode'
[07:21:08][C][soyosource_display.select:025]: soyosource_display.select  Icon: 'mdi:heart-pulse'
[07:21:08][C][soyosource_display.select:026]:   Select has register 10
[07:21:08][C][soyosource_display.select:027]:   Options are:
[07:21:08][C][soyosource_display.select:030]:     1: PV
[07:21:08][C][soyosource_display.select:030]:     2: Battery Constant Power
[07:21:08][C][soyosource_display.select:030]:     17: PV Limit
[07:21:08][C][soyosource_display.select:030]:     18: Battery Limit
[07:21:08][C][captive_portal:088]: Captive Portal:
[07:21:08][C][mdns:108]: mDNS:
[07:21:08][C][mdns:109]:   Hostname: external-inverter
[07:21:08][C][api:138]: API Server:
[07:21:08][C][api:139]:   Address: external-inverter.local:6053
[07:21:08][C][api:141]:   Using noise encryption: YES
[07:21:09][D][soyosource_display:495]: Send command: <IP_ADDRESS>.<IP_ADDRESS>.00.00.00.FE (12)
[07:21:09][D][uart_debug:114]: >>> 55:01:00:00:00:00:00:00:00:00:00:FE
[07:21:14][D][soyosource_display:495]: Send command: <IP_ADDRESS>.<IP_ADDRESS>.00.00.00.FE (12)
[07:21:14][D][uart_debug:114]: >>> 55:01:00:00:00:00:00:00:00:00:00:FE
[07:21:19][D][soyosource_display:495]: Send command: <IP_ADDRESS>.<IP_ADDRESS>.00.00.00.FE (12)
[07:21:19][D][uart_debug:114]: >>> 55:01:00:00:00:00:00:00:00:00:00:FE

How did you attach the ESP to the inverter in detail? Could you provide some photos?

Thanks for your fast response. I added two images showing the setup in gernal as well as one, which shows the pins used.
I also opened the Soyosource this morning and was able to find pairs of ESP32 pin and display plug inside the Soyosource with zero resistance --> I guess physical connection should be fine.

Is it possible to control the power using this setup? Or should I change to RS485 anyway?

The USB / display port should be used to monitor and control (change settings) of the inverter just to replace the OEM WiFi dongle. As soon this is working you will extend your setup by an RS485 converter to control/drive the power output using the RS485 port.

We should check the pinout of the USB connector carefully. If I remember correctly the USB cable colors aren't in line with the Soyosource USB port pinout. I will provide some details asap.

Ah ok, I see. Any idea regarding the not responding Soyosource so far?

It looks like I was on the wrong track: https://github.com/syssi/esphome-soyosource-gtn-virtual-meter/tree/main/docs/wifi-version
Your wiring looks good. Could you swap the RX/TX line just for testing once?

You made my day! Thank you so much!


Fixes copy/paste & refresh quickview links.  Also fixed the initial f…

…ilter by category broken load. AMLNG-510 & AMLNG-516
Recommend testing varying aspects of AML that would use the store:
Open Listing
Open listing from Similar Listings
Refresh page or copy/paste listing url
Edit a Listing
Create a Listing
@lsemesky @mleeBoeing @J-Fid @rkenyon1969

Spoke w/ Brian. Need to create additional ticket for backlog to address remaining issue (see below):

Pulled the branch
Reviewed the code
Tested successfully

:+1:
Remaining Issues:

Listing API called twice
Do we need if(!_listing)
What is "new Listing({ owners: [this.currentUser] })" for?

Ticket created at AMLNG-533


Mobile - Disallow staking to collators/pools that maxed out member threshold (Implement UI)

Describe the task
Implement UI in case Disallow staking to collators/pools that maxed out member threshold
Refer: https://github.com/Koniverse/SubWallet-Extension/issues/2754
Expect:

Grey item
When click to select collator/pool then show message to warning to user

[ ] Display wrong status color
Please re-check with Open/Locked/Destroying status color

Version test: https://www.diawi.com/qrcode/link/34b1Sj
Device test: Ip 11

[ ] Update for Direct nomination - Relaychain

Still allow select
Add Nominator on the Validator detail

[ ] Update for Direct nomination - Parachain

Still allow select
Add Delegator on the Collator detail

Version test: https://www.diawi.com/qrcode/link/UszyyW
Device test: IP 11

[ ] Re-check font size

[ ] Update text

Version test: https://www.diawi.com/qrcode/link/q3z9E8
Device test: IP 11
Validation passed in case:

Nomination pool

Relay chain

Parachain


Load digest subclasses in a thread-safe manner

What was the end-user problem that led to this PR?
The problem was digest files would sometimes be loaded twice.
What was your diagnosis of the problem?
My diagnosis was we needed to load the digest files using the ::Digest method, which is explicitly thread-safe.

Thanks for doing this. @bundlerbot r+

@bundlerbot retry


draft: merge xml (pseudo code)

First draft for https://github.com/aconrad/pycobertura/issues/119, rather pseudo-code adapted from here:
https://github.com/janhybs/Flow123d-python-utils/blob/a80b2dd10eb77ed0fc6469c675dc400feffdcc09/src/coverage/coverage_merge_module.py#L176
FYI: @aconrad, @marvin1991, @epenet, @janhybs
Need tests and help on how to extract list and roots for different levels (packages, classes, methods, lines).

Going for a new attempt.


Multi-index issue: simulations batches and xarray recent versions

xref: https://github.com/fastscape-lem/fastscape/issues/26

@benbovy, do you have a timeline for updating the dependencies to the latest versions of xarray and Python?
@xaviernogueira and I are considering using this repo as a foundation for a model refactoring effort. We unfortunately have a short timeline on this first round so need immediate success, but we could see ourselves contributing to this repo.

@aufdenkampe, I'm glad you are considering using xarray-simlab! I have no particular timeline but I'd like to fix this issue and release version 0.5.1 anyway. What is your timeline? I can try to find some time within the next two weeks. Contributions are welcome too!
Regarding this specific issue, there is an easy workaround with the recent versions of Xarray (https://github.com/fastscape-lem/fastscape/issues/26#issuecomment-1357503262) so it shouldn't be a blocker for using xarray-simlab.
Apart from this issue, all the tests are passing in my local environment that I've just updated to python 3.11 and the last versions of Xarray, Dask, Zarr and Attrs.

@benbovy, This repo really looks impressive and has great documentation, so I'm back to reconsidering whether to use xarray-simlab as a dependency on a modeling system we're implementing for a US federal agency (i.e. https://github.com/EcohydrologyTeam/ClearWater-modules). Because of our previous need to move quickly for the first set of deliverables, @xaviernogueira implemented a simple custom system that was inspired by xarray-simlab. However, we just got funded for the next round of work, which is substantially more complex, and many of the features we'll need appear to already be implemented in xarray-simlab.  I'll would be tackling that work with @sjordan29 and others, as @xaviernogueira has moved on to other endeavors.
My main hesitation at this point is that xarray-simlab hasn't really been maintained or updated in >3 years, including 6 open pull requests from @feefladder that you invited with your comment at https://github.com/xarray-contrib/xarray-simlab/pull/177#issuecomment-805089334.
So my question is whether you see a future where could be actively maintained by you and a community of contributors and users (which might include our team)?
I see that you and your team are using xarray-simlab in https://github.com/fastscape-lem/fastscape. Are there other active users?

There were other active users back when I was active here and submitted my pull requests. In the meantime, I've been doing different things and haven't kept up, so I don't know...
My PR's were rather complex with a lot of DFS's though, so I think that's why they are still open: Was this level of complexity really desired, since it reduces maintainability?

@benbovy and @feefladder, thanks for your rapid and detailed responses! Together they increase my interest in adopting xarray-simlab as a framework for our models.
Our particular use case (i.e. simulating aquatic temperature and nutrient dynamics in a flooding river, using a 2D irregular grid of flows from hydrodynamic models) will likely need both of the limitations that are addressed by @feefladder's PRs (inout of foreign variables and user-defined process order), as our first task is to reproduce the same results produced by a set of legacy Fortran modules.
Should I then perhaps fork and build from @feefladder's fork? Or can we work toward merging those PRs?
Fortunately the first module for Temperature is much simpler, and doesn't need those capabilities, so we can get started with the upstream master.
Also, our long-term goal is to couple with many existing models (using BMI), and one of those models has been implemented in Landlab, which I know was one of your inspirations. That's going to lead some to ask us why we don't just implement these water nutrient processes in Landlab. My thinking is that xarray-simlab is leaner, possibly more flexible, likely to perform better given that it integrates xarray and dask at its core. The later is particularly important, as the hydrodynamic models to which we are coupling have large grids and small time steps.  To your knowledge, is my reasoning defensible?

Should I then perhaps fork and build from @feefladder's fork? Or can we work toward merging those PRs?

It would be nice to eventually have this functionality available here.

Also, our long-term goal is to couple with many existing models (using BMI)

I had in mind of eventually implementing a BMI class that can wrap an xsimlab.Model instance such that a BMI compliant model can be dynamically created from any xarray-simlab model with minimal manual setup. But perhaps you rather want the other way around, i.e., run BMI models within xarray-simlab processes? I guess it could also be possible to write a wrapper of a process class for that... The nice thing is that both BMI and xarray-simlab allow easy access to model metadata programmatically.

My thinking is that xarray-simlab is leaner, possibly more flexible, likely to perform better given that it integrates xarray and dask at its core. The later is particularly important, as the hydrodynamic models to which we are coupling have large grids and small time steps.

So far I've only used numpy arrays inside xarray-simlab processes and I've used dask through xarray-simlab mainly for running multiple simulations in parallel. However, given how xarray, dask and zarr are tightly integrated between each other there is a good chance that using dask arrays within model processes and/or as model input variables will "just" work (or after small adjustments).
That said, xarray-simlab provides a fairly high-level of abstraction that sometimes makes it also difficult to track down performance or other issues, which requires to be careful when setting-up and running simulations. For example, it happened that we were struggling with the very slow execution of some batches of simulations before figuring out that xarray-simlab was just writing too many (and large) model output snapshots at the same time via dask and zarr (IO bottleneck).
Also, using dask for both computing process variables and running models in parallel will likely perform badly.
Using xarray DataArrays inside processes in discuted in #141.
(This discussion is drifting away from the original topic of this issue... shall we move it to a new discussion topic?)

@benbovy, thanks for all these very helpful responses! I agree that this discussion is probably distracting from the named issue. I should have created a new issue from the start! I like the idea of moving it to a new discussion topic, but I think you need to enable it for this repo.  By the way, thanks for pointing me to #141. I'm very interested in keeping/leveraging the xarray metadata as much as possible, and trying to move toward a zero-copy approach as much as possible in all my processes. Our current implementation has lots of memory over-runs because we didn't keep track of that very well.