mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 14:50:00 -07:00
Fix Doppler detecting events clobbering decode progress UI
The Doppler tracking thread emits detecting events every 5s from a separate thread, unaware of decode state. The previous to_dict() change included signal_level for ALL detecting events, causing the frontend to replace the decode progress canvas with the signal monitor mid-decode. Fix: use None as default for signal_level so only signal-metrics events (which explicitly set the value) include the field. Also add a frontend guard to ignore detecting events while the UI is in decoding state. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -92,8 +92,8 @@ class DecodeProgress:
|
||||
progress_percent: int = 0
|
||||
message: str | None = None
|
||||
image: SSTVImage | None = None
|
||||
signal_level: int = 0 # 0-100 RMS audio level
|
||||
sstv_tone: str | None = None # 'leader', 'sync', 'pixel', None
|
||||
signal_level: int | None = None # 0-100 RMS audio level, None = not measured
|
||||
sstv_tone: str | None = None # 'leader', 'sync', 'noise', None
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
result: dict = {
|
||||
@@ -107,10 +107,10 @@ class DecodeProgress:
|
||||
result['message'] = self.message
|
||||
if self.image:
|
||||
result['image'] = self.image.to_dict()
|
||||
if self.status == 'detecting':
|
||||
if self.signal_level is not None:
|
||||
result['signal_level'] = self.signal_level
|
||||
if self.sstv_tone:
|
||||
result['sstv_tone'] = self.sstv_tone
|
||||
if self.sstv_tone:
|
||||
result['sstv_tone'] = self.sstv_tone
|
||||
return result
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user