[GH-ISSUE #13] Expose tracking status and privacy-preserving diagnostics #14

Open
opened 2026-10-23 18:09:16 +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/13

Goal

Make the prototype's acquisition, transport and queue behaviour inspectable without leaking location history or connection secrets.

Scope

  • Separate tracking intent (active/user-paused) from permission/location/network/transport failures and automatic stationary state when available.
  • Show the original date and accuracy of the last location. Separately show the last HTTP 2xx response time and capture date of the corresponding point, pending count, retention/capacity discard count and last error category/status.
  • Use Accepted by receiver wording rather than claiming server database persistence, device registration or human SOS acknowledgement.
  • Provide a readable diagnostic view and copy/clear actions. Include app/macOS versions, permissions, event timestamps, counts and status codes.
  • Exclude coordinates, device identifiers, full receiver URLs, tokens and unfiltered response bodies/errors. Keep a bounded diagnostic policy documented with implementation; do not create a parallel location history.
  • Update from state changes rather than frequent polling of closed panels or waking the laptop.

Acceptance criteria

  • An old queued point accepted now is not displayed as a newly captured location.
  • Permission denial, TLS failure, HTTP rejection and offline states remain distinguishable from user pause.
  • Copied diagnostics and stored events pass checks using synthetic secret/coordinate markers, including nested error descriptions.
  • Clear diagnostics does not clear settings, Keychain identity or pending positions.
  • SOS outcomes and queue discard information remain observable without exposing request bodies.

Validation

Drive representative states from local fixtures and inspect the visible/copyable output. Keep screenshots and reports anonymized before any future public attachment.

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/13 ## Goal Make the prototype's acquisition, transport and queue behaviour inspectable without leaking location history or connection secrets. ## Scope - Separate tracking intent (active/user-paused) from permission/location/network/transport failures and automatic stationary state when available. - Show the original date and accuracy of the last location. Separately show the last HTTP 2xx response time and capture date of the corresponding point, pending count, retention/capacity discard count and last error category/status. - Use Accepted by receiver wording rather than claiming server database persistence, device registration or human SOS acknowledgement. - Provide a readable diagnostic view and copy/clear actions. Include app/macOS versions, permissions, event timestamps, counts and status codes. - Exclude coordinates, device identifiers, full receiver URLs, tokens and unfiltered response bodies/errors. Keep a bounded diagnostic policy documented with implementation; do not create a parallel location history. - Update from state changes rather than frequent polling of closed panels or waking the laptop. ## Acceptance criteria - [ ] An old queued point accepted now is not displayed as a newly captured location. - [ ] Permission denial, TLS failure, HTTP rejection and offline states remain distinguishable from user pause. - [ ] Copied diagnostics and stored events pass checks using synthetic secret/coordinate markers, including nested error descriptions. - [ ] Clear diagnostics does not clear settings, Keychain identity or pending positions. - [ ] SOS outcomes and queue discard information remain observable without exposing request bodies. ## Validation Drive representative states from local fixtures and inspect the visible/copyable output. Keep screenshots and reports anonymized before any future public attachment. 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/status_screen.dart) - [Official source 2](https://github.com/traccar/traccar-client-sdk/blob/a297767642e98193eb7939cbb4d54c101ff23610/core/src/commonMain/kotlin/org/traccar/client/HttpUploader.kt) ## Dependencies - [PROTO-007](https://github.com/jayanezj/traccar-client-macos/issues/7) - [PROTO-010](https://github.com/jayanezj/traccar-client-macos/issues/10) - [PROTO-011](https://github.com/jayanezj/traccar-client-macos/issues/11) <!-- planning-id: PROTO-013 -->
jayanezj added this to the M4 - Reliable tracking and persistence milestone 2026-10-23 18:09:16 +02:00
jayanezj added the type:featurearea:uipriority:normal labels 2026-10-23 18:09:16 +02:00
jayanezj added type:feature and removed type:feature labels 2026-10-30 18:01:11 +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#14