Skip to content

feat(metrics): Present sustained energy impact and include menu-bar apps - #117

Merged
bigtomcat6 merged 5 commits into
mainfrom
feat/energy-impact-final-presentation
Aug 14, 2026
Merged

feat(metrics): Present sustained energy impact and include menu-bar apps#117
bigtomcat6 merged 5 commits into
mainfrom
feat/energy-impact-final-presentation

Conversation

@bigtomcat6

@bigtomcat6 bigtomcat6 commented Aug 14, 2026

Copy link
Copy Markdown
Owner

Summary

This branch makes sustained Energy Impact reporting accessible and observable, and adds the option to include menu-bar (accessory) apps in the ranking.

  • Present sustained impact (up to 30 sec CPU energy estimate) instead of a momentary "current" value, with a rising/steady/falling trend label and a VoiceOver-friendly row presentation.
  • Show a per-session coverage indicator ("X of Y processes readable · Checked just now") that is deferred until the first observation is received and refreshed per session, so it never misleads before sampling starts.
  • Add an info button with an inline explanation of what the estimate covers (readable app processes; protected or short-lived helpers may be omitted).
  • Add a new preference, "Energy app scope" (Regular apps / Regular and menu-bar apps), that extends the ranking to accessory applications; localized in all supported languages.

How to test

  • Run the suite:
    • swift test (or swift test --filter EnergyImpact for the focused set)
  • Manual checks:
    • Open Energy Impact; confirm the subtitle reads "Up to 30 sec CPU energy estimate" and the 30 sec column header, with a coverage line once data is observed.
    • Click the info button; the popover explains the estimate scope.
    • In Preferences, switch "Energy app scope" to "Regular and menu-bar apps" and confirm menu-bar apps appear in the ranking (with a Menu Bar kind label) and that the empty message updates accordingly.

Release impact

  • Type: Added
  • Release note: Energy Impact now shows sustained (up to 30 second) energy estimates with trend and coverage indicators, an inline explanation, and a preference to include menu-bar apps in the ranking.

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 14, 2026
@bigtomcat6

Copy link
Copy Markdown
Owner Author

@codex reivew

@bigtomcat6 bigtomcat6 self-assigned this Aug 14, 2026
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

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

Files with missing lines Patch % Lines
...yCore/Metrics/Providers/EnergyImpactProvider.swift 96.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

@chatgpt-codex-connector

Copy link
Copy Markdown

Summary

Testing

  • git diff --check
  • python3 .github/scripts/check_pr_metadata.py --title "fix(metrics): Report complete Energy Impact coverage" --body-file /tmp/macactivity-pr-body.md
  • ⚠️ swift test (environment provides Swift 6.1.3, but the package requires Swift tools 6.2.0)
  • git status --short --branch (working tree clean after commit)

View task →

@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 marked this pull request as ready for review August 14, 2026 11:58
@bigtomcat6
bigtomcat6 merged commit a2a6c40 into main Aug 14, 2026
13 of 15 checks passed
@bigtomcat6
bigtomcat6 deleted the feat/energy-impact-final-presentation branch August 14, 2026 12:02
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