Skip to content

Add opt-in hotspot usage tracking and budget warnings - #73

Draft
ethduke wants to merge 2 commits into
krishhgg:mainfrom
ethduke:codex/hotspot-usage-budget
Draft

ethduke wants to merge 2 commits into
krishhgg:mainfrom
ethduke:codex/hotspot-usage-budget

Conversation

@ethduke

@ethduke ethduke commented Oct 11, 2026 •

Copy link
Copy Markdown

Summary

Track this Mac's configured-hotspot upload/download during active sessions, including local traffic, and save totals per network. Add a compact menu summary, budget settings and confirmed reset. Warn once at 80% and 100%; leave the connection running. Surface missing readings and storage errors. Also fix the Wi-Fi observer cleanup crash with a regression test.

Refs #53 — usage estimates and warnings; no hard cap or carrier billing measurement.

Validation

  • Hosted CI passed on 579eed6 on macOS 26 and 27: 1,267 tests per OS, with 10 skipped and zero failures on each, plus release builds with warnings treated as errors. ShellCheck and workflow lint passed. CI results.
  • 173 targeted local tests passed in the documented macOS 15 compatibility copy.
  • Remaining hotspot device checks are listed in docs/releasing.md, with scoped development evidence in docs/release-validation.md. The two affected recovery-fixture tests also passed locally after the documentation conflict was resolved.
  • Live Mac test recorded 47.12 MB with 4 MB of controlled downloads. macOS delivered separate warnings at 32.45 MB and 41.75 MB against a 40 MB budget. All 19 live checks passed.
  • A paused 1 MB download was excluded; reload retained totals and warning history without duplicate alerts. 100 real observer start/stop cycles passed.

Limitations

Tested on macOS 15.6.1/M1 Max using documented scratch compatibility changes and production tracking/UI/notification components. Active session state was supplied without changing power settings. Full real-device keep-awake/app operation on supported macOS and actual phone-hotspot attribution remain unverified. Network interruptions are marked as unmeasured. Shell syntax passed locally; ShellCheck/workflow linters passed in hosted CI.

UI before / after

Native macOS 15 compatibility previews: before uses the baseline settings UI; after uses the current production UI with saved real-test totals.

Before: network settings only After: usage, budget and warnings
Before #53 After #53

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant