Summary
The Wear OS app can remain in SYNCING when a data item arrives without alarmsJson.
Current behaviour
- Listener sets
SYNCING before payload extraction.
- If
alarmsJson is null, control flow continues without resetting status.
Expected behaviour
Status should always transition back to CONNECTED (or OFFLINE) after each event path, including malformed payloads.
Impact
- Sync indicator may remain stuck on
Syncing….
- Misleading UI state and harder troubleshooting.
Evidence
apps/threshold-wear/src/main/java/ca/liminalhq/threshold/wear/service/DataLayerListenerService.kt:49
apps/threshold-wear/src/main/java/ca/liminalhq/threshold/wear/service/DataLayerListenerService.kt:52
Suggested fix
Ensure status reset happens in all branches (e.g., try/finally around per-event processing).
Summary
The Wear OS app can remain in
SYNCINGwhen a data item arrives withoutalarmsJson.Current behaviour
SYNCINGbefore payload extraction.alarmsJsonis null, control flowcontinues without resetting status.Expected behaviour
Status should always transition back to
CONNECTED(orOFFLINE) after each event path, including malformed payloads.Impact
Syncing….Evidence
apps/threshold-wear/src/main/java/ca/liminalhq/threshold/wear/service/DataLayerListenerService.kt:49apps/threshold-wear/src/main/java/ca/liminalhq/threshold/wear/service/DataLayerListenerService.kt:52Suggested fix
Ensure status reset happens in all branches (e.g.,
try/finallyaround per-event processing).