Skip to content

Fix usage chart limits and comparison totals - #2690

Merged
niemyjski merged 3 commits into
mainfrom
issue/usage-chart-limits
Oct 29, 2026
Merged

niemyjski merged 3 commits into
mainfrom
issue/usage-chart-limits

Conversation

@niemyjski

@niemyjski niemyjski commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

Usage charts stacked the allowance on top of usage, inflating the Limit line and allowing it to overflow the organization chart. Both routes now share independent series on a common baseline while preserving labels, colors, tooltip order, solid limit stroke, and project legend autoscaling. Adds seeded synthetic Storybook cases, component regressions, and a real-route browser regression. No API or billing-enforcement changes.

Validation: 4 component tests, type checks, formatting/ESLint, Storybook build, and local before/after comparisons passed. Hosted client, API, E2E, and Docker checks passed on a2e794f. Head 140d8c3 merges main 89607b4; only CONTRIBUTING.md changed, with application/tests unchanged. Final-head CI is running.

Verification and implementation details
  • Compared the original main-branch routes with the fixed routes using the same seeded data in Chromium: 12 monthly hovers × both routes × light/dark themes. Tooltip text, row order, values, fonts, colors, legend styling, and line colors matched. Project Y-axis ticks change intentionally because series are no longer summed. Legend/footer screenshot pixels were identical.
  • Regression tests cover constant/changing allowances, usage above the allowance, organization/project comparison totals, keyboard legend isolation/restoration, raw hover values, labels, and line containment. Tests and Storybook play functions use Arrange/Act/Assert sections; repository guidance now explicitly includes JavaScript/TypeScript.
  • Storybook: Components/Organizations/UsageChart → Organization, Project, Empty, Changing Limits. Play tests retain full-series geometry assertions after exercising the legend.
  • Fixtures contain generated counts and dates only. No customer names, identifiers, or copied history.
  • Commands from src/Exceptionless.Web/ClientApp: npm run test:unit -- usage-chart.svelte.test.ts, npm run check, npm run lint, npm run build-storybook, and E2E_URL=<local Aspire App endpoint> npx playwright test e2e/tests/usage-charts.e2e.ts --project=chromium --workers=1 --retries=0.
  • Initial aggregate validation hit local disk exhaustion. Type checks and lint subsequently passed individually. The later E2E failure occurred before chart navigation: login returned 500 with RedisTimeoutException, and Aspire reported the Docker socket unavailable. Hosted E2E subsequently passed on a2e794f, closing that verification gap. This task's AppHost was stopped after verification; no shared resources were reset.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-28T03:13:03.596439Z a2e794f New commits
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.AppHost 23% 22% 130 ❌
Exceptionless.Core 78% 70% 10988 ✔
Exceptionless.Insulation 51% 43% 370 ➖
Exceptionless.Web 86% 72% 9427 ✔
Summary 81% (28620 / 35495) 70% (14328 / 20504) 20915 ✔

@niemyjski
niemyjski merged commit 4890dc4 into main Oct 29, 2026
22 checks passed
@niemyjski
niemyjski deleted the issue/usage-chart-limits branch October 29, 2026 01:49
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