Skip to content

Conversation

@akoerner1
Copy link
Contributor

@akoerner1 akoerner1 commented Oct 16, 2025

Description

This PR has 1 minor bugfix, minor documentation improvements and two major bug fixes detailed below.

Major Bugfix 1

The ADORe CLI supports x11 forwarding for graphical applications to the host system allowing graphical applications to run inside the ADORe CLI context.

The ADORe CLI must support the following cases:

  • There is no display attached
  • There is a display attached but the session is non-interactive
  • There is a display attached but no display variable set.
  • There is a display attached and the display variable is set
  • xhost is not installed or not available

This PR fixes a semantic issue where xhost is available but no display variable is set.
There are 3 added helper targets that have been added:

  • check_display(prints a warning if there is no display variable set)
  • enable_x11_forwarding(enables x11 forwarding if xhost is installed, always returns/exists 0)
  • disable_x11_forwarding(disables x11 forwarding if xhost is installed, always returns/exists 0)

These targets are invoked by the adore_cli_setup and adore_cli_taredown targets to enable and disable x11 forwarding if possible.

Major Bugfix 2

The foxglove bridge as of version 3.2.1-1noble uploaded on 08.01.2025 will not communicate
with Lichtblick-Suite thus scenarios cannot be visualized.

Lichtblick in the browser reports the following error:

Check that the WebSocket server at ws://localhost:8765 is reachable and supports protocol version foxglove.websocket.v1.

netstat -plunt | grep 8765 reports that there is a service listening on
8765:

tcp0  0 0.0.0.0:87650.0.0.0:*   LISTEN  2287784/foxglove_b

Despite this lichtblick refused to use the service reporting the
following error:

HTTP/1.1 400 Bad Request
Missing expected sec-websocket-protocol header

In order to address this the adore_scenarios/scenario_helpers/visualizer.py
was modified to use the rosbridge and the rosapi instead of the
foxglove_bridge. All documentaiotn was updated to refelct the change in
port from 8765 or the foxglove_bridge to 9090 for the rosbridge.

Minor bugfix

There was a small syntax error in the system test script .tests in the root of the ADORe repository with an extra "}"
causing the tests to terminate prematurely.

Documentation improvements

  • Added an example unit test in the adore libraries in `libraries/lib/tests'
  • Added make test target to the libraries makefile to execute the tests
  • added documentation in the technical_reference_manual on library testing.

make push_image target

Added push_image target to main Makefile. This target pushes adore cli core image to the github repository registry for the github workflow during PRs to develop branch

…g to prevent erroring out if there is no display attached or xhost is not avaiable for the adore cli.

Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
@akoerner1 akoerner1 requested a review from n-mat October 16, 2025 09:29
…25 will not communicate

with Lichtblick-Suite.

Lichtblick in the browser reports the following error:
```
Check that the WebSocket server at ws://localhost:8765 is reachable and supports protocol version foxglove.websocket.v1.
```

netstat -plunt | grep 8765 reports that there is a service listening on
8765:
```
tcp        0      0 0.0.0.0:8765            0.0.0.0:*               LISTEN      2287784/foxglove_b
```
Despite this lichtblick refused to use the service reporting the
following error:
```
HTTP/1.1 400 Bad Request
Missing expected sec-websocket-protocol header
```

In order to address this the `adore_scenarios/scenario_helpers/visualizer.py`
was modified to use the rosbridge and the rosapi instead of the
foxglove_bridge. All documentaiotn was updated to refelct the change in
port from 8765 or the foxglove_bridge to 9090 for the rosbridge.

- Removed DLR copywrited images for eclipse foundation ip compliance
- Fixed minor syntax error in `.test` with extra "}" at the end of the
  file

Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
…/tests'

- Added `make test` target to the libraries makefile to execute the tests
- added documentation in the technical_reference_manual on library testing.

Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
technical_reference_manual readme.

Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
@akoerner1 akoerner1 force-pushed the bugfix/adore_cli_xhost branch from 4b09a6d to ae2f631 Compare October 17, 2025 10:59
Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
Copy link
Contributor

@n-mat n-mat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR adds important fixes

@n-mat n-mat merged commit 56ac0a2 into develop Oct 17, 2025
8 checks passed
@n-mat n-mat deleted the bugfix/adore_cli_xhost branch October 17, 2025 13:34
@akoerner1 akoerner1 mentioned this pull request Oct 24, 2025
n-mat pushed a commit that referenced this pull request Oct 27, 2025
# Description
This PR includes a few minor bug fixes, features and documentation
updates detailed below.

## Bugfixes

### Foxglove bugfix
This addresses Major Bugfix #2 in the following PR:
#65
This was not completely address and there were some documentation links
that were not updated.

### Documentation dead links
This PR cleans up and fixes some dead links in the documentation

### Removed pip and apt caching via Docker Buildx
APT and PIP package caching causes significant build issues and has been
removed.

The following is one example of a non-deterministic faulre that is
cuased by docker buildx caching of apt:

```
17.01 Get:19 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [33.1 kB]                                                                            
24.54 Get:20 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1937 kB]                                                                                
24.66 Get:21 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [2744 kB]                                                                              
24.86 Get:22 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [35.9 kB]                                                                              
24.86 Get:23 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [49.4 kB]                                                                                  
24.87 Get:24 http://archive.ubuntu.com/ubuntu noble-backports amd64 Contents (deb) [782 kB]                                                                                  
24.93 Get:25 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [33.9 kB]                                                                              
30.07 Using cached package lists                                                                                                                                             
30.09 Reading package lists...                                                                                                                                               
30.12 Building dependency tree...                                                                                                                                            
30.12 Reading state information...                                                    
30.13 Package gdbserver is not available, but is referred to by another package.                                                                                             
30.13 This may mean that the package is missing, has been obsoleted, or                                                                                                      
30.13 is only available from another source                                           
30.13                                                                                 
30.13 E: Unable to locate package ros-jazzy-ros-base                                                                                                                         
30.13 E: Unable to locate package ros-jazzy-foxglove-bridge                                                                                                                  
30.13 E: Unable to locate package ros-jazzy-plotjuggler-ros                                                                                                                  
30.13 E: Unable to locate package ros-jazzy-plotjuggler                                                                                                                      
30.13 E: Unable to locate package ros-jazzy-rosbridge-suite                                                                                                                  
30.13 E: Unable to locate package telnet                          
```

## Features

### Adore cli core hash change
removed the parent repo hash/branch name from the adore cli core image.
This should improve docker registry cache hits and significantly reduce
build times across branches.

### ADORe ros2 msgs packaging and release
added a make target to the ros2_workspace makefile. This target
generates a .deb archive for adore_ros2_msgs.
This target is then used in the github workflow to publish a deb archive
of adore_ros2_msgs

### Moved documentation lint call to earlier in the ci pipeline
It is annoying to have the ci pipeline fail due to a spelling error late
in the game. This moves the documentation lint call
sooner in the github action to fail early.

### Added "make package_adore_ros2_msgs" target to generate .deb package
for `adore_ros2_msgs`
Also added release step to include package in binary release.

---------

Signed-off-by: Andrew Koerner <andrew.koerner@dlr.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants