Skip to content

Conversation

@urfeex
Copy link
Member

@urfeex urfeex commented Dec 11, 2025

Currently, we disconnect from the dashboard server whenever we don't receive an answer inside the configured timeout and we throw an exception. The idea behind that was, that if we don't get an answer in time there's probably something wrong with the connection, anyway. However, it could just be that the command in question takes longer to process. There are a couple of commands where we manually add higher timeouts, such as generating the flight report, but also powering on the robot after an update can take longer if the firmware has to be updated.

With the change in this commit, we still throw the exception leaving it up to the application layer to handle this. However, keeping the connection alive allows running other dashboard commands to inspect what's going on or simply retry with another timeout setting.

Currently, we disconnect from the dashboard server whenever we don't receive
an answer inside the configured timeout and we throw an exception.
The idea behind that was, that if we don't get an answer in time there's probably
something wrong with the connection, anyway. However, it could just be that
the command in question takes longer to process. There are a couple of commands
where we manually add higher timeouts, such as generating the flight report,
but also powering on the robot after an update can take longer if the firmware
has to be updated.

With the change in this commit, we still throw the exception leaving it up to
the application layer to handle this. However, keeping the connection alive
allows running other dashboard commands to inspect what's going on or simply
retry with another timeout setting.
@urfeex urfeex requested a review from a team December 11, 2025 09:43
@urfeex urfeex added enhancement New feature or request bugfix labels Dec 11, 2025
@codecov
Copy link

codecov bot commented Dec 11, 2025

Codecov Report

❌ Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 42.91%. Comparing base (f04e347) to head (2e74a3e).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/ur/dashboard_client_implementation_g5.cpp 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #414      +/-   ##
==========================================
- Coverage   43.13%   42.91%   -0.22%     
==========================================
  Files          99       99              
  Lines        8664     8659       -5     
  Branches     1180     1179       -1     
==========================================
- Hits         3737     3716      -21     
- Misses       4647     4662      +15     
- Partials      280      281       +1     
Flag Coverage Δ
start_ursim 82.78% <ø> (-1.89%) ⬇️
ur20-latest 40.87% <0.00%> (-0.11%) ⬇️
ur5-3.14.3 40.73% <0.00%> (-0.04%) ⬇️
ur5e-10.7.0 35.93% <0.00%> (-0.08%) ⬇️
ur5e-5.9.4 40.88% <0.00%> (-0.08%) ⬇️

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@urfeex urfeex removed the enhancement New feature or request label Dec 12, 2025
@urfeex urfeex merged commit 030e993 into UniversalRobots:master Dec 12, 2025
21 of 28 checks passed
@urfeex urfeex deleted the dashboard_do_not_disconnect_on_read_timeout branch December 12, 2025 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants