Skip to content

fix: coverage accuracy, UI consistency, and dark theme icon fixes#5

Merged
kool7 merged 2 commits intomainfrom
fix/coverage-accuracy-ui-v2
May 4, 2026
Merged

fix: coverage accuracy, UI consistency, and dark theme icon fixes#5
kool7 merged 2 commits intomainfrom
fix/coverage-accuracy-ui-v2

Conversation

@kool7
Copy link
Copy Markdown
Owner

@kool7 kool7 commented May 4, 2026

Supersedes #4 (closed due to merge conflicts — this branch is cleanly rebased on current main).

Problems fixed

1. Percentage mismatch across all surfaces
Status bar, tree "Overall", and dashboard ring were each computing totals differently — three different numbers. All three now apply identical filter logic: skip empty files (executedLines + missingLines === 0) and respect excludeTestFiles, producing consistent percentages everywhere.

2. Dashboard tab icon invisible on dark themes
Panel tab now uses ThemeIcon('graph') which VS Code themes automatically. Dashboard header icon is inlined SVG so currentColor inherits the editor foreground on both light and dark.

3. Coverage tree moved back to Explorer
Custom activity bar container was hard to discover. Tree view is back in Explorer where users naturally look.

4. Noisy info popup on every reload
Removed showInformationMessage toast that fired on every auto-reload. The status bar shows the same information persistently.

What changed

  • src/extension.ts — filtered stats for status bar, removed info toast
  • src/ui/statusBar.ts — accepts pre-computed filtered stats instead of raw report
  • src/ui/dashboardPanel.ts — ThemeIcon for panel tab, inline SVG header icon, filtered ring totals, workspace-relative display paths
  • src/providers/treeProvider.ts — filtered Overall summary, test-file filter, display paths
  • src/config.tsexcludeTestFiles setting
  • package.json — tree back in Explorer, excludeTestFiles config entry
  • assets/icon-dashboard.svg — new inline SVG icon using currentColor

kool7 added 2 commits May 4, 2026 11:00
Incorporates all changes cleanly on top of main (after PR #2 relative-paths
fix and PR #3 CI release automation):

- Parse arc table for branch-coverage .coverage files (coverage.py branch=true)
- inferMissingLines tracks bracket depth — no false reds on __all__, multi-line calls
- Pytest auto-run via child_process.spawn — no ^C corruption from Python extension
- Debounced file-watcher reloads, mutex on handleNoCoverage prompt
- Consistent filtered % across status bar, tree Overall, and dashboard ring
- displayPath (workspace-relative) preserved from PR #2 in both dashboard and tree
- Empty-file filter from PR #2 combined with test-file filter (excludeTestFiles)
- Dashboard tab ThemeIcon, header inline SVG — both themes correct
- Coverage tree back in Explorer panel, Summary clickable to open dashboard
- Removed info-message toast on every reload
@kool7 kool7 self-assigned this May 4, 2026
@kool7 kool7 added bug Something isn't working enhancement New feature or request ui labels May 4, 2026
@kool7 kool7 merged commit 03e2681 into main May 4, 2026
1 check passed
@kool7 kool7 deleted the fix/coverage-accuracy-ui-v2 branch May 4, 2026 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working enhancement New feature or request ui

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant