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.
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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
Acceptance criteria
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