Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Latching topics and the 3dPanel

See original GitHub issue


FYI @dbking77. We’re having a problem with the way the 3dPanel keeps data between scrubbing on the timeline and latched topics. The problem is that when we seek forward and back on the timeline, the messages disappear

The problem comes down to the way the seekPlayback function is implemented here. Because all the latched messages in the rosbag.js are found at time 0 and because when you use seekPlayback you go back in time by the SEEK_TIME when you scrub to a particular time, you lose all the latched messages from that time. For us this is particularly frustrating as our maps are latched.

There are 2 ways we were thinking of to solve this issue:

  1. We look for latched connections when we run getMessages and then just pick up the last message from them regardless of time
  2. We implement something that goes through all the topics and gets the last message before this time for that topic.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:14

github_iconTop GitHub Comments

janpaul123commented, Apr 22, 2020

Not yet! But this work is slated really soon.

cjdscommented, Feb 24, 2021

Was trying to mess with this today and this is where I got till

In the below example, I was trying to use the global variable and a local variable in the node to try to republish the message.

The issues I ran into were:

  1. The global variables do not seem editable from inside a node. Once changed they would get reset on the next loop
  2. Local variables to the function seem to be reset when the scrubber on the bottom is moved.

As such I think I’m either doing the repub wrong or it isn’t possible with this feature

import { Input, Messages } from "ros";

type Output = {};
type GlobalVariables = {
  id: number;
  localization: Messages.nav_msgs__OccupancyGrid;

let x: Messages.nav_msgs__OccupancyGrid;
export const inputs = [
export const output = "/webviz_node/my_new_map";

// Populate 'Input' with a parameter to properly type your inputs, e.g. 'Input<"/your_input_topic">'
const publisher = (
    | Input<"/localization">
    | Input<"/controller_costmap_updater_clock">,
  globalVars: GlobalVariables
): Messages.nav_msgs__OccupancyGrid | undefined => {
  if (message.topic == "/atlas/localization") {
    log("Resetting message");
    x = message.message;

  if (x !== undefined) {
    return x;
  log("Variable is undefined");

export default publisher;

Read more comments on GitHub >

github_iconTop Results From Across the Web

Improving How Foxglove Studio Loads Data
In ROS, this is referred to as “latching”, and must be explicitly ... Studio automatically displays all topics as if they were latched....
Read more >
120 Best 3D WALL PANELS ideas in 2022 - Pinterest
May 10, 2022 - Explore Emma Diaz-Morlote's board "3D WALL PANELS", followed by 559 people on Pinterest. See more ideas about 3d wall...
Read more >
@foxglove/studio: Versions | Openbase
Grid topics in the 3D panel (#4762); Removed the "RGB Byte Order" setting for ... Turned message latching feature for bag, MCAP, and...
Read more >
rural king fencing panels
It has a full gate panel with a spring-loaded latch and is available in sizes ... 3D Panel Fence-1; 3D Panel Fence-2; Double...
Read more >
3d Panel - Etsy
Check out our 3d panel selection for the very best in unique or custom, handmade pieces from our fabric shops.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Post

No results found

github_iconTop Related Hashnode Post

No results found