Skip to content

Chat zeigt immer UKW, auch bei einem Kurzwellen-Contest - #73

Open
oe5sos wants to merge 1 commit into
mainfrom
feat/chat-nur-ukw
Open

oe5sos wants to merge 1 commit into
mainfrom
feat/chat-nur-ukw

Conversation

@oe5sos

@oe5sos oe5sos commented Nov 4, 2026

Copy link
Copy Markdown
Owner

Betreiber am 2026-11-04: „im chat sind übrigens nachrichten, welche kurzwelle betreffen … chat ist für mich nur ukw wichtig", auf die Rückfrage „immer UKW".

Die Ursache war nicht der Filter, sondern wofür er arbeitete

In seinen Einstellungen am Mac mini stand:

active_contest_id = CQ_WW_SSB
active_bands      = ["14"]

Der Chatfilter folgt den Bändern des aktiven Contests. Er ließ also 20 m durch und blendete UKW aus — korrekt zu den Einstellungen und trotzdem genau das Falsche. Zwei Quellen speisen den Strom, beide bei ihm verbunden und gemessen:

Quelle Verbindung Inhalt
ON4KST 5.196.193.63:23001 ESTABLISHED reiner UKW-Chat
DX-Cluster ve7cc.net 207.81.98.214:23 ESTABLISHED fast nur Kurzwelle

Was sich ändert

Neu ist ChatFeedModel::bandPassesChatFilter():

  • Kurzwelle kommt nie durch — auch dann nicht, wenn sie das eigene Contestband ist.
  • Die Verengung auf die Contest-Bänder bleibt, aber nur innerhalb von UKW. Hat der aktive Contest kein UKW-Band (oder ist keiner aktiv), gilt ganz UKW statt „alles" — letzteres war die zweite, stille Lücke.
  • Die Grenze ist 50 MHz (kUkwUntergrenzeHz in BandUtils), 6 m zählt mit. Eine Frequenz von 0 oder aus keinem bekannten Band gilt nicht als Kurzwelle: eine freie Chatzeile hat keine Frequenz und darf nicht wegen Unkenntnis verschwinden.

Es sitzt im Sichtbarkeitsfilter, nicht am Eingang. Ein erster Versuch, in addCandidate() abzuweisen, ist an test_chat_panel's shortwaveClusterSpotsStayOutOfAVhfContestChat() zu Recht gescheitert — „gefiltert heißt verborgen, nicht weggeworfen": die Ansicht „alle Zeilen zeigen" muss jede Zeile behalten. Der Versuch ist zurückgenommen, der vorhandene Prüfstand hat ihn gestoppt.

Prüfstand

test_chat_nur_ukw, 7 Fälle: die Kante bei 50 MHz Band für Band (bis 29,7 MHz raus, ab 50,0 MHz rein), unbekannte Frequenzen, Martins Lage nachgebildet (Contest-Bänder ["14"]), ein reiner 2-m-Contest, der innerhalb UKW weiter verengt, und der Beleg, dass die Rohansicht alles behält.

Gegenprobe gegen den alten Filter gefahren — mit ihm fällt genau der Fall um, und die Meldung zeigt den gemeldeten Fehler:

FAIL!  anHfContestDoesNotDragShortwaveIntoTheChat()
       '!zuSehen.contains("K1ABC")' returned FALSE. (K1ABC,HB9JKL)

Also der 20-m-Spot sichtbar, alles UKW weg.

Der ganze Prüflauf ist grün außer test_seitenband_folgt_dem_band und test_rigctld_supervision (SEGFAULT). Beide fallen auf dem unveränderten main genauso um — nachgemessen, nicht vermutet. Altlasten, hier nicht angefasst.

🤖 Generated with Claude Code

Betreiber am 2026-11-04: „im chat sind übrigens nachrichten, welche
kurzwelle betreffen ... chat ist für mich nur ukw wichtig", auf die
Rückfrage „immer UKW".

Die Ursache war nicht der Filter, sondern wofür er arbeitete. In seinen
Einstellungen am Mac mini stand:

    active_contest_id = CQ_WW_SSB
    active_bands      = ["14"]

Der Chatfilter folgt den Bändern des aktiven Contests. Er ließ also
20 m durch und blendete UKW aus -- korrekt zu den Einstellungen und
trotzdem das Falsche. Zwei Quellen speisen den Strom: ON4KST (reiner
UKW-Chat, bei ihm verbunden auf 5.196.193.63:23001) und der DX-Cluster
ve7cc.net (207.81.98.214:23), der fast ausschließlich Kurzwelle führt.

Neu ist `ChatFeedModel::bandPassesChatFilter()`:

* Kurzwelle kommt nie durch -- auch nicht als eigenes Contestband.
* Die Verengung auf die Contest-Bänder bleibt, aber nur INNERHALB von
  UKW. Hat der aktive Contest kein UKW-Band (oder ist keiner aktiv),
  gilt ganz UKW statt „alles" -- letzteres war die zweite stille Lücke.
* Die Grenze ist 50 MHz (`kUkwUntergrenzeHz` in BandUtils), 6 m zählt
  mit. Eine Frequenz von 0 oder aus keinem bekannten Band gilt NICHT
  als Kurzwelle: eine freie Chatzeile hat keine Frequenz und darf nicht
  wegen Unkenntnis verschwinden.

Es sitzt im Sichtbarkeitsfilter, NICHT am Eingang. Ein erster Versuch,
in addCandidate() abzuweisen, ist an `test_chat_panel`'s
`shortwaveClusterSpotsStayOutOfAVhfContestChat()` zu Recht gescheitert:
„gefiltert heißt verborgen, nicht weggeworfen" -- die Ansicht „alle
Zeilen zeigen" muss jede Zeile behalten. Der Versuch ist zurückgenommen.

Prüfstand `test_chat_nur_ukw` (7 Fälle): die Kante bei 50 MHz Band für
Band, unbekannte Frequenzen, Martins Lage nachgebildet
(Contest-Bänder ["14"]), ein reiner 2-m-Contest, der innerhalb UKW
weiter verengt, und der Beleg, dass die Rohansicht alles behält.

Gegenprobe gegen den alten Filter gefahren -- mit ihm fällt genau der
Fall um, und die Fehlermeldung zeigt den gemeldeten Fehler:

    FAIL!  anHfContestDoesNotDragShortwaveIntoTheChat()
           '!zuSehen.contains("K1ABC")' returned FALSE. (K1ABC,HB9JKL)

also der 20-m-Spot sichtbar, alles UKW weg.

Der ganze Prüflauf ist grün außer `test_seitenband_folgt_dem_band` und
`test_rigctld_supervision` (SEGFAULT) -- beide fallen auf dem
unveränderten main genauso um, nachgemessen. Altlasten, hier nicht
angefasst.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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