You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Follow-up from the 2026-08-06 24h change review on liam (e807892e^..HEAD). Controllers and production auto-connect routing landed; attempt bodies and ConnectionPanel serial/BLE paths remain duplicated.
Status (2026-08-06 audit): still needed — keep open. Goals 1–2 are partial; goal 3 is still needed (upstream PR only).
Still needed: extract the ~250–320 line parallel attemptReconnect / attemptMeshcoreReconnect bodies from useMeshtasticRuntime.ts / useMeshcoreRuntime.ts behind the controller (keep MeshCore TCP/burst MeshCore-only). Migrate off parallel legacy *IsReconnectingRef / *GenerationRef where safe. (~640 lines of mirrored attempt logic remain.)
Still needed: dedupe or delete the ~260-line serial/BLE mount auto-connect block in ConnectionPanel.tsx (still mirrored for the unsuppressed / test path). Prefer a shared transport-runner lib or drop the panel path once tests target the hook/coordinator.
Upstream rsReticulum bond-desync overlay — STILL NEEDED (upstream process)
Still needed: open/track upstream PR on ratspeak/rsReticulum (chains after pairing-transition-debounce / #20). scripts/update.shRATSPEAK_PATCH_ENTRIES PR field is still empty; patches README: “no upstream PR yet”.
Related (lower priority in same epic)
Reticulum remediation i18n consolidation (connectionPanel.reticulumSidecarIssues.* vs diagnostics vs local-interface bond-stale copy)
Extract MeshCore TCP session / dead-bridge policy out of the large MeshCore runtime
Prefer pure-lib behavioral tests over expanding source-contract substring scans
Risk
High for reconnect extract (n7eal TCP / single-owner invariant). Do as a dedicated PR with existing loraRfReconnectParity.contract.test.ts + runtime reconnect tests green.
Highest-value remaining
Extract reconnect attempt bodies behind the controller (high risk).
Delete or share ConnectionPanel serial/BLE auto-connect now that App always suppresses it.
Open/track upstream rsReticulum bond-desync PR (process, not local code).
Context
Follow-up from the 2026-08-06 24h change review on
liam(e807892e^..HEAD). Controllers and production auto-connect routing landed; attempt bodies and ConnectionPanel serial/BLE paths remain duplicated.Status (2026-08-06 audit): still needed — keep open. Goals 1–2 are partial; goal 3 is still needed (upstream PR only).
Goals
Shared LoRa reconnect attempt runner — PARTIAL
rfReconnectControllersingle-owner schedule / link-lost / begin–end attempt (fix: packaging smoke path, RF reconnect ownership, and CI build-channel stamps #798); parity contractloraRfReconnectParity.contract.test.ts.attemptReconnect/attemptMeshcoreReconnectbodies fromuseMeshtasticRuntime.ts/useMeshcoreRuntime.tsbehind the controller (keep MeshCore TCP/burst MeshCore-only). Migrate off parallel legacy*IsReconnectingRef/*GenerationRefwhere safe. (~640 lines of mirrored attempt logic remain.)Shared RF auto-connect transport runner — PARTIAL
useProtocolRfAutoConnect+ProtocolAutoConnectCoordinatorown production auto-connect (feat: TCP/HTTP RF auto-connect and MeshCore SoftAP reconnect hardening #806); App mounts withsuppressMountAutoConnect; TCP/HTTP in the hook; cancel-on-manual-connect.ConnectionPanel.tsx(still mirrored for the unsuppressed / test path). Prefer a shared transport-runner lib or drop the panel path once tests target the hook/coordinator.Upstream rsReticulum bond-desync overlay — STILL NEEDED (upstream process)
rsReticulum-ble-rnode-bond-desync.patch+ apply scripts; mesh-client integration (fix: MeshCore SoftAP TX, hop goblins, Reticulum BLE bond desync #808).ratspeak/rsReticulum(chains after pairing-transition-debounce / #20).scripts/update.shRATSPEAK_PATCH_ENTRIESPR field is still empty; patches README: “no upstream PR yet”.Related (lower priority in same epic)
connectionPanel.reticulumSidecarIssues.*vs diagnostics vs local-interface bond-stale copy)Risk
High for reconnect extract (n7eal TCP / single-owner invariant). Do as a dedicated PR with existing
loraRfReconnectParity.contract.test.ts+ runtime reconnect tests green.Highest-value remaining