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
Update documentation for new ping/repeat listener flow and 10s RX window
- Updated STATUS_MESSAGES.md: Changed RX window duration from 7s to 10s
- Deprecated "Posting to API" status message (now suppressed from UI)
- Added new "Error: API post failed" status message documentation
- Updated em dash timing (appears after RX window, not after API post)
- Updated slot revocation flow to reflect background API posting
- Added comprehensive "Ping/Repeat Listener Flow" section to CONNECTION_WORKFLOW.md
- Documented old vs new flow comparison with benefits and timing analysis
- Updated all references to reflect asynchronous API posting behavior
Co-authored-by: MrAlders0n <55921894+MrAlders0n@users.noreply.github.com>
Dynamic Status: "Posting to API" → "Error: Posting to API (Revoked)" → "—" → "WarDriving slot has been revoked"
341
+
Dynamic Status: "Idle"/"Waiting for next ping" → "Error: Posting to API (Revoked)" → "—" → "WarDriving slot has been revoked"
341
342
```
343
+
**Timeline:**
344
+
- T+0s: RX window completes, status shows "Idle" or "Waiting for next ping", next timer starts
345
+
- T+0-3s: Background API post running (3s delay, then POST) - silent
346
+
- T+3-4s: Revocation detected, "Error: Posting to API (Revoked)" shown (1.5s)
347
+
- T+4.5s: Disconnect initiated
348
+
- T+5s: Terminal status "WarDriving slot has been revoked"
342
349
343
350
**Key Differences from Normal Disconnect:**
344
351
- Normal disconnect: Dynamic Status shows `"—"` (em dash)
345
352
- Revocation: Dynamic Status shows `"WarDriving slot has been revoked"` (red error, no prefix)
346
353
- Revocation shows intermediate "Error: Posting to API (Revoked)" state
354
+
- With the new ping/repeat flow, revocation may be detected after user already sees "Idle" or "Waiting for next ping" (because API runs in background)
347
355
348
356
## Workflow Diagrams
349
357
@@ -590,6 +598,120 @@ stateDiagram-v2
590
598
- Error → Disconnected
591
599
- Recovery always possible
592
600
601
+
## Ping/Repeat Listener Flow
602
+
603
+
### Overview
604
+
605
+
The ping/repeat listener flow manages the complete lifecycle of a wardrive ping operation, from sending the ping to listening for repeater echoes to posting data to the MeshMapper API.
606
+
607
+
**Key Design Change (v1.4.2+):** API posting now runs in the background (asynchronously) to prevent blocking the main ping cycle. This allows the next ping timer to start immediately after the RX listening window completes, without waiting for the API POST to finish.
Copy file name to clipboardExpand all lines: docs/STATUS_MESSAGES.md
+25-14Lines changed: 25 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -127,20 +127,22 @@ These messages appear in the Dynamic App Status Bar. They NEVER include connecti
127
127
##### WarDriving slot has been revoked
128
128
-**Message**: `"WarDriving slot has been revoked"`
129
129
-**Color**: Red (error)
130
-
-**When**: During active session, API returns allowed=false during ping posting
130
+
-**When**: During active session, API returns allowed=false during background ping posting
131
131
-**Terminal State**: Yes (persists until user takes action)
132
-
-**Sequence**:
133
-
1. "Posting to API" (blue)
134
-
2. "Error: Posting to API (Revoked)" (red, 1.5s)
135
-
3. Connection bar: "Disconnecting" → "Disconnected"
136
-
4. Dynamic bar: "WarDriving slot has been revoked" (terminal)
132
+
-**Sequence** (Updated for background API posting):
133
+
1. RX listening window completes → Status shows "Idle" or "Waiting for next ping"
134
+
2. Background API post detects revocation (silent, no status change yet)
135
+
3. "Error: Posting to API (Revoked)" (red, 1.5s)
136
+
4. Connection bar: "Disconnecting" → "Disconnected"
137
+
5. Dynamic bar: "WarDriving slot has been revoked" (terminal)
138
+
-**Notes**: With the new ping/repeat flow, revocation is detected during the background API post (which runs after the RX window completes and next timer starts)
137
139
138
140
##### Error: Posting to API (Revoked)
139
141
-**Message**: `"Error: Posting to API (Revoked)"`
140
142
-**Color**: Red (error)
141
-
-**When**: Intermediate status shown when slot revocation detected during API posting
143
+
-**When**: Intermediate status shown when slot revocation detected during background API posting
142
144
-**Duration**: 1.5 seconds (visible before disconnect begins)
143
-
-**Notes**: First status in revocation sequence, followed by disconnect flow
145
+
-**Notes**: First visible status in revocation sequence, followed by disconnect flow. Appears after background API post detects revocation.
144
146
145
147
##### Unable to read device public key; try again
146
148
-**Message**: `"Unable to read device public key; try again"`
@@ -280,7 +282,7 @@ These messages use a hybrid approach: **first display respects 500ms minimum**,
280
282
-**Message**: `"Listening for heard repeats (Xs)"` (X is dynamic countdown)
281
283
-**Color**: Sky blue (info)
282
284
-**When**: After successful ping, listening for repeater echoes
283
-
-**Duration**: 7 seconds total
285
+
-**Duration**: 10 seconds total (changed from 7 seconds)
284
286
-**Minimum Visibility**: 500ms for first message, immediate for countdown updates
-**When**: ~~After RX listening window, posting ping data to MeshMapper API~~**NO LONGER SHOWN**
331
+
-**Timing**: ~~Visible during API POST operation (3-second hidden delay + API call time, typically ~3.5-4.5s total)~~**SUPPRESSED**
332
+
-**Notes**: As of the ping/repeat listener refactoring, API posting now runs in the background without showing status messages. Success is silent; only errors are displayed.
333
+
-**Source**: ~~`content/wardrive.js:postApiAndRefreshMap()`~~ Replaced by `postApiInBackground()`
334
+
335
+
##### Error: API post failed
336
+
-**Message**: `"Error: API post failed"`
337
+
-**Color**: Red (error)
338
+
-**When**: Background API POST fails during asynchronous posting (after RX listening window completes)
339
+
-**Notes**: This is the only API-related message now shown to users during normal ping operations. Success is silent.
- Manual mode immediately after RX listening window completes (changed from "after API post completes")
337
347
- After successful connection (shows "Connected" in connection bar)
338
348
- Normal disconnect (shows "Disconnected" in connection bar)
339
349
- Any time there is no active message to display
340
350
-**Purpose**: Placeholder to indicate "no message" state
351
+
-**Notes**: With the new ping/repeat listener flow, the em dash appears immediately after the 10-second RX window, not after API posting (which now runs in background)
0 commit comments