Skip to content

feat(dashboard): Show live power flow telemetry - #118

Merged
bigtomcat6 merged 21 commits into
mainfrom
feature/power-flow-endpoints
Aug 24, 2026
Merged

feat(dashboard): Show live power flow telemetry#118
bigtomcat6 merged 21 commits into
mainfrom
feature/power-flow-endpoints

Conversation

@bigtomcat6

Copy link
Copy Markdown
Owner

Summary

Adds a physical power-flow panel to the Energy Impact page. The panel shows
live power input and output endpoints above the app ranking: the battery
appears as an input while discharging and an output while charging, and
connector labels identify USB-C or MagSafe adapters when recognizable.
Current watts appear only for directly measured hardware values; adapter
ratings and negotiated limits are never shown as live power.

Under the hood this adds power-flow domain rules in Core, a service that
collects and validates live telemetry snapshots, refresh while the page is
visible, safe degradation when power source data is missing, and localized
strings for all supported languages.

How to test

  • swift test (SwiftPM suites, including new PowerFlowTypesTests,
    PowerFlowServiceTests, PowerFlowModelTests, PowerFlowViewTests, and
    localization coverage).
  • Manual: open Energy Impact on a Mac with power-source data. Verify the
    power-flow panel renders above the app ranking, battery direction follows
    discharge/charge state, connector labels appear when recognizable, and
    unavailable values degrade gracefully without crashing. Verify the panel
    refreshes while the page stays visible.

Release impact

  • Type: Added
  • Release note: The Energy Impact page now shows live physical power flow,
    including battery charge/discharge direction and connector labels when the
    adapter can be recognized.

Checklist

  • I have seen this code, I have run this code, and I take responsibility for this code.
  • PR title follows type(scope): Summary.
  • Tests or a clear manual verification path are included.
  • User-facing changes include release-note wording or Release impact: None.

@bigtomcat6 bigtomcat6 added the feature PR Label label Aug 21, 2026
@codecov

codecov Bot commented Aug 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.63636% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Sources/MacActivityApp/Models/PowerFlowModel.swift 98.07% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@bigtomcat6

Copy link
Copy Markdown
Owner Author

@codex review

@bigtomcat6 bigtomcat6 self-assigned this Aug 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 55d61c47fc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread Sources/MacActivityCore/Metrics/Providers/PowerFlowTypes.swift Outdated
Comment thread Sources/MacActivityCore/Metrics/Providers/PowerFlowService.swift Outdated
@bigtomcat6
bigtomcat6 marked this pull request as ready for review August 24, 2026 16:43

@bigtomcat6 bigtomcat6 left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reviewed

@bigtomcat6
bigtomcat6 merged commit 0d812ce into main Aug 24, 2026
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature PR Label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant