Add auto-resend option for not-heard-repeated messages. Closes #154.

This commit is contained in:
Jack Kingsman
2026-04-03 14:43:52 -07:00
parent 42e1b7b5d9
commit 1046baf741
10 changed files with 202 additions and 19 deletions
@@ -702,6 +702,26 @@ export function SettingsRadioSection({
</p>
</div>
</div>
<div className="flex items-start gap-3 rounded-md border border-border/60 p-3">
<Checkbox
id="auto-resend-channel"
checked={appSettings.auto_resend_channel}
onCheckedChange={(checked) =>
onSaveAppSettings({ auto_resend_channel: checked === true })
}
className="mt-0.5"
/>
<div className="space-y-1">
<Label htmlFor="auto-resend-channel">Auto-Resend Unheard Channel Messages</Label>
<p className="text-xs text-muted-foreground">
When enabled, outgoing channel messages that receive no echo within 2 seconds are
automatically resent once (byte-perfect, within the 30-second dedup window). Repeaters
that already heard the original will ignore the duplicate. This functionality will NOT
create double-sent/duplicate messages.
</p>
</div>
</div>
</div>
<div className="space-y-2">
+1
View File
@@ -70,6 +70,7 @@ const baseSettings: AppSettings = {
blocked_names: [],
discovery_blocked_types: [],
tracked_telemetry_repeaters: [],
auto_resend_channel: false,
};
function renderModal(overrides?: {
+2
View File
@@ -337,12 +337,14 @@ export interface AppSettings {
blocked_names: string[];
discovery_blocked_types: number[];
tracked_telemetry_repeaters: string[];
auto_resend_channel: boolean;
}
export interface AppSettingsUpdate {
max_radio_contacts?: number;
auto_decrypt_dm_on_advert?: boolean;
advert_interval?: number;
auto_resend_channel?: boolean;
flood_scope?: string;
blocked_keys?: string[];
blocked_names?: string[];