[GH-ISSUE #7] Implement confirmed one-shot SOS with explicit delivery feedback #9

Open
opened 2026-10-23 18:09:15 +02:00 by jayanezj · 0 comments
Owner

Originally created by @jayanezj on GitHub (Oct 23, 2026).
Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/7

Goal

Expose a deliberate one-shot SOS action compatible with the official client's alarm=sos transport.

Scope

  • Add a differentiated Send SOS action with a brief confirmation before acquisition/transmission.
  • Obtain a position using the agreed official behaviour, attach alarm=sos, and use the same direct transport as manual sending.
  • Display Sending, Accepted by receiver, or Could not send. Acceptance is HTTP 2xx, not proof that a person received or acknowledged an alert.
  • Allow an explicit manual retry after failure. Do not enqueue SOS, retry it automatically on reconnect, drain the ordinary queue or enable continuous tracking.
  • Display the actual date and accuracy of the position used; a last-known fix must not be labelled as newly captured.

Acceptance criteria

  • Cancelling confirmation performs no acquisition or network request.
  • Confirming produces one request containing alarm=sos; repeated clicks cannot create concurrent duplicate requests.
  • Failure or lack of a position is visible and does not produce a success state.
  • SOS works as a one-shot while paused and preserves the continuous-tracking setting.
  • Offline/relaunch/reconnect never sends a deferred SOS automatically.
  • UI wording does not claim contact with emergency services or successful human notification.

Validation

Use synthetic data and the local receiver for confirmation, 2xx, failure, cancellation and retry. Never trigger a real alarm on an external Traccar server as an unattended test.

Add or extend this feature's meaningful deterministic tests in the CI workflow from PROTO-002 as part of the same implementation, without waiting for the final milestone. Keep physical-Mac checks explicitly manual.

References

Pinned official source references for implementation comparison; mobile APIs are not assumed available on macOS.

Dependencies

Originally created by @jayanezj on GitHub (Oct 23, 2026). Original GitHub issue: https://github.com/jayanezj/traccar-client-macos/issues/7 ## Goal Expose a deliberate one-shot SOS action compatible with the official client's `alarm=sos` transport. ## Scope - Add a differentiated Send SOS action with a brief confirmation before acquisition/transmission. - Obtain a position using the agreed official behaviour, attach `alarm=sos`, and use the same direct transport as manual sending. - Display Sending, Accepted by receiver, or Could not send. Acceptance is HTTP 2xx, not proof that a person received or acknowledged an alert. - Allow an explicit manual retry after failure. Do not enqueue SOS, retry it automatically on reconnect, drain the ordinary queue or enable continuous tracking. - Display the actual date and accuracy of the position used; a last-known fix must not be labelled as newly captured. ## Acceptance criteria - [ ] Cancelling confirmation performs no acquisition or network request. - [ ] Confirming produces one request containing `alarm=sos`; repeated clicks cannot create concurrent duplicate requests. - [ ] Failure or lack of a position is visible and does not produce a success state. - [ ] SOS works as a one-shot while paused and preserves the continuous-tracking setting. - [ ] Offline/relaunch/reconnect never sends a deferred SOS automatically. - [ ] UI wording does not claim contact with emergency services or successful human notification. ## Validation Use synthetic data and the local receiver for confirmation, 2xx, failure, cancellation and retry. Never trigger a real alarm on an external Traccar server as an unattended test. Add or extend this feature's meaningful deterministic tests in the CI workflow from [PROTO-002](https://github.com/jayanezj/traccar-client-macos/issues/2) as part of the same implementation, without waiting for the final milestone. Keep physical-Mac checks explicitly manual. ## References Pinned official source references for implementation comparison; mobile APIs are not assumed available on macOS. - [Official source 1](https://github.com/traccar/traccar-client/blob/c189d52f0bf464d18bebaff48b0fac15fc8cd1e2/lib/main_screen.dart) - [Official source 2](https://github.com/traccar/traccar-client-sdk/blob/a297767642e98193eb7939cbb4d54c101ff23610/core/src/commonMain/kotlin/org/traccar/client/Tracker.kt) - [Official source 3](https://github.com/traccar/traccar-client-sdk/blob/a297767642e98193eb7939cbb4d54c101ff23610/core/src/commonMain/kotlin/org/traccar/client/HttpUploader.kt) ## Dependencies - [PROTO-006](https://github.com/jayanezj/traccar-client-macos/issues/6) <!-- planning-id: PROTO-007 -->
jayanezj added this to the M3 - Transport and SOS milestone 2026-10-23 18:09:15 +02:00
jayanezj added the area:uitype:featurepriority:high labels 2026-10-23 18:09:15 +02:00
jayanezj added type:feature and removed type:feature labels 2026-10-30 18:01:09 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jayanezj/traccar-client-macos#9