Skip to content

feat!: simplify TeslaSync workspaces, navigation, dashboards, and source-aware insights - #198

Merged
atulmgupta merged 2830 commits into
mainfrom
ui/simplification
Oct 20, 2026
Merged

atulmgupta merged 2830 commits into
mainfrom
ui/simplification

Conversation

@atulmgupta

@atulmgupta atulmgupta commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

Description This is the full ui/simplification integration, not only the final CI-fix commits. It intentionally ships as a MAJOR release. ### Changes - Rework workspace-aware page shells, mobile controls, persisted side navigation/icon rails, selection motion, title/action wrapping, and responsive fleet/vehicle navigation. - Unify accessible icon actions, focus-safe menus/popovers, evidence drawers, operational briefs, shared grid filtering/pagination, freshness indicators, source recovery, and unknown/degraded/empty states. Migrate vehicle, charging, driving, telemetry, ownership, science, operations, notifications and automation surfaces to the shared contracts. - Simplify dashboard tiles and widget shells; preserve source-bound age/retention evidence, reachable actions, native resizing/editing/drop targets, container sizing and narrow-screen layouts. Consolidate map surfaces and improve trip replay and drive-detail journey presentation. - Correct scoped query/optional-status handling and mobile capability typing; distinguish unavailable initial pricing settings (unknown cost) from successfully loaded unset pricing (No rate configured); preserve canonical units and export/replay interactions. - Include associated backend/API contract work, migrations, deployment/build integration, documentation, generated localization catalogues, source-preservation checkpoints, fixtures and review evidence carried by this integration branch. - Expand unit/browser/accessibility/responsive/source-evidence coverage; regenerate reviewed Windows-owned visual baselines only. Keep architecture, i18n, SI, race, coverage, hermetic-network and visual gates intact. ### Breaking change / release mechanism BREAKING CHANGE: adopt the new workspace/navigation/dashboard interaction model and shared source-evidence presentation contracts as a major compatibility boundary. Custom layouts, navigation integrations and UI automation must be reviewed against the new responsive controls, shared actions, evidence drawers and explicit unknown/unset states; prior presentation/selector behavior is not a compatibility promise. The actual release workflow (.github/workflows/release.yml, Determine version bump) scans commit subjects, matching feat! or BREAKING immediately after the SHA. This PR therefore uses an unscoped feat!: title, with a matching committed release-intent subject and explanatory BREAKING CHANGE: footer. A footer alone or feat(ui)!: would not trigger this workflow. The configured major label also selects the major version in .github/release-drafter.yml; labels do not replace the commit signal. Executed the actual release workflow version-computation block against the committed release intent: Latest tag: v2.17.1; Computed BASE_VERSION=3.0.0. Final version remains subject to the latest stable tag at eventual merge. Version injection remains owned by the release workflow; no hand-edited package/Helm versions, release dispatch, tag publication or merge is performed here. ### Validation and current blockers Draft retained; final head 42b8a20 is fully green: 204 SUCCESS, 3 existing conditional SKIPPED, no failures or pending checks. - Corrected the five named unit failures; all eight frontend shards and merged coverage succeeded on predecessor 8cdb873c96 (CI39354071013). - Exact official Playwright1.63.0 Linux / Node26.12.0 responsive4 wrapper: 108 passed (9.9m), proxy escape errors0; WebKit3 passed/proxy0. Root: genuine request starts after browser unload; preserve caller signals and ignore synthetic telemetry lifecycle events. Committed separately as 26b841d6bd. - Completed responsive15 exposed six additional failures. Corrected scaled settings heading wrapping and the footer test measuring intentionally hidden responsive alternatives; retained actual 44px target and geometry assertions and required core navigation. Full settings/footer files 42 passed (1.9m), proxy0. Four footer cases reproduced red locally; the two settings overflow cases were CI-font-specific, not locally reproduced red. - Final relevant unit/shared/i18n/shell/trio suites: 39 files /8542 passed. Exact Linux coverage3/8:11806 passed;6/8:6270 passed. TypeScript/full lint/audits/catalog passed. Production build/postbuild passed on stable committed HEAD bbd3bda; the earlier local build/postcheck SHA race was resolved by rebuilding without changing HEAD. No safety gate was weakened. - Unchanged Windows visual baselines: 49 passed /41 existing profile skips (2.1m), proxy0. No new snapshot or tolerance changes. Browser checks use CI=true/TZ=UTC/en-US and zero local retries. - Workflow parallelism: responsive16→64; Windows visuals10→64; independent accessibility1→13; secondary-engine smoke3 partitions each. Preserve singleton shared build/contracts, serial nine-test performance group, workers/retries and mandatory aggregates. Actionlint and exact test-ID union checks pass, no empty discovery partitions. - Real old responsive15 report: route guard consumed4823.1 cumulative execution seconds. Preserve all277×5=1385 route/viewport checks but split them into smaller independently seeded batches. New2023 quality tests distribute64 ways; heavy route work spans11 runners, max155 checks rather than1385 on one. Actual balanced55/64 wrapper 31 passed (3.8m), proxy0; all accessibility13 passed/proxy0; Firefox/WebKit6 passed/proxy0. - Full6999-path cleanup audit, separate commit 759339bc39: remove294 transient agent/source-copy/session/log/crash artifacts with narrow ignores. Preserve real baselines, fixtures, canonical contracts, curated referenced evidence and the reusable i18n probe required by strict CI. - Verified remote success: CI39361384841 and Frontend Quality39361384951. Quality finished in29m28s; all64 responsive,64 Windows visual,13 a11y and6 engine workers passed. Both strict workflow-contract owners passed (local24/24 and11/11). Final documentation closeout42b8a2094f also passed all204 checks with3 existing conditional skips: final CI39364266495 and final Frontend Quality39364266475. Worktree clean; owned validation helpers removed. Deferred security migrations/upstream fixes and eight product-contract decisions are not claimed complete. Live evidence: docs/ci-handoff.md, docs/progress-log.md, docs/followups-plan.md. No merge or release publication. No issue closure is asserted by this description. ## Type of Change - [x] Bug fix (non-breaking change that fixes an issue) - [x] New feature (non-breaking change that adds functionality) - [x] Breaking change (fix or feature that would break existing functionality) - [x] Documentation update - [x] Infrastructure / CI change ## Checklist - [ ] My code follows the project's style guidelines - [x] I have performed a self-review of my code - [x] I have added tests that prove my fix is effective or my feature works - [ ] New and existing tests pass locally - [x] I have updated the documentation accordingly - [ ] My changes generate no new warnings ## Screenshots (if applicable) Reviewed Windows baseline evidence is committed under web/e2e/.snapshots/; navigation review evidence is included in the branch. Latest reviewed settings baseline: web/e2e/.snapshots/visual-long-content/visual.spec.ts/settings.png. No Linux regeneration into these Windows-owned paths.

Commits the handoff guard script + header screenshots; fixes the 7 remaining audit findings (6 secondary->ghost, TariffLab draft-rate confirm); converts the RbacMatrix refresh to IconButton; hardens the destructive-label guard; migrates 11 Clear/delete tests through the confirm dialog and restores dropped target classes. Audit 0 findings; guard 8/8; tsc, full lint, build pass.
Merges Vehicle status brief, live map, Location details and Quick links into one GlassPanel hero (65/35 desktop, stacked mobile); panel holds speed, compass heading, observed date+relative, home/work/HomeLink, odometer, one-line coordinates+copy; nav icon buttons + Details + freshness dot in header; methodology preserved in Sources drawer. Shared lib/heading extracted. MapOverviewPage 37/37, heading 13/13; Edge verified 375/768/1440.
Map fills row height (55vh stacked, stretch desktop) with invalidateSize on resize; per-field sources move to a Sources drawer; ISO timestamps render via useDateFormat; tile layer remounts on style change so selection matches tiles; negative Age logged report-only. TripReplayPage 24/24; Edge verified 375/768/1440.
Shell body owns the scroll boundary (vertical-only, horizontal clip, min-w-0 children, break-words); grid panel overflow-clip; FleetPosture uses shell padding; Sparkline fluid via viewBox. Guard-found root causes fixed in shared components: Tooltip clamps its bubble inside clipping ancestors and observes them (opacity-0 bubbles inflated scrollWidth 15px); WidgetEventFeed clips TimelineItem -mx-1 bleed. FreshnessDot gains the documented compact prop, shell passes compact when title-less. New Playwright guard covers 121 widgets x min/default/large x view/edit: 121/121 green twice on Edge. Suites: WidgetShell 31/31, Sparkline 17/17, Tooltip 29/29, WidgetEventFeed 22/22.
Migrate 5 suites to the evidence-disclosure contract; no tests removed, skipped, or weakened.
atulmgupta and others added 9 commits October 19, 2026 15:42
Reviewed runtime files: DashboardGrid.tsx and __tests__/DashboardGrid.test.tsx; LayoutSwitcher.tsx and LayoutSwitcher.test.tsx; WidgetShell.tsx; DriveScoreGaugeWidget.tsx and test; DigitalTwinWidget.tsx and test; generator-only verified-producer-checkpoints.json. Reviewed browser files: dashboard-drag-drop.smoke.spec.ts, dashboard-layouts.smoke.spec.ts, dashboardCatalogueHeaderCollision.ts, dashboardCatalogueHeroRegression.ts, dashboardCatalogueRemainingFixtures.ts, dashboardCatalogueRemainingSources.ts. Preserve exact source values, native drop placement, overlaps and visual thresholds. Verify 45 browser cases plus 20 Windows visuals; 34 grid units; full lint, tsc/build and 8110 i18n tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…r fonts

Reviewed files: web/e2e/dashboardCatalogueCapture.ts; web/e2e/dashboard-observation-age-native.smoke.spec.ts; web/e2e/nativeDigitFont.ts; web/e2e/nativeDigitFont.OFL.txt. Use real operational metric markers and a generated, renamed OFL font subset with intrinsically unequal 6/7 advances. Retain all native geometry, clock, source and negative-control assertions. No thresholds or skips changed; no runtime font download.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reviewed files: dashboard-kiosk-theme.smoke.spec.ts; dashboard-unknown-charger.smoke.spec.ts; dashboard-widget-overflow.smoke.spec.ts; dashboardCatalogueChargeHistory.ts; day-log.smoke.spec.ts; drive-calendar-layout.smoke.spec.ts; operationalbrief-contracts/charging.smoke.spec.ts; operationalbrief-contracts/vehicles.smoke.spec.ts (all under web/e2e). Assert portaled/current accessible controls, exact independent refresh ledgers and retained physical readings without falsely-current status. Measure direct calendar panels and real chart tooltip content. Add overflow descendant diagnostics without modifying any geometry assertion or tolerance.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…idence

Reviewed files: docs/ci-handoff.md; docs/progress-log.md. Record actual commands/results, source checkpoint generation, Windows ownership, new logical commits and remaining new-head CI work; no green completion claim.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tions

Reviewed files: web/src/components/layout/PageContainer.tsx; web/src/components/layout/__tests__/PageContainer.test.tsx; web/src/components/layout/PageHeader.tsx; web/src/components/layout/PageHeader.test.tsx. Reproduced vehicle detail title collapsing to 30px and five lines at 1280. Auto flex basis lets the action rail wrap instead. Both header implementations remain consistent. 42 changed units, 5 native route viewports, all 90 unchanged Windows visual cases and 8110 i18n tests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reviewed files: web/e2e/settings.smoke.spec.ts; web/e2e/tesla-physics.smoke.spec.ts; web/e2e/tesla-usage.smoke.spec.ts. Preserve the hermetic preview gate: mounted fleet pollers must stop before interceptors are replaced between loop iterations. Verify all 3 Tesla cases against an owned preview: only readiness output, no proxy errors; preview stopped. Canonical settings action is Show tours; all 32 viewport/theme/text-scale cases pass with unchanged geometry assertions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ence

Reviewed files: docs/ci-handoff.md; docs/progress-log.md. Record actual 28aa0e8 CI runs and outstanding jobs, independently verified late fixes, full local validation and unchanged gate integrity.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…low evidence

Reviewed files: web/e2e/.snapshots/visual-long-content/visual.spec.ts/settings.png; web/e2e/dashboard-widget-overflow.smoke.spec.ts. Exact CI reproduction89059 pixels: long localized heading now retains intrinsic width and settings controls wrap below. Reviewed both Windows images; regenerate only this baseline through Playwright. Full actual visual config49 passed/41 existing profile skips; separate route-quality90 passed. Overflow diagnostics now compare client edge and include CSS/body geometry; all original assertions, tolerances and worst-of-three sampling unchanged. Full local121x6 guard passed; Linux cause remains unresolved. Full lint/audits passed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…r evidence

Reviewed files: docs/ci-handoff.md; docs/progress-log.md. Preserve actual run URLs, rejected hypotheses, untouched gates and incomplete CI status.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@atulmgupta atulmgupta self-assigned this Oct 19, 2026
@atulmgupta atulmgupta changed the title UI/simplification feat!: simplify TeslaSync workspaces, navigation, dashboards, and source-aware insights Oct 20, 2026
@atulmgupta atulmgupta added the major Major release: configured release-drafter version resolver label Oct 20, 2026
atulmgupta and others added 11 commits October 19, 2026 17:16
BREAKING CHANGE: ship the new workspace, navigation, dashboard interactions and shared source-evidence presentation contracts as a major compatibility boundary. Existing custom layouts and UI automation require review against the migrated controls and explicit unknown/unset states.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the absolute layout box instead of translating only its painted position. Preserve placement and resize semantics with physical-edge regression assertions. Original 121-widget six-mode Linux guard passes; Windows visual matrix unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reproduce and fix the five exact failed assertions in CI39347637266. Assert allocated bounds and distinct actual side offsets, retain exact clamped variance bars, and isolate geometry mocks. Full Linux Node26.12 coverage shards3/8 and6/8 passed before commit; isolated committed-runtime consumer coverage105/105 passed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Review all 6999 PR paths; remove 294 PR-added agent state/source replicas, MCP captures, local logs and crash reports. Retain referenced review evidence, baselines, fixtures and canonical contracts. Narrow ignores prevent transient artifacts returning. Full frontend lint/audits, strict catalog and production build passed locally.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Prevent genuine post-beforeunload API reads before fetch/retry/auth probing without replacing caller signals. Only trusted browser lifecycle events retire a document; synthetic telemetry flushes remain active and cancelled dirty-form navigation resumes. Exact Linux responsive4 wrapper108 passed/proxy0; WebKit3 passed/proxy0. Exact coverage shards3/8 and6/8 passed; all shell/i18n contracts passed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Opt settings briefs into full title wrapping; preserve the default compact brief contract elsewhere. Assert 44px targets only for rendered responsive controls while explicitly requiring core navigation. Exact Linux full settings/footer files42 passed and proxy0; shared unit/i18n8542 and unchanged Windows visuals49 passed/41 existing skips.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use64 responsive and Windows visual shards,13 independent a11y partitions and3 smoke partitions per secondary engine. Preserve mandatory aggregates, shared build, workers, retries and all assertions. Split1385 heavy route checks into smaller seeded batches: exact route/test unions preserved; representative55/64 passes31 cases with proxy0. Actionlint and all shard discovery unions validated. Keep serial performance and singleton contracts/builds unsharded.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reproduce stale10-shard expectation locally, then retain strict shared-build/managed-preview checks for64-way matrices and secondary-engine shards. Add full partition and required engine aggregate assertions. All24 harness contracts, route/scenario checks and focused lint pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rices

Reproduce stale16/10 matrix assertion, retain every isolation/build/waiver contract and pin exact64/13/3 partitions and engine aggregate. Exact Node CI contract11 passed; Playwright harness24 passed. No production or workflow changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@atulmgupta
atulmgupta marked this pull request as ready for review October 20, 2026 03:23
@atulmgupta
atulmgupta marked this pull request as draft October 20, 2026 03:24
Record green implementation runs, measured 64-way throughput, strict workflow contracts, cleanup and remaining product/security decisions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@atulmgupta
atulmgupta marked this pull request as ready for review October 20, 2026 04:19
@atulmgupta
atulmgupta merged commit c353a59 into main Oct 20, 2026
207 checks passed
@atulmgupta
atulmgupta deleted the ui/simplification branch October 20, 2026 04:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend ci docker docs frontend helm major Major release: configured release-drafter version resolver

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants