Skip to content

chore(deps): APRS.NET 0.4.0-alpha.4, warn when a TNC isn't speaking KISS - #239

Merged
gx1400 merged 2 commits into
mainfrom
chore/aprsnet-0.4.0-alpha.4
Oct 17, 2026
Merged

gx1400 merged 2 commits into
mainfrom
chore/aprsnet-0.4.0-alpha.4

Conversation

@gx1400

@gx1400 gx1400 commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Moves every AprsNet.* package to 0.4.0-alpha.4 and uses what it adds.

TNC warnings (F3.1 behavior 13). APRS.NET's new KissConnection.Warning is passed through KissPacketSource and the engine to a new SourceStatus.Warning. While a TNC sends text lines instead of KISS frames (a radio's built-in TNC left in APRS mode, or one back from a power cut with KISS off), its pill turns to the warning colour with "Direwolf: TNC isn't in KISS mode", and its dashboard row says the same, until a frame arrives. The warning lasts across reconnects as APRS.NET keeps it. KissWarning.Quiet is worded ("TNC silent, is it switched on?") but QuietWarning isn't set: a TCP TNC has keepalives, and serial will pick it (proposed 30 min, decision 5).

Comes for free: an APRS-IS source pointed at a KISS port fails at once instead of waiting out the login, and an unplugged serial TNC is taken for a lost link (for serial in 0.5.0-alpha.1).

Not done: that APRS-IS case still says "Server unreachable", because APRS.NET only distinguishes it by the exception's message. G32 in docs/aprsnet/gaps.md, filed as APRS-NET/APRS.NET#246 (a LoginException subclass) for 0.5.0-alpha.1; the app waits for it rather than matching the message.

Tests: KissSourceTests.ATncSendingTextInsteadOfKissFramesWarnsUntilFramesCome (fake TNC over TCP) and the pill case in SourcesShownTests. Core 340, UI 484, Gateway 110, Tiles 17 pass; CSharpier clean.

APRS.NET 0.4.0-alpha.4 reports when a KISS TNC sends text lines instead
of frames, or (with QuietWarning set) nothing at all. A source now
carries that warning in SourceStatus.Warning while it stays connected:
its pill takes the warning colour and says "Direwolf: TNC isn't in KISS
mode", as does its dashboard row, until a frame arrives (F3.1 behavior
13). The quiet warning is wired but left off until serial TNCs.

An APRS-IS source pointed at a KISS port now fails at once instead of
waiting out the login, but only says "Server unreachable": telling that
case apart needs a typed reason from APRS.NET (G32, proposed).
@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Package report

Vulnerable packages

No known vulnerabilities in direct or transitive packages.

Available package updates

Package Current version Available version Note
Dock.Avalonia 12.1.0.9 12.1.0.12
Dock.Avalonia.Themes.Fluent 12.1.0.9 12.1.0.12
Dock.Model.Mvvm 12.1.0.9 12.1.0.12
Dock.Serializer.SystemTextJson 12.1.0.9 12.1.0.12
xunit.runner.visualstudio 3.1.5 4.0.1 Pinned in AprsMap.UI.Tests (see below)
xunit.v3.mtp-off 3.2.2 4.0.2 Pinned in AprsMap.UI.Tests (see below)

Pinned versions

These projects override the central version in Directory.Packages.props on purpose; updates for them are held back until the reason no longer applies.

Package Pinned version Project Reason
xunit.runner.visualstudio 3.1.5 AprsMap.UI.Tests Avalonia.Headless.XUnit 12.1 is built against xUnit v3 3.x and fails test discovery under 4.x (missing TestIntrospectionHelper overload). Pin this project only until Avalonia supports v4; see dependabot.yml.
xunit.v3.mtp-off 3.2.2 AprsMap.UI.Tests Avalonia.Headless.XUnit 12.1 is built against xUnit v3 3.x and fails test discovery under 4.x (missing TestIntrospectionHelper overload). Pin this project only until Avalonia supports v4; see dependabot.yml.

Checked at ff35242 against nuget.org.

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.

1 participant