Setting name on a specific breadcrumb item?

I'm using an app that fetches data from a REST API using redux and async actions in combination with react-router.
For example:
/company/:companyId/
Which becomes:
Company > 51b5e79f-b45e-4ae8-8e68-c88200883267
I'm trying to find a way to set the name of the specific breadcrumb item with data that is set on the reducer (companyName)
Company > Company name
But can't find a good way on doing it. Any ideas?

Trying to do the exact same thing. So far I have tried to connect to the router class and use the displayName, but no luck :(

@hannescalibrate I have a solution which I am not proud of, but i'll get back to you some code in a while.

@viktorlarsson How did you end up solving this?  I'm having the exact same issue trying to set the name on a specific breadcrumb item.  I've tried breadcrumbName and displayName with no luck.  I'll take a solution no one is proud of at this point!

I switched to react-router-breadcrumbs. It allows the use of a resolver

@demptis82
I'm using redux + redux-thunk to load data from an API. Here is a snippet of code.  In this case, i'm fetching a user and setting the reducer,
import React, { Component } from 'react';
import { connect } from 'react-redux';

import ReactBreadcrumbs from 'react-breadcrumbs';

 class Breadcrumbs extends Component {
	render() {

                // There probably is a better way to do this, so.. :)
 		for (let index = 0; index < this.props.routes.length; index++) {
			if (this.props.routes[index].path === ':userId') {
				this.props.routes[index].name = this.props.user.name;
			}
		}

		return (
			<div>
				<ReactBreadcrumbs hideNoPath routes={this.props.routes} params={this.props.params} />
			</div>
		);
	}
}

function mapStateToProps(state) {
	return {
		user: state.user
	};
}

export default connect(mapStateToProps)(Breadcrumbs);

Hope this will help anyone! :)

I think this COULD be done using the breadcrumbName component parameter. Sadly, it's not working...

^
Came here to post about breadcrumbName, doesn't work, sadly.........any hope of getting it fixed?

I'm also trying to get this to work.  Any idea if anyone is working on this?

Probably related to #71.

I resolve this by using the prettifyParam which allow a function called with the parameter value :
export default function getRoutes(store) {
    function getDisplayNameForData(param) {
        return store.getState().data[param].name;
    }

    return (
         <Route name="dataroute" prettifyParam={getDisplayNameForData} path=":id">
    );
}

@joelwurtz but this only works if you have already loaded the data. if you need for loading to finish we'd need a callback, right?

In my case data is already loaded, so there is no problem.
But maybe you can return a react component which is connected to redux ?
function getDisplayNameForData(param) {
    return <MyDataName reference={param} >;
}

that's clever. Thank you!

Surprised to see prettifyParam, not in docs, how did you find it? Am I missing anything else?

I got mine to work by just setting the staticName to true


3D SLAM with rotating laser on a drone

Hello,
I already wrote a note  on Cartographer group, where I explained the project that I am working on.
I was curious if in the meanwhile there has been any progress on this topic.
I looked at the demo: Taurob Tracker; it uses a rotating laser on a ground robot for localization and mapping. However, when I run the rosbag captured with the drone, using the same configuration of Taurob Tracker, the results are not as good as in the demo.
The graphical results are reported in this video. The test has been executed in a University Lab indoor. What is weird to me is that the map is moving with the robot, while it should be static.
There is anything that I am forgetting in the configuration file?
Is anyone already working on 3D-SLAM with a drone using rotating 2D-LRF?
Thank you.

I have created a drive link with the bag file and all config files (including the results from the test results from the bag file): https://drive.google.com/open?id=1x5Cejk2-YWjuIoW-zdYNhxxS9p5iba88
Also this is the output from the

The graphical results are reported in this video. The test has been executed in a University Lab indoor. What is weird to me is that the map is moving with the robot, while it should be static.

I think the moving thing is the point cloud, not the map. Toggle visualization of "Submap" to see if there is a map at all.

I have created a drive link

I can only see the launch file. Generally, it is easier for the community if you fork, add your config, post a link to the diff view that contains exactly what you changed wrt to master.

3D-SLAM with a drone using rotating 2D-LRF

A flat point cloud is not sufficient for 3D scan matching. You at least need to accumulate multiple measurements.
Here is an example of 3D SLAM with a tilting 2D lidar on a mobile robot: https://github.com/tu-darmstadt-ros-pkg/cartographer_hector_tracker

My bad, here is the link again:
https://drive.google.com/open?id=1Y9BS0Px2-4R13FeH3Ro205PcaRJNMm_v

Here is the result from our bag

E0502 15:49:07.929915  1217 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.183640971 but sensor time<PHONE_NUMBER>.852662991 differing by 3624.67 s.
E0502 15:49:07.930198  1217 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.183654521 but sensor time<PHONE_NUMBER>.864614944 differing by 3624.68 s.
E0502 15:49:07.930233  1217 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.183696778 but sensor time<PHONE_NUMBER>.873204777 differing by 3624.69 s.
E0502 15:49:07.930538  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>31085656, current one at time<PHONE_NUMBER>28610490
E0502 15:49:07.930554  1217 rosbag_validate_main.cc:315] Sensor with frame_id "laser" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0502 15:49:07.930565  1217 rosbag_validate_main.cc:326] frame_id "laser" is send on multiple topics. It was seen at least on /most_intense and /last
E0502 15:49:07.930639  1217 rosbag_validate_main.cc:326] frame_id "laser" is send on multiple topics. It was seen at least on /most_intense and /last
E0502 15:49:07.930706  1217 rosbag_validate_main.cc:326] frame_id "laser" is send on multiple topics. It was seen at least on /most_intense and /last
E0502 15:49:07.931183  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>31868081, current one at time<PHONE_NUMBER>29753212
E0502 15:49:07.931200  1217 rosbag_validate_main.cc:315] Sensor with frame_id "laser" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0502 15:49:07.931670  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>32472242, current one at time<PHONE_NUMBER>30018622
E0502 15:49:07.931689  1217 rosbag_validate_main.cc:315] Sensor with frame_id "laser" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0502 15:49:07.933331  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>34045173, current one at time<PHONE_NUMBER>33024191
E0502 15:49:07.934007  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>33784783, current one at time<PHONE_NUMBER>33784783
E0502 15:49:07.934268  1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>34045173, current one at time<PHONE_NUMBER>34045173
E0502 15:49:07.935930  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.515371390 equals preceding data with 1081 points.
E0502 15:49:07.936120  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.515371390 equals preceding data with 1081 points.
E0502 15:49:07.936300  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.541097739 equals preceding data with 1081 points.
E0502 15:49:07.936486  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.541097739 equals preceding data with 1081 points.
E0502 15:49:07.937108  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.566795402 equals preceding data with 1081 points.
E0502 15:49:07.944720  1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.090548413 equals preceding data with 1081 points.
W0502 15:49:08.736094  1217 rosbag_validate_main.cc:203] Sensor with frame_id "laser" range measurements have longest overlap of 0.837526 s
I0502 15:49:08.736446  1217 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/dynamixel/odometry" (frame_id: "base_link"):
Count: 7039  Min: 0.008089  Max: 0.015576  Mean: 0.010000
[0.008089, 0.008838)	                    	Count: 90 (1.278591%)	Total: 90 (1.278591%)
[0.008838, 0.009587)	                    	Count: 153 (2.173604%)	Total: 243 (3.452195%)
[0.009587, 0.010335)	  ##################	Count: 6508 (92.456314%)	Total: 6751 (95.908508%)
[0.010335, 0.011084)	                   #	Count: 218 (3.097031%)	Total: 6969 (99.005539%)
[0.011084, 0.011832)	                    	Count: 25 (0.355164%)	Total: 6994 (99.360703%)
[0.011832, 0.012581)	                    	Count: 18 (0.255718%)	Total: 7012 (99.616425%)
[0.012581, 0.013330)	                    	Count: 19 (0.269925%)	Total: 7031 (99.886345%)
[0.013330, 0.014078)	                    	Count: 7 (0.099446%)	Total: 7038 (99.985794%)
[0.014078, 0.014827)	                    	Count: 0 (0.000000%)	Total: 7038 (99.985794%)
[0.014827, 0.015576]	                    	Count: 1 (0.014207%)	Total: 7039 (100.000000%)
I0502 15:49:08.736654  1217 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/dji_sdk/imu" (frame_id: "imu"):
Count: 7007  Min: 0.000242  Max: 0.023108  Mean: 0.009999
[0.000242, 0.002529)	          ##########	Count: 3500 (49.950050%)	Total: 3500 (49.950050%)
[0.002529, 0.004815)	                    	Count: 4 (0.057086%)	Total: 3504 (50.007137%)
[0.004815, 0.007102)	                    	Count: 0 (0.000000%)	Total: 3504 (50.007137%)
[0.007102, 0.009389)	                    	Count: 0 (0.000000%)	Total: 3504 (50.007137%)
[0.009389, 0.011675)	                    	Count: 0 (0.000000%)	Total: 3504 (50.007137%)
[0.011675, 0.013962)	                    	Count: 0 (0.000000%)	Total: 3504 (50.007137%)
[0.013962, 0.016248)	                    	Count: 4 (0.057086%)	Total: 3508 (50.064220%)
[0.016248, 0.018535)	                   #	Count: 430 (6.136721%)	Total: 3938 (56.200943%)
[0.018535, 0.020821)	           #########	Count: 3015 (43.028400%)	Total: 6953 (99.229340%)
[0.020821, 0.023108]	                    	Count: 54 (0.770658%)	Total: 7007 (100.000000%)
E0502 15:49:08.736699  1217 rosbag_validate_main.cc:382] Point data (frame_id: "laser") has a large gap, largest is 0.818776 s, recommended is [0.0005, 0.05] s with no jitter.
I0502 15:49:08.736987  1217 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/most_intense" (frame_id: "laser"):
Count: 10268  Min: -0.818776  Max: 0.818776  Mean: 0.006834
[-0.818776, -0.655021)	                    	Count: 25 (0.243475%)	Total: 25 (0.243475%)
[-0.655021, -0.491266)	                    	Count: 51 (0.496689%)	Total: 76 (0.740164%)
[-0.491266, -0.327511)	                    	Count: 21 (0.204519%)	Total: 97 (0.944683%)
[-0.327511, -0.163755)	                    	Count: 28 (0.272692%)	Total: 125 (1.217374%)
[-0.163755, 0.000000)	                    	Count: 170 (1.655629%)	Total: 295 (2.873003%)
[0.000000, 0.163755)	 ###################	Count: 9848 (95.909622%)	Total: 10143 (98.782623%)
[0.163755, 0.327511)	                    	Count: 28 (0.272692%)	Total: 10171 (99.055321%)
[0.327511, 0.491266)	                    	Count: 24 (0.233736%)	Total: 10195 (99.289055%)
[0.491266, 0.655021)	                    	Count: 49 (0.477211%)	Total: 10244 (99.766266%)
[0.655021, 0.818776]	                    	Count: 24 (0.233736%)	Total: 10268 (100.000000%)
I0502 15:49:08.737130  1217 rosbag_validate_main.cc:398] Time delta histogram for consecutive messages on topic "/dji_sdk/odometry" (frame_id: "odom"):
Count: 3487  Min: 0.016566  Max: 0.023668  Mean: 0.020000
[0.016566, 0.017276)	                    	Count: 2 (0.057356%)	Total: 2 (0.057356%)
[0.017276, 0.017986)	                    	Count: 3 (0.086034%)	Total: 5 (0.143390%)
[0.017986, 0.018697)	                    	Count: 14 (0.401491%)	Total: 19 (0.544881%)
[0.018697, 0.019407)	                ####	Count: 651 (18.669344%)	Total: 670 (19.214224%)
[0.019407, 0.020117)	          ##########	Count: 1819 (52.165184%)	Total: 2489 (71.379410%)
[0.020117, 0.020827)	                  ##	Count: 340 (9.750502%)	Total: 2829 (81.129913%)
[0.020827, 0.021537)	                ####	Count: 647 (18.554632%)	Total: 3476 (99.684540%)
[0.021537, 0.022247)	                    	Count: 8 (0.229424%)	Total: 3484 (99.913963%)
[0.022247, 0.022957)	                    	Count: 2 (0.057356%)	Total: 3486 (99.971321%)
[0.022957, 0.023668]	                    	Count: 1 (0.028678%)	Total: 3487 (100.000000%)

E0502 15:49:07.930538 1217 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>31085656, current one at time<PHONE_NUMBER>28610490

Cartographer makes a strong assumption that input header timestamps are sequential (to be precise, sequential for a single given sensor). Fix this first, otherwise nothing will work.

E0502 15:49:07.937108 1217 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.566795402 equals preceding data with 1081 points.

Shouldn't happen either. How do you connect to the sensor? Avoid any filtering nodes that mess up the sequence or duplicate messages.

E0502 15:49:07.929915 1217 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.183640971 but sensor time<PHONE_NUMBER>.852662991 differing by 3624.67 s.

cartographer_ros' PoseExtrapolator will extrapolate for that time difference and all output will be useless.
Hope this helps.

We are going to collect a new data-set today and we will see if these issues are solved.
Also to us, the first and second error seems weird.
We will post here the results after the test.

we collected new datasets, however, some errors remain:

E0514 11:52:27.603804  7170 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.173695618 but sensor time<PHONE_NUMBER>.635043664 differing by -0.538652 s.
E0514 11:52:27.604573  7170 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.173740805 but sensor time<PHONE_NUMBER>.643222214 differing by -0.530519 s.
E0514 11:52:27.604615  7170 rosbag_validate_main.cc:350] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.173905129 but sensor time<PHONE_NUMBER>.653209733 differing by -0.520695 s.
W0514 11:52:27.604667  7170 rosbag_validate_main.cc:352] frame_id "base_link" on topic /dynamixel/odometry has serialization time<PHONE_NUMBER>.174078623 but sensor time<PHONE_NUMBER>.683208810 differing by -0.49087 s.
E0514 11:52:27.605494  7170 rosbag_validate_main.cc:315] Sensor with frame_id "base_link" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0514 11:52:27.605514  7170 rosbag_validate_main.cc:326] frame_id "base_link" is send on multiple topics. It was seen at least on /dynamixel/odometry and /pointcloud
E0514 11:52:27.605598  7170 rosbag_validate_main.cc:315] Sensor with frame_id "base_link" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0514 11:52:27.605610  7170 rosbag_validate_main.cc:326] frame_id "base_link" is send on multiple topics. It was seen at least on /dynamixel/odometry and /pointcloud
E0514 11:52:27.605664  7170 rosbag_validate_main.cc:326] frame_id "base_link" is send on multiple topics. It was seen at least on /dynamixel/odometry and /pointcloud
E0514 11:52:27.606106  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>69784513, current one at time<PHONE_NUMBER>69784513
E0514 11:52:27.606529  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>70304000, current one at time<PHONE_NUMBER>70043719
E0514 11:52:27.606590  7170 rosbag_validate_main.cc:315] Sensor with frame_id "laser" jumps backwards in time. Make sure that the bag contains the data for each frame_id sorted by header.stamp, i.e. the order in which they were acquired from the sensor.
E0514 11:52:27.606993  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>70658064, current one at time<PHONE_NUMBER>69526541
E0514 11:52:27.607527  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>71197830, current one at time<PHONE_NUMBER>70658064
E0514 11:52:27.607659  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>70658064, current one at time<PHONE_NUMBER>70043719
E0514 11:52:27.608258  7170 rosbag_validate_main.cc:160] Sensor with frame_id "laser" is not sequential in time.Previous range message ends at time<PHONE_NUMBER>70928506, current one at time<PHONE_NUMBER>70658064
E0514 11:52:27.611510  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.260382061 equals preceding data with 1081 points.
E0514 11:52:27.611678  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.260382061 equals preceding data with 1081 points.
E0514 11:52:27.611928  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.286345685 equals preceding data with 1081 points.
E0514 11:52:27.614277  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.426568592 equals preceding data with 1081 points.
E0514 11:52:27.627147  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.373731732 equals preceding data with 1080 points.
E0514 11:52:27.628096  7170 rosbag_validate_main.cc:190] Sensor with frame_id "laser" sends exactly the same range measurements multiple times. Range data at time<PHONE_NUMBER>.452972664 equals preceding data with 1081 points.
W0514 11:52:29.270400  7170 rosbag_validate_main.cc:203] Sensor with frame_id "laser" range measurements have longest overlap of 0.131902 s

We updated the data-processing of the IMU data and now the localization works better thanks to a better estimation of the movement of the robot performed with the IMU.
The issue that remains is how to get a 3D representation of the map. I noticed that each sub-map is an x-ray representation of the pointcloud generated during the time interval of two consecutive trajectories. There is any functionality that provides the 3D map?

The issue that remains is how to get a 3D representation of the map. I noticed that each sub-map is an x-ray representation of the pointcloud generated during the time interval of two consecutive trajectories. There is any functionality that provides the 3D map?

If you want a single point cloud of the entire map, you can use the assets_writer (please see cartographer_ros documentation).

I tried assets_writer in two ways:

As described in the documentation (create pbstream file etc.) and the output is a set of images of the 3D point cloud.

using the launch file visualize_pbstream. Where, as illustrated in the picture, only the x-rays layers are visible and the point cloud is not present:

My ultimate goal is to subscribe to two topics that provide the 3D point cloud and the 6 DOF pose in real time of the drone.
When I execute Cartographer these are the topics available:

constraint_list (visualization_msgs/MarkerArray)
initialpose (geometry_msgs/PoseWithCovarianceStamped)
landmark_poses_list (visualization_msgs/MarkerArray)
map (nav_msgs/OccupancyGrid)
move_base_simple/goal (geometry_msgs/PoseStamped)
pointcloud (sensor_msgs/PointCloud2)
scan_matched_points2 (sensor_msgs/PointCloud2)
submap_list (cartographer_ros_msgs/SubmapList)
trajectory_node_list (visualization_msgs/MarkerArray)

I do not see how to get the 3D map, I do not find a point cloud topic during the execution.
Thank you for your invaluable help!

Ok, exporting a single point cloud is not documented. Documentation says "The individual PointsProcessors are all in the cartographer/io sub-directory and documented in their individual header files." :-))
Please take a look at https://github.com/googlecartographer/cartographer_ros/blob/master/cartographer_ros/configuration_files/assets_writer_backpack_2d.lua
    {
      action = "write_ply",
      filename = "points.ply",
    },

and the PcdWritingPointsProcessor and PlyWritingPointsProcessor and other processors in cartographer/io/

Hello!
I am still working on the same problem mentioned above.
I looked into PcdWritingPointsProcessor and PlyWritingPointsProcessor;
but they are just tools for saving the point cloud in an external file that can be used offline (I think). Indeed these tools do not solve my problem of 3D SLAM online.
I had the possibility to capture additional datasets outdoor in large areas. When I run Cartographer with these datasets the outcome is worse than the simple reprojection of the points using the odometry of the drone (the outputs are illustrated in the figures), why does this happen?
point cloud projected in the odom frame without scanmatching or point filtering:

map output of cartographer:

I was wondering if there is any loop-closure for 3D point cloud, and also how does the scan matching work for 3D? Because it seems to not be available in this version of Cartographer.
My main question then, is it possible to perform 3D global mapping using Google Cartographer?
After an analysis, I would not state that Cartographer can be applied for 3D global mapping. It seems to only generate 2D projection of the points, both in the submaps and global map.
This is insufficient with what we are trying to achieve using a MAV.
Thank you for your help and amazing work.

I was wondering if there is any loop-closure for 3D point cloud

Yes, cartographer does 3D loop closure.
As an example, please run the 3D demo https://google-cartographer-ros.readthedocs.io/en/latest/index.html#running-the-demos with one of the larger 3D Deutsches Museum bag files.

My main question then, is it possible to perform 3D global mapping using Google Cartographer?

Absolutely yes. Many users do 3D global mapping.

It seems to only generate 2D projection of the points, both in the submaps and global map.

No, the projection is only done for visualization purposes. What you see in rviz is not the state of cartographer.

I looked into PcdWritingPointsProcessor and PlyWritingPointsProcessor;
but they are just tools for saving the point cloud in an external file that can be used offline (I think).  Indeed these tools do not solve my problem of 3D SLAM online.

Right, assets writer is a batch tool.

map output of cartographer:

Unfortunately, it is hard to tell from the image. This feels like a tuning issue.
Is the config and bag file you posted current? (I cannot find config changes in your fork https://github.com/andrecmilano/cartographer_ros) Should I take a look?

Thank you for your quick response.
I will come back to you with an updated version of bags and configuration files. :)

I uploaded my bags and config files here
If you can have a quick look at the .lua file would be really nice. I have the feeling that I am missing something.
Thank you.

I had a quick look at the launch and lua files.

use_odometry = true,

So this is quadrotor.
Odometry, especially velocities, will be noisy, don't use it. (By odometry input, we usually think of wheel encoders.)
IMU should be enough to estimate rotation.

TRAJECTORY_BUILDER_3D.submaps.high_resolution = 0.05

This is pretty small for outdoors.

TRAJECTORY_BUILDER_3D.voxel_filter_size = 0.15

This should normally be the same as above.

TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 160

Is this the number of messages you receive in a physical lidar rotation?
Again, in a 3D setup it is super important that the IMU to lidar rotation (and also translation) is correct.
Yours seems to be read from /tf in the bag file. Sure it is correct?
Please turn off global SLAM with POSE_GRAPH.optimize_every_n_nodes = 9999999 and tune local SLAM first.

Thank you for your response and the suggestions provided with the .lua file.

So this is quadrotor.
Odometry, especially velocities, will be noisy, don't use it. (By odometry input, we usually think of wheel encoders.)

We still use odometry because the point cloud considered (topic: /scan_matched_points2) without odometry does not correctly match the 3D real world.

Again, in a 3D setup, it is super important that the IMU to lidar rotation (and also translation) is correct.
Yours seems to be read from /tf in the bag file. Sure it is correct?

Yes, we read from /tf and we assume it is correct because the point cloud seems to match the 3D world.

Thanks to your hints now the loop-closure seems correctly executed and I can see in the 2d map that the walls of the building are aligned once the loop closure optimization is concluded. Thank you.
Now I was wondering where can I find the 3D point cloud containing all the points.
I was thinking to call the function GetAllSubmapData() in PhoseGraph3D and iterate through all the submaps and collect the points. Is it a good approach? Is the point cloud after the optimization stored in the submap vector?
I also tried to have a look into the PlyWritingPointsProcessor class where the method Proces receive in input std::unique_ptr which contains all the 3D Points. But it is difficult to follow and understand where to Get the  PointsBatch object.
So far I only looked into this two possible "point cloud providers". My ultimate goal is to check the 3D point cloud live during the optimization process.

Now I was wondering where can I find the 3D point cloud containing all the points.
I was thinking to call the function GetAllSubmapData() in PhoseGraph3D and iterate through all the submaps and collect the points.

Absolutely feasible, more involved. This is what cartographer_ros does to publish (projected) submaps to rviz. It can give you results at run-time.

I also tried to have a look into the PlyWritingPointsProcessor class where the method Proces receive in input std::unique_ptr which contains all the 3D Points. But it is difficult to follow and understand where to Get the PointsBatch object.

If offline processing is sufficient, try this first. This is the supported method to generate a point cloud from a pose graph.
You just need to write a lua config file and run the assets_writer on your pbstream.
There is some documentation in https://google-cartographer-ros.readthedocs.io/en/latest/assets_writer.html
Hope that helps.

Update:
I took a look at the repository of @nitramek mentioned in this issue: #720 (in certographer_ros).
I have new questions regarding the trajectories organization. I will open a new issue.
Thank you for your support!

I uploaded my bags and config files here
If you can have a quick look at the .lua file would be really nice. I have the feeling that I am missing something.
Thank you.

Thank you for your information in there, I am a fresh man to work on the slam recently, could you tell me, whether the cartographer can build the map in real-time and update directly, not just record data and build the map...
Thank you for your patience


Unknown Provider Issue - Angular Module Injection

I'd like to use ngSanitize in my project.
angular
    .module('home', ['ngSanitize'])
    .controller('IndexController', function($scope, supersonic) {
    });

It is installed as a bower component. The script tag is added to include it in the layout. It appears after the angular.js reference and right before the supersonic.js reference. I verified that it is including in the page using the safari debugger.
This error happens when I try to use angular-sanitize.js in my project.
Error: [$injector:unpr] Unknown provider: supersonicProvider <- supersonic <- LoginController
http://errors.angularjs.org/1.3.15/$injector/unpr?p0=supersonicProvider%20%3C-   %20supersonic%20%3C-%20LoginController
http://localhost/components/angular/angular.js:63:32
http://localhost/components/angular/angular.js:4015:34
getService@http://localhost/components/angular/angular.js:4162:46
http://localhost/components/angular/angular.js:4020:48
getService@http://localhost/components/angular/angular.js:4162:46
invoke@http://localhost/components/angular/angular.js:4194:23
http://localhost/components/angular/angular.js:8493:27
http://localhost/components/angular/angular.js:7739:23
forEach@http://localhost/components/angular/angular.js:331:24
nodeLinkFn@http://localhost/components/angular/angular.js:7738:18
compositeLinkFn@http://localhost/components/angular/angular.js:7117:23
compositeLinkFn@http://localhost/components/angular/angular.js:7120:24
publicLinkFn@http://localhost/components/angular/angular.js:6996:45
http://localhost/components/angular/angular.js:1457:27
$eval@http://localhost/components/angular/angular.js:14466:28
$apply@http://localhost/components/angular/angular.js:14565:28
bootstrapApply@http://localhost/components/angular/angular.js:1455:21
invoke@http://localhost/components/angular/angular.js:4203:22
doBootstrap@http://localhost/components/angular/angular.js:1453:20
bootstrap@http://localhost/components/angular/angular.js:1473:23
angularInit@http://localhost/components/angular/angular.js:1367:14
http://localhost/components/angular/angular.js:26304:16
trigger@http://localhost/components/angular/angular.js:2762:9
eventHandler@http://localhost/components/angular/angular.js:3032:25

Can you get everything to load correctly in a web browser? Sounds like just an Angular setup issue. While steroids connect is running, you can access the files via http://localhost:4567/ that serves the contents of dist/ directly. Ie. if your view is  e.g. dist/home/views/index.html, you can view it in a web browser via http://localhost:4567/home/views/index.html, which will help debugging.

same issue , i am not even inject ngAnimate ....
angular.module.("example", ["ngAnimate"])

Did you run bower install ngAnimate and verify that you have the script included in your layout file? Check out the /dist folder and make sure the script exists.
<script src="/components/angular/angular.js"></script>
<script src="/components/ngAnimate/js/angular-animate.min.js"></script>

And in the controller:
angular
    .module('example', ['ngAnimate'])
    .controller('LearnMoreController', function($scope, supersonic) {
        // do things here
    });

See https://github.com/AppGyver/steroids/issues/941 – closing this since it's not a bug/feature request per se, and more of a "How do I use AngularJS" type question. Please continue the discussion on https://forums.appgyver.com (that said, the answer above should help you in the right direction!).


Automated Package Upgrade

:tada: This PR is included in version 1.3.30 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Test failures with builtin grib support

I haven't got iris-grib packaged yet (because it seems to have a circular dependency?), so I'm still running tests with the internal support. I've still got 35 failures, and I think most of them have grib in the name, so I think it's related to using the internal support. It doesn't look like Travis tests out this combination, so it may have broken.
I haven't been able to reproduce in a conda environment (as opposed to rpm) because python-ecmwf_grib is broken on conda-forge, somehow...

I think this build shows the relevant failures.

Given that iris.fileformats.grib was removed at v2.0, I’m betting this is no longer a problem!


Add dotnet to official Linux repositories so it is a credible option for general development

In my day job, I am a .NET developer on Windows, and I use .NET Core for new apps where possible. I am also a heavy Linux user, and - as Microsoft obviously acknowledges - this is where server-side workloads are heading. However, while .NET Core functions on Linux, it is clunky and there is a lot of friction when compared to other languages and platforms that integrate seamlessly.
One example is that support for Debian 10 and Debian Testing across the Microsoft open source products is almost non-existent. Also, the workarounds are problematic because different products support different versions of Debian via the same package repositories. The only viable way to work with .NET Core on any relatively recent release of Debian is to run in a Docker container, which is clunky for day-to-day development. The Snap packages are workable, however, not everything is officially supported on Snap - such as the Azure CLI.
The reality is, that it's simply easier to learn one of the plethora of well supported languages instead, such as Python, Go, or Rust.
Unfortunately, I've been unable to find any official word on why Microsoft doesn't add .NET Core and other tools to the official Debian (and therefore Ubuntu) repositories, so I'm left to speculate. I've come up with two possible reasons:

The official repositories - and therefore the integrity of the code - are outside of the control of Microsoft. Right now, if I install .NET Core on a Docker container, I can be assured through modern cryptography that I'm installing the packages built on your build servers.

The official Debian repositories can be out of date. By providing an orthogonal deployment mechanism, it's possible to deploy the latest version of .NET Core on an older, stable version of Debian.

I'm interested to hear whether there are other reasons, and whether adding .NET Core to the official repositories is completely off the table, or whether it's simply a matter of resourcing and/or overcoming obstacles.

Unfortunately, I've been unable to find any official word on why Microsoft doesn't add .NET Core and other tools to the official Debian (and therefore Ubuntu) repositories, so I'm left to speculate.

I believe the main reason was actually that .Net Core couldn't satisfy the requirements of distributions when it comes to its build process. The dotnet/source-build repo exists specifically to fix that. I'm not sure what is the status of that work, but based on this page, I think it's still ongoing.

they created the package and named it ubuntu 19.04, version with reduced support, but did not put it for the Debian lts buster ... ubunto 19.04 is pretty much Debian buster in package versions.
about dotnet core 2.2:
the Ubuntu 19.04 package works perfectly on debian 10, the systems have the same dependencies.
package creators seem to be unaware of such compatibility, in Debian buster unfortunately have to use the package named ubuntu 19.04 which is fully compatible or use the binaries ..
missing of respect for the Debian user.

@glaulher Packaging for Debian and allowing it to flow down to (the admittedly more popular) Ubuntu, Mint, Kali, and other distributions, seems sensible to me. It's also recommended by Ubuntu:

There are a number of paths that a package can take to enter Ubuntu. In most cases, going through Debian first can be the best path. This way ensures that your package will reach the largest number of users as it will be available in not just Debian and Ubuntu but all of their derivatives as well.

Source: http://packaging.ubuntu.com/html/packaging-new-software.html

the Ubuntu 19.04 package works perfectly on debian 10, the systems have the same dependencies.
package creators seem to be unaware of such compatibility, in Debian buster unfortunately have to use the package named ubuntu 19.04 which is fully compatible or use the binaries ..

We're aware, this is intentional. There's a discussion at https://github.com/dotnet/core/issues/2576 about making the dropdown track the list of active distros better. There's actually a Debian 10 feed that should work--it just isn't exposed in the dropdown due to some complications.
This is a tangent, though--the Debian packages on dot.net do not meet the Debian distro requirements. @svick is spot on with https://github.com/dotnet/core/issues/3286#issuecomment-526804885.

There are a number of paths that a package can take to enter Ubuntu. In most cases, going through Debian first can be the best path. This way ensures that your package will reach the largest number of users as it will be available in not just Debian and Ubuntu but all of their derivatives as well.

@dseefeld is there a recent doc about what repos we're targeting? https://github.com/dotnet/source-build/issues/782 mentions a few possibilities (including Debian) but I'm not sure if that's up to date.

Source-build is targeting Fedora first.  Others to follow, but which distro is still up in the air.

Thanks, @dagood. The issue you referenced clearly documents the negative impacts of the current situation. Hopefully Microsoft will prioritise the issue, possibly after .NET Core 3.0 has been released - which I suspect is your current focus.
Making it easy for people to get to "Hello, world" in as few steps as possible is crucial for adoption.

Thanks for the interest in this project; rest assured that the work is prioritized and we should start to see fruit in the near future. I'm going to close this issue as there are other places where the work is tracked.


Error after Register

Hello,
I am getting the following error after registration
Call to undefined function CodeIgniter\Shield\Controllers\auth()
I am a newbie to CodeIgniter and I am using the dev-develop version of codeigniter4/shield

Regards,

Hello @sanjeevdivekar , welcome to shield.
This problem is related to not adding
 $this->helpers = array_merge($this->helpers, ['auth', 'setting']);

to file app\Controllers\BaseController.php.
Please run the following command to fix this problem:
> php spark shield:setup

For more info see installation
Also, if possible, from now on, please register your questions in this section.
Thank you!

Thank you very much @datamweb for your quick response.
My Problem is solved


I keep getting yabai scripting-addition notification

I keep getting the notification "Yabai scripting-addition payload v1.0.26". It pops non stop, like 10 times each minute. It seems the payload is injected successfully. I am on yabai-v3.3.4 and macOS 10.15.7 (19H114)

I ended up turning off the scripting addition. The payload is actually re-injected in an infinite loop which causes the minimized windows to re-appear again.
I'd appreciate any insight on why this is happening and how to fix it.

So unless you've done something in your configuration, the scripting addition will load either when yabai is launched, or when the Dock application is restarted (and yabai is already running).
If you experience an injection-loop, my assumption would be that either the Dock or yabai is continuously crashing on your system and being restarted by the launchd service. You can look in Console.app for crash logs to see if this is the case.
If that is not the case, I would make sure to do a full uninstall of yabai, and do a fresh install of the latest version.

I'm having this same problem just now after the last supplement update on 10.15.7

I'm also having similar problems on macOS Catalina 10.15.7. I do not get the notification, but the dock seems to constantly restart - my background flashes black and windows unfocus and focus. When this happens, I am unable to switch workspaces with yabai, which makes me think it is a scripting addition error. I am seeing logs in Console.app indicating that the scripting addition is crashing:

Console.app log
Feb 18 23:36:45 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:36:54 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4283]): Service exited with abnormal code: 1
Feb 18 23:36:54 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4284]): could not terminate service: 3: No such process
Feb 18 23:36:55 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4285]): Service exited with abnormal code: 1
Feb 18 23:36:55 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:05 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4299]): could not terminate service: 3: No such process
Feb 18 23:37:05 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4298]): Service exited with abnormal code: 1
Feb 18 23:37:06 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4300]): Service exited with abnormal code: 1
Feb 18 23:37:06 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:07 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.mdworker.shared.0C000000-0500-0000-0000-000000000000[4144]): Service exited due to SIGKILL | sent by mds[81]
Feb 18 23:37:15 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4313]): Service exited with abnormal code: 1
Feb 18 23:37:17 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4315]): Service exited with abnormal code: 1
Feb 18 23:37:17 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:23 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.mdworker.shared.08000000-0400-0000-0000-000000000000[4207]): Service exited due to SIGKILL | sent by mds[81]
Feb 18 23:37:26 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4328]): Service exited with abnormal code: 1
Feb 18 23:37:27 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4330]): Service exited with abnormal code: 1
Feb 18 23:37:27 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:37 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4343]): Service exited with abnormal code: 1
Feb 18 23:37:37 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4344]): could not terminate service: 3: No such process
Feb 18 23:37:38 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4345]): Service exited with abnormal code: 1
Feb 18 23:37:38 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:47 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4358]): Service exited with abnormal code: 1
Feb 18 23:37:48 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4360]): Service exited with abnormal code: 1
Feb 18 23:37:48 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:58 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4373]): Service exited with abnormal code: 1
Feb 18 23:37:59 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4375]): Service exited with abnormal code: 1
Feb 18 23:37:59 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.

I'm not sure what to do. I've tried reinstalling the scripting addition and making sure yabai is the latest released version (3.3.7). For what its worth, I installed yabai through nix-darwin instead of homebrew, though I hope this shouldn't make a difference.

I have no idea what nix is doing so I can’t comment on that. I do know that I did run yabai on Catalina 10.15.7 without issues.
Please do try to either build from source and run manually from a terminal or install using homebrew.
Sent from my iPhone
On 19 Feb 2021, at 06:40, Abraham White<EMAIL_ADDRESS>wrote:

I'm also having similar problems on macOS Catalina 10.15.7. I do not get the notification, but the dock seems to constantly restart - my background flashes black and windows unfocus and focus. When this happens, I am unable to switch workspaces with yabai, which makes me think it is a scripting addition error. I am seeing logs in Console.app indicating that the scripting addition is crashing:
Console.app log
Feb 18 23:36:45 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:36:54 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4283]): Service exited with abnormal code: 1
Feb 18 23:36:54 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4284]): could not terminate service: 3: No such process
Feb 18 23:36:55 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4285]): Service exited with abnormal code: 1
Feb 18 23:36:55 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:05 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4299]): could not terminate service: 3: No such process
Feb 18 23:37:05 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4298]): Service exited with abnormal code: 1
Feb 18 23:37:06 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4300]): Service exited with abnormal code: 1
Feb 18 23:37:06 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:07 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.mdworker.shared.0C000000-0500-0000-0000-000000000000[4144]): Service exited due to SIGKILL | sent by mds[81]
Feb 18 23:37:15 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4313]): Service exited with abnormal code: 1
Feb 18 23:37:17 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4315]): Service exited with abnormal code: 1
Feb 18 23:37:17 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:23 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.mdworker.shared.08000000-0400-0000-0000-000000000000[4207]): Service exited due to SIGKILL | sent by mds[81]
Feb 18 23:37:26 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4328]): Service exited with abnormal code: 1
Feb 18 23:37:27 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4330]): Service exited with abnormal code: 1
Feb 18 23:37:27 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:37 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4343]): Service exited with abnormal code: 1
Feb 18 23:37:37 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.dock.extra[4344]): could not terminate service: 3: No such process
Feb 18 23:37:38 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4345]): Service exited with abnormal code: 1
Feb 18 23:37:38 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:47 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4358]): Service exited with abnormal code: 1
Feb 18 23:37:48 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4360]): Service exited with abnormal code: 1
Feb 18 23:37:48 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
Feb 18 23:37:58 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (com.apple.Dock.agent[4373]): Service exited with abnormal code: 1
Feb 18 23:37:59 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa[4375]): Service exited with abnormal code: 1
Feb 18 23:37:59 Abrahams-Mac-Pro com.apple.xpc.launchd[1] (org.nixos.yabai-sa): Service only ran for 1 seconds. Pushing respawn out by 9 seconds.
I'm not sure what to do. I've tried reinstalling the scripting addition and making sure yabai is the latest released version (3.3.7). For what its worth, I installed yabai through nix-darwin instead of homebrew, though I hope this shouldn't make a difference.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/koekeishiya/yabai/issues/764#issuecomment-781837966, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABPDZVZVY7BDF2U7JG3ITLTS7X2VTANCNFSM4U6WABSA.

I'll try building from source and see if that helps.

I had some remnants of nix-darwin testing as well, perhaps that contributing to the problem. I'll dig into that.
Here's the output when yabai is run in the foregroundm ,it just keeps repeating:
yabai configuration loaded..
process_is_observable: Dock (3554) is blacklisted! ignoring..
EVENT_HANDLER_DOCK_DID_RESTART:
yabai: scripting-addition successfully injected payload into Dock.app..
yabai: osax version = 1.0.26, osax attrib = 0x3F
process_is_observable: com.apple.dock.extra (3555) was marked as xpc service! ignoring..
process_is_observable: Dock (3569) is blacklisted! ignoring..
EVENT_HANDLER_DOCK_DID_RESTART:
yabai: scripting-addition successfully injected payload into Dock.app..
yabai: osax version = 1.0.26, osax attrib = 0x3F
process_is_observable: com.apple.dock.extra (3570) was marked as xpc service! ignoring..
process_is_observable: Dock (3584) is blacklisted! ignoring..
EVENT_HANDLER_DOCK_DID_RESTART:
yabai: scripting-addition successfully injected payload into Dock.app..
yabai: osax version = 1.0.26, osax attrib = 0x3F
process_is_observable: com.apple.dock.extra (3585) was marked as xpc service! ignoring..

The problem for me was lingering configuration of nix-darwin installed instance of yabai. After removing nix-darwin and switching back to brew installed yabai version, the service at /Library/LaunchDaemons/org.nixos.yabai-sa.plist was left over and competing with the brew install yabai, causing a crashloop. Stopping/Unloading/Removing org.nixos.yabai-sa and restarting resolved it for me.

I removed org.nixos.yabai-sa and that solved the issue. I've wrote my own yabai nix module and manually install the scripting addition after I do a darwin-rebuild, and I'm not getting the bug anymore. It definitely is an issue with the scripting addition service that is added by nix-darwin.

On Feb 25, 2021, at 12:24, Sean Escriva<EMAIL_ADDRESS>wrote:

The problem for me was lingering configuration of nix-darwin installed instance of yabai. After removing nix-darwin and switching back to brew installed yabai version, the service at /Library/LaunchDaemons/org.nixos.yabai-sa.plist was left over and competing with the brew install yabai, causing a crashloop. Stopping/Unloading/Removing org.nixos.yabai-sa and restarting resolved it for me.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

@WhiteAbeLincoln I'm having the same issue with the scripting-addition module in nix-darwin:

...but the dock seems to constantly restart - my background flashes black and windows unfocus and focus. When this happens, I am unable to switch workspaces with yabai...

Would you mind sharing what your solution was?

Mac mini M1, just updated to 12.2 from 11.x. Had to disable SIP again.
Having this popup constantly. I have uninstalled/reinstalled yabai and the loading script. Still the same problem. I have one space that is floating, the rest are tiling. In the floating space, as soon as I open something it tiles everything. Afterwards I can still move things around.
In the tiling spaces, the windows are reordered based on alphabetical order it seems.
Console.app is not reporting anything in particular.  Given that the issue is opened since 2020 I suppose we are not that many people with this problem?

I tried the dev version and it seems to work if anyone else is in a similar setup as I am.


Contribution policies

I've raised this issue over at the Carnegie Museum's collection repo: what is the contributor policy for this repo, i.e. if you had a CONTRIBUTOR page, what would it say?
Since the data here are (presumably) generated from your internal collections management system, the usual pull request system may not work, as you would want to effect changes to either the content or presentation of these data in the upstream CMS and/or scripts. Should all suggested changes go through issues? And what would your process be for addressing them?
I understand this would likely involve part of a larger internal discussion by the maintainers - but it'd be great to have some process documentation.

Hello,
Thanks for bringing this up. Yes, the data is generated from our internal collection database, so we wouldn't accept pull requests for the reasons you mention. Instead, it would be more helpful for people to email us and we can bring it up with curatorial departments to address directly in our internal database. (I believe this is what CMOA is also doing.) We've updated the ReadMe to document this.
Thanks,
Jackie


feat(pd): support real addrs in testnet generate

Removed the default RFC1918 addresses from the pd testnet generate logic. Added two new options:

--peer-address-template
--external-addresses

The goal is to allow a node operator to pass in public IPv4 address information at the time of config generation, so the emitted config files are valid without further munging, particularly with respect to the external_address Tendermint advertises for its P2P service.
This change unblocks a leaner deployment pipeline, where we actually use the results of the pd testnet generate output, as intended.
Also: fix(pd) support urls in testnet join
We were inadvertently dropping paths on URLs by prepending / to Url.join args, which caused the join operation to be performed on the base domain, ignoring any path. We didn't notice this because all our services had been on their own subdomains.

I've done some manual testing of the deploy logic, against an ad-hoc devnet, to ensure that these changes will work fine with existing deployments. These changes unblock simplifying the CI logic, but those changes will come in separately, in order to keep things rolling smoothly, and to aid in review.


[Bug]: onPageLoad actions sporadically failing

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I have a couple of queries on the page:
https://release.app.appsmith.com/app/vtx-onboarding-tool/currencies-626fb4c4afffd379fcf0c844/edit

querySelectActiveCurrencies
selectCurrentSelectedCurrency (Expected to fail as not configured correctly)

We can see the queries are getting executed on edit mode but seeing some random behavior on view mode.
Page where we are seeing the failures : https://release.app.appsmith.com/app/vtx-onboarding-tool/currencies-626fb4c4afffd379fcf0c844
Query name which populates the tree widget querySelectActiveCurrencies
In edit mode we can see widget getting populated correctly but it’s intermittent on view mode.
Widget name: vayMultipleCurrencySelection
Slack conversation: https://theappsmith.slack.com/archives/C0341RERY4R/p1651501371020359?thread_ts=1651067937.099729&cid=C0341RERY4R

Note: This is an imported application but we have seen some instances where users complained this is happening for normal applications as well.
Steps To Reproduce

Check the importd application on edit mode
Both the actions gets executed every time in edit mode
Intermittently execute call is missing in view mode

Public Sample App
No response
Version
Cloud v1.6.23

Theming changes have brought back the parallelization of init calls in view mode.


Pass Manager Visualization Tests fail locally

Information

Qiskit Terra version: Master
Python version: 3.7
Operating system: Linux
dot - graphviz version 2.40.1 (0)

What is the current behavior?
When running the terra unit tests locally from a fresh master with no local modification the image comparison in the pass manager visualization tests fail for me locally. Either we need to relax the comparison threshold or make the image drawing deterministic
test.python.visualization.test_pass_manager_drawer.TestPassManagerDrawer.test_pass_manager_drawer_basic
-------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    b'Traceback (most recent call last):'
    b'  File "/home/computertreker/git/qiskit/qiskit-core/test/python/visualization/test_pass_manager_drawer.py", line 52, in test_pass_manager_drawer_basic'
    b"    self.assertImagesAreEqual(filename, path_to_diagram_reference('pass_manager_l0_ref.png'))"
    b'  File "/home/computertreker/git/qiskit/qiskit-core/test/python/visualization/visualization.py", line 62, in assertImagesAreEqual'
    b'    .format(diff_tolerance * 100))'
    b'  File "/usr/lib64/python3.7/unittest/case.py", line 692, in assertTrue'
    b'    raise self.failureException(msg)'
    b'AssertionError: False is not true : The images are different by more than a 0.1%'
    b''

test.python.visualization.test_pass_manager_drawer.TestPassManagerDrawer.test_pass_manager_drawer_style
-------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    b'Traceback (most recent call last):'
    b'  File "/home/computertreker/git/qiskit/qiskit-core/test/python/visualization/test_pass_manager_drawer.py", line 69, in test_pass_manager_drawer_style'
    b"    path_to_diagram_reference('pass_manager_l1_style_ref.png'))"
    b'  File "/home/computertreker/git/qiskit/qiskit-core/test/python/visualization/visualization.py", line 62, in assertImagesAreEqual'
    b'    .format(diff_tolerance * 100))'
    b'  File "/usr/lib64/python3.7/unittest/case.py", line 692, in assertTrue'
    b'    raise self.failureException(msg)'
    b'AssertionError: False is not true : The images are different by more than a 0.1%'
    b''

Steps to reproduce the problem
Run unit tests with graphviz installed
What is the expected behavior?
The tests pass
Suggested solutions
Either we need to relax the comparison threshold or make the image drawing deterministic

I also doubt these tests will work in travis, it looks like we're skipping them because graphviz isn't installed in the CI environment: https://travis-ci.com/Qiskit/qiskit-terra/jobs/202883754#L2216
In a patch that fixes this we should add graphviz to the installed package list to verify this works everywhere.

These are the images being generated locally for me by the 2 failing  tests:
current_l1.png:

current_l0.png:

is this an exclusive image comparison issue (like a slightly different alignment)? Maybe a font availability issue?

@1ucian0 is correct, it looks like the font is different see :

I will have a look at pinning this so that it is the same everywhere.

Fonts might vary a lot in each platform. Ideally, we should try to find the same font for every platform, but it might not be possible. We should consider alternatives if that's a dead-end.

What about dumping the pydot graph to DOT and asserting based on that? We can still verify that we are building the graph correctly, and leave pydot to draw the graph consistently. It should be more robust to changes in environment (and would be diffable!)


edit createGlobalState to mimic react state, enable use of functional…

… updates and strip undefined type when initialState is provided
Description
Improve compatibility with react's useState by utilizing the pre-defined types and enabling functional updates
Type of change

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

Checklist

[x] Read the Contributing Guide
[x] Perform a code self-review
[ ] Comment the code, particularly in hard-to-understand areas
[ ] Add documentation
[ ] Add hook's story at Storybook
[ ] Cover changes with tests
[ ] Ensure the test suite passes (yarn test)
[ ] Provide 100% tests coverage
[ ] Make sure code lints (yarn lint). Fix it with yarn lint:fix in case of failure.
[ ] Make sure types are fine (yarn lint:types).

Please use resolveHookState from utils


Update index.md

Corrected The spelling of potential.
Added extra info about CI

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Correction and additional info


override Dataset setattr function

Following up on our discussion on your Eureka! PR

I wonder if it is possible to write xarrays using data.bg = bg_data by writing a custom __setattr__ function for the Astraeus objects. It'd save a lot of annoyance and inconsistency between accessing and setting attributes. I don't know why that isn't already possible (maybe there's a good reason they forbid it), but it seems to me like a simple setattr function that converts the data.bg = bg_data syntax to the currently required data['bg'] = bg_data syntax (programatically so it's not just for one particular attribute) should be pretty easy. I can try fiddling around with that if you're interested.

Originally posted by @taylorbell57 in https://github.com/kevin218/Eureka/pull/303#discussion_r859111980
With this commit, it is possible to do Dataset.name = value instead of the usual Dataset['name'] = (coords, value).
There may be a good reason that this is currently blocked by xarray, but none immediately came to mind so I thought this would be worth trying.
An alternative to this is to do Dataset.name.data = value if your 'name' DataArray was called 'data'. This is already possible with the default xarray Dataset object.

Ah no, I forgot and am away from my laptop for the evening. I can check the tests in the morning if you don't beat me to it

As you can probably see, the builds pass but the documentation fails... oddly it's a permissions issue.

Can you provide a working example?  I'm getting errors on everything I try.

Sorry, are you still having issues? I can run the tests and build the docs without issues locally. Are you encountering errors using the package, or were the errors you were getting related to the documentation building failing?

The following works for me as a working example:
In [1]: from src.astraeus import xarrayIO
   ...: from copy import deepcopy
   ...: import numpy as np

In [2]: lcdata = xarrayIO.makeLCDA(np.zeros((1, 100)), np.array([4.5,]), np.arange(100), 'ELECTRONS', 'MICRONS', 'DAYS', name='data')
   ...: lcerr = deepcopy(lcdata)
   ...: lcerr.data += 1
   ...: lc = xarrayIO.Dataset({'data': lcdata, 'err': lcerr})

In [3]: lc.data
Out[3]:
<xarray.DataArray 'data' (wavelength: 1, time: 100)>
array([[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
        0., 0., 0., 0.]])
Coordinates:
  * wavelength  (wavelength) float64 4.5
  * time        (time) int64 0 1 2 3 4 5 6 7 8 9 ... 91 92 93 94 95 96 97 98 99
Attributes:
    flux_units:  ELECTRONS
    wave_units:  MICRONS
    time_units:  DAYS

In [4]: lc.data = lcerr.data

In [5]: lc.data
Out[5]:
<xarray.DataArray 'data' (wavelength: 1, time: 100)>
array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
        1., 1., 1., 1.]])
Coordinates:
  * wavelength  (wavelength) float64 4.5
  * time        (time) int64 0 1 2 3 4 5 6 7 8 9 ... 91 92 93 94 95 96 97 98 99

I have no problem with the tests until I add the following at the end of test_makeDA() to test the new functionality:
ds1.t = ds2.t
The statement appears functionally identical to your example (i.e., lc.data = lcerr.data), but throws an error. Also, I can get your example code to work just fine, so I know there's no problem there.

Ok, I think I've at least partially figured out what's going on.  Changing your variable name from data to flux breaks your example.  Similarly, using ds1.t.data = ds2.t.data appears to work, but isn't much better than the old implementation.

Also:
lc.flux = lc.err.data

ds1.t.data = ds2.t.data is by default enabled by xarray (doesn't use any of my edits). If you want to be able to do ds1.t = ds2.t, I can likely add another hack that catches that particular exception and converts the command to ds1.t = ds2.t.data


Ensure Cluster ID label is set on Machine template

This label is required by the Machine controller to be able to create machines, so is validated by the Machine webhook already. However, we also need the cluster ID to be able to name the Machines. Rather than making the user set this twice, re-use the existing API and ensure the value is set through webhook validation.

/lgtm
Just the lint errors 😀

/lgtm

/approve


autoRotateInactivityDelay not working

Hi, thanks a lot for that great tool.
I've got a problem with autoRotateInactivityDelay. The rotation doesn't start after the inactivity delay time.
Maybe I just made a simple mistake.
config.json
Website with pano on it
Frank
It would be awesome to switch hotspots on and off with a button...not how I did it :-)

It's a known bug (someone emailed me about it yesterday). I'm working on fixing it.

It should be fixed now.


Support other types of doc comments

It would be great if this tool also supported other forms of doc comments. Especially the outer line doc form (///).

Thanks @mbhall88 ! Could you try out version 0.15.0 which contains (lightly tested) support for /// comments and let me know how it works?

Thanks @fornwall it seems to work as expected for me.


Strikethrough not supported?

Even though there is an option in Markdown (presented in February 2014) to strike through the text, it seems that markdoc is not supporting it currently.
So:
~~text~~

should return the text with a strike through (like this one).

markdoc uses Python-Markdown to process markdown, therefore this issue is with Python-Markdown, not markdoc.
In fact, this issue was already raised with Python-Markdown but rejected. See https://github.com/waylan/Python-Markdown/issues/221 .


IMU jittering when running with Ouster 64 LiDAR on ROS2 even after ptp time synchronization

Hello TixiaoShan, I am trying to run LIOSAM using an Ouster 64 LiDAR and Xsens MTi 670G 9-axis IMU on ROS2 Foxy.  I used the bluespace_ai repo for the imu and the ouster_ros  drivers provided by ouster for the lidar. At first when the data was not visible on the rviz screen, I got to know that there was a time synchronization issue between my ouster and imu. After using the sudo ptpd -i enxa0cec8fb57c3 -M -V which synchronized the header stamps of both the /ouster/points and /imu/data, I could observe the LIOSAM data on the rviz screen. But then I started getting the below error.
[lio_sam_imuPreintegration-3] [ERROR] [1689143066.422097210] [lio_sam_imuPreintegration]: Lookup would require extrapolation at time<PHONE_NUMBER>.255501, but only time<PHONE_NUMBER>.262720 is in the buffer, when looking up transform from frame [base_link] to frame [lidar_link] [lio_sam_imuPreintegration-3] [WARN] [1689143067.443115554] [lio_sam_imuPreintegration]: Large velocity, reset IMU-preintegration!
https://github.com/TixiaoShan/LIO-SAM/assets/87766686/3e97b3d6-385d-4639-a55c-ed92c975a182
Please help me understand what the problem here is and help me rectify the issue. Given below is my param file.
/**:
ros__parameters:
# Topics
pointCloudTopic: "/ouster/points"                   # Point cloud data
imuTopic: "/imu/data"                        # IMU data
odomTopic: "odometry/imu"                    # IMU pre-preintegration odometry, same frequency as IMU
gpsTopic: "/gps_xsens"                    # GPS odometry topic from navsat, see module_navsat.launch file

# Frames
lidarFrame: "lidar_link"
baselinkFrame: "base_link"
odometryFrame: "odom"
mapFrame: "map"

# GPS Settings
useImuHeadingInitialization: true          # if using GPS data, set to "true"
useGpsElevation: false                       # if GPS elevation is bad, set to "false"
gpsCovThreshold: 2.0                         # m^2, threshold for using GPS data
poseCovThreshold: 25.0                       # m^2, threshold for using GPS data

# Export settings
savePCD: false                               # https://github.com/TixiaoShan/LIO-SAM/issues/3
savePCDDirectory: "/Downloads/LOAM/"         # in your home folder, starts and ends with "/". Warning: the code deletes "LOAM" folder then recreates it. See "mapOptimization" for implementation

# Sensor Settings
sensor: ouster                               # lidar sensor type, either 'velodyne', 'ouster' or 'livox'
N_SCAN: 64                                   # number of lidar channels (i.e., Velodyne/Ouster: 16, 32, 64, 128, Livox Horizon: 6)
Horizon_SCAN: 1024                            # lidar horizontal resolution (Velodyne:1800, Ouster:512,1024,2048, Livox Horizon: 4000)
downsampleRate: 1                            # default: 1. Downsample your data if too many
# points. i.e., 16 = 64 / 4, 16 = 16 / 1
lidarMinRange: 1.0                           # default: 1.0, minimum lidar range to be used
lidarMaxRange: 1000.0                        # default: 1000.0, maximum lidar range to be used

# IMU Settings
imuAccNoise: 3.9939570888238808e-03
imuGyrNoise: 1.5636343949698187e-03
imuAccBiasN: 6.4356659353532566e-05
imuGyrBiasN: 3.5640318696367613e-05

imuGravity: 9.80511
imuRPYWeight: 0.01

extrinsicTrans:  [ 0.0,  0.0,  0.0 ]
extrinsicRot:    [-1.0,  0.0,  0.0,
                   0.0,  1.0,  0.0,
                   0.0,  0.0, -1.0 ]
extrinsicRPY: [ 0.0,  1.0,  0.0,
               -1.0,  0.0,  0.0,
                0.0,  0.0,  1.0 ]

# LOAM feature threshold
edgeThreshold: 1.0
surfThreshold: 0.1
edgeFeatureMinValidNum: 10
surfFeatureMinValidNum: 100

# voxel filter paprams
odometrySurfLeafSize: 0.4                     # default: 0.4 - outdoor, 0.2 - indoor
mappingCornerLeafSize: 0.2                    # default: 0.2 - outdoor, 0.1 - indoor
mappingSurfLeafSize: 0.4                      # default: 0.4 - outdoor, 0.2 - indoor

# robot motion constraint (in case you are using a 2D robot)
z_tollerance: 1000.0                          # meters
rotation_tollerance: 1000.0                   # radians

# CPU Params
numberOfCores: 4                              # number of cores for mapping optimization
mappingProcessInterval: 0.15                  # seconds, regulate mapping frequency

# Surrounding map
surroundingkeyframeAddingDistThreshold: 1.0   # meters, regulate keyframe adding threshold
surroundingkeyframeAddingAngleThreshold: 0.2  # radians, regulate keyframe adding threshold
surroundingKeyframeDensity: 2.0               # meters, downsample surrounding keyframe poses
surroundingKeyframeSearchRadius: 50.0         # meters, within n meters scan-to-map optimization
# (when loop closure disabled)

# Loop closure
loopClosureEnableFlag: true
loopClosureFrequency: 1.0                     # Hz, regulate loop closure constraint add frequency
surroundingKeyframeSize: 50                   # submap size (when loop closure enabled)
historyKeyframeSearchRadius: 15.0             # meters, key frame that is within n meters from
# current pose will be considerd for loop closure
historyKeyframeSearchTimeDiff: 30.0           # seconds, key frame that is n seconds older will be
# considered for loop closure
historyKeyframeSearchNum: 25                  # number of hostory key frames will be fused into a
# submap for loop closure
historyKeyframeFitnessScore: 0.3              # icp threshold, the smaller the better alignment

# Visualization
globalMapVisualizationSearchRadius: 1000.0    # meters, global map visualization radius
globalMapVisualizationPoseDensity: 10.0       # meters, global map visualization keyframe density
globalMapVisualizationLeafSize: 1.0           # meters, global map visualization cloud density

Below is my ros2 topic echo /imu/data output
`header:
stamp:
sec:<PHONE_NUMBER>
nanosec: 606412815
frame_id: imu_link
orientation:
x: 0.005952544044703246
y: 0.0018730583833530547
z: 0.7793466448783876
w: 0.6265620589256288
orientation_covariance:

0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
angular_velocity:
x: 0.002523512346670032
y: 0.0012271108571439981
z: 0.0061087324284017095
angular_velocity_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
linear_acceleration:
x: 0.14233146607875827
y: 0.11354672908782959
z: 9.771704673767092
linear_acceleration_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

header:
stamp:
sec:<PHONE_NUMBER>
nanosec: 606431003
frame_id: imu_link
orientation:
x: 0.005959950853139163
y: 0.001867177779786289
z: 0.7793502807617188
w: 0.626557469367981
orientation_covariance:

0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
angular_velocity:
x: 0.00379905104637146
y: 0.001052767038345337
z: 0.0029958786908537154
angular_velocity_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
linear_acceleration:
x: 0.15900063514709473
y: 0.1538238227367401
z: 9.762189865112305
linear_acceleration_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

header:
stamp:
sec:<PHONE_NUMBER>
nanosec: 606439712
frame_id: imu_link
orientation:
x: 0.005967925302684307
y: 0.001866090577095747
z: 0.7793502807617188
w: 0.6265574097633363
orientation_covariance:

0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
angular_velocity:
x: 0.004962087143212558
y: -0.0017598273698240519
z: -0.001525879022665322
angular_velocity_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
linear_acceleration:
x: 0.18896546959877014
y: 0.12667472660541537
z: 9.788558006286623
linear_acceleration_covariance:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

`

The problem was my extrensicRPY and Rot matrices. the problem got solved after I changed them to unit matrices

@klausmikealsontheking : will it be okay to share your ros2 bag?


Fix migration dependencies

Use the latest migration from the uk_poltical_parties app.
0005_auto_20160403_1447 doesn’t exist there.

Thanks Paul – sorry about the test fail, I'll push a fix to it now – it's a circular import in https://github.com/DemocracyClub/electionleaflets/blob/master/electionleaflets/celery.py. One of those situations where I don't know how it ever worked :/

Ah ok, I was just looking at fixing that test failure :)


Ensure customers do not have to replicate stored proc parameters in the config.

Stored procedure today, is trying to validate that number of params in config == number of params in sp definition. this makes it difficult for customer as they have to respecify all the parameters in the  sp in the config again. Our validation should only ever fail in two scenarios:

The customer provides inputs in the config that dont match whats there in the stored proc.
The customer does not provide input in the query and there is no backing default in the config. (ideally if there was a default on the db stored proc we should have detected it but it seems very hard for sql). As a workaround, customer can just define that default in the config if they want.

Difficulties in determining whether a stored procedure parameter has default values:

Documented by microsoft -

https://learn.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-sql-modules-transact-sql?view=sql-server-ver16
There are some alternatives but they are flaky -https://copyprogramming.com/howto/get-default-value-of-stored-procedure-parameter

We can try the SQL DOM approach but the focus on this pr is to ensure that irrespective of whether there is or is not a default parameter customers can query their endpoint. If there is no query parameter provided and nothing specified in config we error out (even if for now they have a default defined in the db.)

Changes look good, but I did not see a negative case to provide test coverage for the cases you mention in the description about validation failing in the config validation tests or in the sp builder tests. Can you double check if we have a test of this, and if not add an issue to track adding if not adding to this PR itself?

Ideally, I think these cases make sense to me:

The parameter does not have a default value specified in the stored proc definition and in the config:
-> User needs to provide value for that param
The parameter does not have a default value specified in the SP definition but has a default value specified in the config:
-> User does not need to provide value for the param and we will use the value from the config.
The parameter has a default value specified in the SP definition and in the config (do we want to allow this scenario?):
-> User does not need to provide value for the param and we will use the value from the config.
The parameter has a default value specified in the SP definition but not in the config:
-> User does not need to provide value for the param and we will use the value from the SP definition.

For doing this, we would need the metadata about whether a param has default value in the SP definition or not.

Ideally, I think these cases make sense to me:

The parameter does not have a default value specified in the stored proc definition and in the config:
-> User needs to provide value for that param
The parameter does not have a default value specified in the SP definition but has a default value specified in the config:
-> User does not need to provide value for the param and we will use the value from the config.
The parameter has a default value specified in the SP definition and in the config (do we want to allow this scenario?):
-> User does not need to provide value for the param and we will use the value from the config.
The parameter has a default value specified in the SP definition but not in the config:
-> User does not need to provide value for the param and we will use the value from the SP definition.

For doing this, we would need the metadata about whether a param has default value in the SP definition or not.
Looks like the problem is SP definition cannot reliably provide us information whether the parameter has a default or not + we dont know what the value would be.

LGTM. Thanks for fixing this! Would be nice if we can have a follow up for checking SP metadata using sys.sql_modules or OBJECT_DEFINITION as the docs suggest for finding if the parameter has default or not.

/azp run

/azp run


Git panel

Adds a panel to CommandCenter's main panel which parses and colorfully displays info from git (git status, git branch, ...). Most importantly, it displays things in red or orange (being behind or having untracked changes; uncommitted modified files) to encourage users to fix these things. This is useful to avoid copies of CommandCenter which are year(s) behind. It also includes a menu (right click) which reminds the user of useful git sequences, and the tooltip displays raw output from git status.

Ah - one other thing I forgot. I would absolutely remove options for any easily accessible command that changes files (e.g. git pull, git checkout). There is a file menu option for git pull that works on master (can be generalized super easy though) which goes through closing everything, unloading all locked files and relaunching. Being able to easily access this without all of that pipeline of activity is quite dangerous because of files locked in memory.


feat: make alchemy-sdk optional

Pull Request Checklist

[ ] Did you add new tests and confirm existing tests pass? (yarn test)
[ ] Did you update relevant docs? (docs are found in the site folder, see guidleines below)
[ ] Do your commits follow the Conventional Commits standard?
[ ] Does your PR title also follow the Conventional Commits standard?
[ ] If you have a breaking change, is it [correctly reflected in your commit message](https://www.conventionalcommits.org/en/v1.0.0/#examples? (e.g. feat!: breaking change)
[ ] Did you run lint (yarn lint:check) and fix any issues? (yarn lint:fix)
[ ] Is the base branch you're merging into development and not main?

PR-Codex overview
This PR updates the alchemy-sdk dependency to version 3.0.0 and changes the peer dependency to an optional dependency.
Detailed summary

Updated alchemy-sdk dependency from 2.8.3 to 3.0.0
Changed peer dependency to optional dependency in package.json
Updated import statement in provider.ts
Added import statement in getting-started/provider.1.ts
Updated documentation in withAlchemyEnhancedApis.md
Updated alchemy-sdk version in yarn.lock

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Current dependencies on/for this PR:

development

PR #250

PR #254

PR #255

PR #256

PR #265   👈

This stack of pull requests is managed by Graphite.


Crashing when opened offline

Can the app open offline or is it an emulator of the online version? When I open the app offline it just shows a white screen. I'd love to be able to play bots or whatever if possible. Also, you're the only guy with this windows app that I know of, so kudos to you!

Yeah, it won't work offline, but what you CAN do, at least you used to, is open the page online, navigate to the bots page, and then go offline and play.

Yeah, it won't work offline, but what you CAN do, at least you used to, is open the page online, navigate to the bots page, and then go offline and play.


mark CSIMigrationAzureFile as GA

mark CSIMigrationAzureFile as GA, refer to https://github.com/kubernetes/kubernetes/pull/113160

/lgtm

/lgtm


CPlus: Watch betking.com

CPlus requests the watch of the watch_keyword betking\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

betking\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Promoted via a link shortener
https://chat.stackexchange.com/transcript/message/65302880#65302880

Approved by tripleee in Charcoal HQ


Permit semicolon line terminators (?)

Still not sure if I want this, but maybe...

I'm leaning towards "no" since I don't think it adds much value other than familiarity. I don't really ever think there is a particularly good reason to just jam two statements on one line.

Fixed in commit f353b9d


Support other languages, get names from dict

Get Pokémon names from an imported dict instead of loading from a JSON, support other languages through a config option (default to English), make dict keys ints so that casting to str is unnecessary, remove JSON import and loading from db.py since it was not used.

Thanks!


🐛 antifreeze workflow failed

Hate to be the bearer of bad news but I've gotten the following now two nights in a row.

no bad news. ;) I may just kill it, and let jitpack freeze
it was unreliable, and I think the GH release is ok.

Should be fixed with 357d76c4564e1b0e2d93db3f8db17bacbe13570e
Let me know.

Didn't see an error yesterday so I'll close this. Thanks!


Add 'save to mongodb' feature or add more details about it in the README.md

Hi, I wanna save my logs to the database (MongoDB) but I don't wanna use morgan-mongodb or other packages. is there any way for me to do that by myself? something like this: save logs into a collection as a document before logging.

Thanks for your request! Unfortunately I am not familiar with mongodb in that way, so would not be able to add any such information. You're welcome to contribute it as a pull request, though!


Update tutorials to include python 3

Hi. I'm interested in contributing at least as far as setting up virtualenv for Python 3 on Macs.

Hey @tensory - you're awesome. Thanks for that PR! This is giving me the idea to make use of the wiki on github to help folks wanting to contribute with actually concrete TODOs.

Python 3 with windows 10 please

Will these projects still work with Python 3?


Module 8 - Project - Development Item

Closing as the project is complete and this item is no longer needed.


Absolute path needed to render with kdenlive

Hi,
I've only just learned about gyroflow, and it's looking really promising
thanks for all the work you've put in to this! :)
I've been getting it set up to use it with kdenlive, and the latest hurdle in
making that all work nice and painless seem to be that the plugin stores
the Project file as a relative path (relative to the <mlt root="..."> path).
So when I edit a new project, add the gyroflow effect to a clip and set the
project file, it all works great.
But if I save that project and then reopen kdenlive, or when I try to actually
render it, then gyroflow sees the relative path fragment as invalid, and I see
the same thing as in the third image shown here:
https://github.com/gyroflow/gyroflow-frei0r/issues/2
If I manually edit the kdenlive project file or mlt render script to make the
Project property an absolute path then everything works as expected.
I'm just not sure if that's something gyroflow is supposed to tell mlt with a
parameter in the effect xml file, or if it's supposed to handle it in the plugin
code by prepending the mlt root to a relative path before using it.

Hmm, that sounds like Kdenlive bug, beause in the plugin code, the path is not altered at all, never, it's just always treated as a string. The parameter is just string too, not path. The Path parameter type is created and handled by Kdenlive (based on the xml)

There's really nothing I can do on my side, the frei0r interface is dead simple and doesn't have any control over host application or anything host-specific. All that gyroflow plugin handles in lib.rs is a single String. The interpretation of it as a path is entirely on the host side and invisible to the frei0r plugin

In theory it would work if you could set the parameter in xml to string and just type the full path there manually, but it appears that there's no such type in the effect xml


Correct Help Text for UTF-16 Big Endian Encoder

Fix a couple of copy-and-paste typos

Awesome, thanks!


Find in Files:  backreference in regex search and replace not working with newlines

Issue Type: Bug
Create a text file and add the following:
this is the first line of the document.
this is the second one.

In the document, search for this:
(this is the first line)( of the document.)(\nthis is the second)( one.)

Replace the text with this:
$1$3

This gives the expected result.

Follow the exact same procedure with the Find in Files dialog.  This works in the absence of newline characters:

As soon as the search is extended to contain a multiline pattern, the backreferences are printed explicitly and not interpolated:

These types of replacements definitely worked in version 1.29 with much more complicated replace patterns, even using optional groups.
The results are the same regardless of whether "search.usePCRE2": true is set (originally released in 1.29, but deprecated in 1.37).


360wichita events

It doesn't appear that the site provides an API, but it might be nice to also grab (scrape) non-duplicate events from this page:
https://www.360wichita.com/events

Thanks for the suggestion @Mottie. I think 360Wichita is definitely somewhere we should pull from. It is going to be a challenge though.
I did some digging around in their RSS feeds and it looks like their "All Events" feed doesn't actually show much (https://www.360wichita.com/rss/events), but if you browse my category you get a more complete list: https://www.360wichita.com/rss/events/Entertainment
Maybe we could jump into each of the individual categories and pull out the info from there? Using the categories would also give us an idea of what tags we could attach to the events as well.

It looks like the "All Events" feed is only showing stuff for today (it's much easier to read the feed in Firefox btw). Their feed is weird too...
If I look at the entertainment feed, it only shows today's events, but looking in the more specific entertainment feeds like comedy isn't showing the event I see in the main entertainment feed at The Looney Bin.
I guess it'll take some more digging to get a more complete list of events.


/bin on IIS server

I have an error on IIS server because the /bin in the path of jsbarcode.
here you can see an explanation http://goo.gl/91e4iu
Can you consider change this folder name? maybe change for build.

or as in most distributions (see https://github.com/twbs/bootstrap, https://github.com/jquery/jquery, https://github.com/vakata/jstree, https://github.com/select2/select2, https://github.com/selectize/selectize.js) the folder containing minified and concatenated build artifacts is called dist containing subfolders for css / js / img / fonts
So the final folder layout would be
JsBarcode
  bin
    node
  dist
    js
      JsBarcode.all.min.js
  src

I was thinking about renaming the folder any way since bin stands for binary and that not really what the folder contains. @fschaeffer isn't this just used when the library actually contains css / img / js. Look for example at jQuery that you linked. They do not use the dist name but instead build (and they only have javascript files in the directory). Not really sure about this but makes a bit of sense at least.

But the question then becomes where to put the node files

@lindell you're right, I only searched the other distros where js and css are provided and they use the subfolder structure.
IMO build should contain files which are necessary to build a project (less / sass files and so on) whereas dist contains the result of a build (and minify) process...
As you're only providing JS files build would be a good start, though I still prefer dist, as it easier to get your head around when using a new lib .... anyway, build would also be fine

Was looking a bit more and dist seems to be the right way to do it. Do you still think it should be under dist/js even if there is not other output from the build process than javascript files?

For the time being I think they could be located under dist directly (as in e.g. JsTree), but who knows, maybe at some time additional files (like themes, locales or map.files) will be added so why not just start by embracing the "standard" way other libraries use ...

The new structure is now pushed. I wait for a jsdelivr pull request to merge before pushing the release.

New release pushed (v.3.3.6) with the new structure.


cirRNA DAQ updates

[x] add min_reads to bam generation
[x] remove BSJ based on this criteria:

150 min 5kb max for virus
150 min no max for human

[ ] #49

Finally settling on

Testing c2debce in /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_5

Error in rule ciri:
+ cd /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/ciri
+ '[' PE == PE ']'
+ bwa mem -t 56 -T 19 /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/ref/ref /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/trim/GI1_N.R1.trim.fastq.gz /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/trim/GI1_N.R2.trim.fastq.gz
+ perl /data/Ziegelbauer_lab/tools/CIRI_v2.0.6/CIRI2.pl -I GI1_N.bwa.sam -O /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/ciri/GI1_N.ciri.out -F /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/ref/ref.fa -A /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/ref/ref.fixed.gtf -G /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/ciri/GI1_N.ciri.log -T 56
+ samtools view -@56 -T /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/ref/ref.fa -CS GI1_N.bwa.sam
+ samtools sort -l 9 -T /lscratch/62298969/c24ed023-21e9-4cd4-bfff-dd82c2d5146c --write-index -@56 -O CRAM -o /gpfs/gsfs8/users/CBLCCBR/kopardevn_tmp/issue57_testing_6/results/GI1_N/ciri/GI1_N.ciri.cram -
[E::cram_populate_ref] Mismatching md5sum for downloaded reference
[E::cram_get_ref] Failed to populate reference for id 20
[E::cram_decode_slice] Unable to fetch reference #20:8390288-29065090

[E::cram_populate_ref] Mismatching md5sum for downloaded reference
[E::cram_get_ref] Failed to populate reference for id 169
[E::cram_decode_slice] Unable to fetch reference #169:135317-135413

[E::cram_next_slice] Slice decode failure
samtools sort: truncated file. Aborting

This could be related to the filesystem sluggishness of biowulf offlate ... need to add retry options to the pipeline!


Add postcode lookup component

Replaces an existing set of manual address fields with a postcode finder, if JS is available. The results are inserted into the manual fields, which can still be accessed if requested.
On the server side, a wrapper around the postcode lookup endpoint in Sirius,
Checklist

[x] I have updated the end-to-end tests to work with my changes

N/A, it's not in a form yet

[x] I have added styling for Dark Mode

Had to change the colour of hint text

[x] I have checked that my UI changes meet accessibility standards

It's keyboard navigable, the select box is announced because it auto-focuses

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.11 :tada:

Comparison is base (318f77e) 72.71% compared to head (15be2f6) 72.82%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #313      +/-   ##
==========================================
+ Coverage   72.71%   72.82%   +0.11%
==========================================
  Files          88       90       +2
  Lines        3496     3511      +15
==========================================
+ Hits         2542     2557      +15
  Misses        685      685
  Partials      269      269

Impacted Files
Coverage Δ

internal/server/postcode_lookup.go
100.00% <100.00%> (ø)

internal/server/server.go
82.31% <100.00%> (+0.12%)
:arrow_up:

internal/sirius/postcode_lookup.go
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


1.8.0 should have been 2.0.0

v1.8 switches to v4 file format, and v4 file format requires Argon2, thus a breaking change.

Also, sample code for using node-argon2, sodium-native, and a wasm implementation would be great.

Hi! KeeWeb has been supporting KDBXv4 for more than three years. Also we don't strictly follow semver and assign versions in more a common sense rather than breaking/non-breaking changes. So that a bigger change like whole UI or technology redesign would be 2.0, while small things like default file format no.

Just realized that that issue is in kdbxweb, not keeweb. However same applies, KDBXv4 has been supported for a long time and it shouldn't be a breaking change.


Puzzle mod has duplicate buttons

Originally reported by @ardissaps in #10:

Puzzle mod have 3 button on the setting menu which is if pressed open same screen (duplicate/redundant button).

The problem with Puzzle mod is most likely with the mod itself. My guess is that it is bundling separate mods which all have the same configuration screen.
Is it this mod: https://www.curseforge.com/minecraft/mc-mods/puzzle ?

Note to self: A work-around might be to look for duplicate mod titles, and/or config screen provider classes. It might also be worthwhile to try and hide configuration for mods that are imported indirectly from other mods.

Is it this mod: https://www.curseforge.com/minecraft/mc-mods/puzzle ?

Yes it is.

@mrniddala This is not the same issue. Please open a separate bug report.

Puzzle mod is here on Github: https://github.com/PuzzleMC/Puzzle

This was actually a sign of a deeper problem. Some mods bundle other, in a parent-child relationship. Most of the time, these bundled mods are library mods with no settings screen, but sometimes they are. For instance, ClothConfig adds a demo screen that is not really helpful.
I have now added functionality in 2.0.0 to hide such child mods by default (but still being able to access them if needed). I have verified that there is now only a single Puzzle button.


Convert README.md to README.rst

Close #34
Signed-off-by: Daniel Lim Wee Soong<EMAIL_ADDRESS>

Can you rebase this change?