Skip to content

Internal build - #1

Open
joshanne wants to merge 17 commits into
masterfrom
internal-build
Open

Internal build#1
joshanne wants to merge 17 commits into
masterfrom
internal-build

Conversation

@joshanne

@joshanne joshanne commented Aug 7, 2026

Copy link
Copy Markdown
Owner

No description provided.

joshanne and others added 17 commits August 31, 2026 19:45
… connection is previously closed

Receiving a zero-byte payload now triggers socket disconnect instead of failing silently.
Prevents dropped connections from leaving the serial passthrough unresponsive.
Allows for plugins to be loaded from ~/dronecan_gui_tool/plugin builds
Unrecognised data type IDs (e.g. while prototyping new DSDL that isn't
built into the tool) caused two distinct failures.

First, they tripped the 1000-strike successive-error guard and terminated
the local node after a few seconds, logging a full traceback on every
10 ms spin.

Second, and more subtly: Node.spin() drains the RX queue and then runs
its scheduler, but when Transfer.from_frames() raises on an undecodable
transfer the drain aborts and the scheduler poll is skipped. The node
monitor's liveness is scheduler-driven (periodic stale-sweep and
outstanding-request timeouts), so at high message rates the scheduler is
starved -- nodes flap in and out of the monitor and the UI stalls.

Wrap Node._recv_frame so an undecodable transfer is dropped in place,
letting spin() finish draining the queue and schedule normally. Keep a
backstop catch in the spin loop that no longer counts these towards the
fatal threshold, and throttle the logging so a high-rate unknown message
cannot flood the log.
Because the version is only incremented prior to a release, we have a number of commits between releases that all identify as the last release.

This means, all of our most recent changes that have improved gui_tool look like it's an old version, and managing users installs is hard. 'But it works on v1.2.28' - when it's actually a dev build the user is running...
Precedence for version information:
* git describe
* setuptools_scm generated file
* .git_archival.txt
* default value
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.

2 participants