Let the config choose protocol 2 or 3, and fall back for one session only.

The default stays v2. A reflector that refuses that version and names the other gets one session of it, then the station announces the configured protocol again.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-22 16:28:42 +02:00
co-authored by Cursor
parent 3533b97d00
commit 2c621d4b7f
21 changed files with 361 additions and 82 deletions
+5 -5
View File
@@ -45,17 +45,17 @@ The reflector’s certificate authority, kept in the certificate directory. Prot
_Avoid_: the station certificate
**Protocol**:
The reflector session this station is speaking: 2.0 or 3.0.
_Avoid_: TYPE, a config field the operator sets
The reflector session this station speaks: 2.0 or 3.0. The config chooses v2 or v3; v2 is the default.
_Avoid_: TYPE
**Push-to-talk**:
The operator holding the control that makes this station the talker. Releasing it returns the station to listening.
_Avoid_: voice-operated transmit, a mute toggle
**Config**:
The JSON file that names how this station joins a reflector (host, port, callsign, auth key, talk group, certificate directory, logging). Default path `~/.funknetz.json`; `-c` may select another file.
The JSON file that names how this station joins a reflector (host, port, callsign, auth key, talk group, protocol, certificate directory, logging). Default path `~/.funknetz.json`; `-c` may select another file.
_Avoid_: settings file, preferences, treating PEMs as config fields
**Config window**:
The in-app form that edits the config. It is a modal over the station UI, not a separate OS window.
_Avoid_: settings window, preferences dialog, a raw JSON editor as the primary UI
The in-app form that edits the config. It fills the station window, which is resized to the form.
_Avoid_: a separate OS window, settings window, preferences dialog, a raw JSON editor as the primary UI