Skip to content

Feature/apps windows#76

Draft
atulmgupta wants to merge 2399 commits into
mainfrom
feature/apps-windows
Draft

Feature/apps windows#76
atulmgupta wants to merge 2399 commits into
mainfrom
feature/apps-windows

Conversation

@atulmgupta

Copy link
Copy Markdown
Contributor

Description

Closes #

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would break existing functionality)
  • Documentation update
  • Infrastructure / CI change

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have added tests that prove my fix is effective or my feature works
  • New and existing tests pass locally
  • I have updated the documentation accordingly
  • My changes generate no new warnings

Screenshots (if applicable)

atulmgupta and others added 30 commits June 13, 2026 06:23
Native WinUI 3 parity port of
web/src/features/analytics/components/weekly-digest/SummaryHeroCards.tsx: the
Week Summary composite of HighlightCard tiles (Total Distance / Total Drives /
Energy Used / Charging Cost / CO2 Saved + optional Fun Fact), with the web
trendFor change, fmtNumber/fmtInt/formatCurrency readouts, a responsive
1->2->3 column grid, loading skeleton chrome, full i18n + accessibility, and
PII-safe view.opened diagnostics. Reuses the shared HighlightCard surface and
Core NumberFormatting. Adds 40 headless xUnit cases (Model.cs source-linked
into the headless test project, the established pattern).

Gate: BUILD_EXIT=0, FORMAT_EXIT=0, PLACEHOLDER_EXIT=0; headless tests 29058
pass (incl. the 40 new). TEST_EXIT=1 / STATUS=BLOCKED is the sanctioned
absent-WinAppDriver E2E gap (147 UITests, none referencing this surface) --
WinUI 3 + .NET 10 themselves are present and the Release build is green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ds.prompt.md' into auto/integration-20260608-003207
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…tsPanel.prompt.md' into auto/integration-20260608-003207
…(P2)

Native WinUI 3 parity port of
web/src/features/system/components/status/UpdateAvailableCallout.tsx:
cyan-bordered glass callout with Sparkles mark, headline (+ optional
version), running-version lead-in, review-the-notes copy, optional muted
last-checked stamp, and a "View notes" release-notes link. UI-free
Model/Projection/Diagnostics/Registration + 26 headless tests
(adapter, per-branch, a11y, i18n, diagnostics); view.opened telemetry;
polite live region; tokenized accent; every string via the i18n facade.

Gate on this runner: BUILD/FORMAT/PLACEHOLDER=0, headless tests
29084/0 (incl. this surface 26/26). Full-solution TEST_EXIT=1 is solely
the 147 Category=UIAutomation E2E tests failing fast because WinAppDriver
is absent (separate W9-0002 gate); see the surface log for evidence.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…eCallout.prompt.md' into auto/integration-20260608-003207
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ile.prompt.md' into auto/integration-20260608-003207
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…rompt.md' into auto/integration-20260608-003207
Native WinUI 3 parity port of web/src/lib/globalShortcuts.tsx — the global-shortcut registry seeder. Builds the 4 universal keys + 14 GOTO navigation shortcuts + 3 palette-command shortcuts and registers them into the shared IShortcutRegistry (web useShortcut), unregistering on unmount; also renders them as a grouped, accessible inline cheatsheet (Navigation/Actions/Commands) via the shared ShortcutProjection so the surface is tangible. Ready + Empty states, i18n via the facade, Narrator names per row, view.opened diagnostic (slug=globalShortcuts).

Surface-scoped gates green: build 0 warn/0 err, dotnet format clean, 0 placeholders, 27 headless surface tests + 29,111 App.Tests pass. Full-solution dotnet test is BLOCKED only by the pre-existing WinAppDriver UI-automation suite (absent UI-automation runner); see the gate log.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s.prompt.md' into auto/integration-20260608-003207
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…pt.md' into auto/integration-20260608-003207
Native WinUI 3 / Fluent parity port of web DLQInspectorPage (/admin/dlq):
composes the StatusHeader, EntriesTable, AuditPanel and EntryDrawer W3
surfaces behind a DlqInspectorPageViewModel that binds the four web hooks
(useDLQList/useDLQEntry/useDLQAudit/useDLQReplay) to the generated OpenAPI
client, with the replay confirm dialog + replay-blocked banner and the
loading/error/success list data states. Registered in the shell PageFactory.

PARITY_COVERED=15/15 (2 panels, 3 states, 10 strings). Build + format +
headless tests (29264 passed, incl. 23 DLQInspectorPageTests) green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent parity port of web APIKeysPage (route /api-keys):
key list with permission/expired badges + metadata, create modal with
one-time generated-key reveal, and per-key revoke + delete. Binds the four
generated-client operations (get/post/delete/post-revoke api-keys) through a
cache-then-network IApiKeysSource + ApiKeysPageViewModel (loading/empty/
success/error states). 27 parity strings added to the en catalog; 23 headless
tests. Registered in the NavigationView shell.

PARITY_COVERED=32/32. build + lint + placeholder + dotnet test (App.Tests:
29264 passed) all green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
atulmgupta and others added 29 commits June 15, 2026 05:13
Native WinUI 3 / .NET 10 / Fluent port of web AnalyticsPage (/analytics). Page
shell binds the single useFleetAnalytics read (GET /analytics/fleet) and feeds
all tabs from it: Hero/Overview/Charging via replay sources through their own
result mappers, Driving/Battery via models parsed from the snapshot. Implements
loading/error/success states and the four tab labels; registers the Analytics
route factory. PARITY_COVERED=9/9; 29 headless tests; build/lint/placeholder green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…pt.md' into auto/integration-20260608-003207
Native WinUI 3 / Fluent parity port of web AnomalyDashboardPage (route /analytics/anomalies). Binds useAnomalies (GET /analytics/anomalies) through an INotifyPropertyChanged ViewModel + generated C# client feed; renders the four summary stat tiles, system-health card grid, anomaly timeline and most-frequent-anomalies bar chart with loading/empty/error/success states and all 15 i18n keys. 27/27 parity items; 33 headless tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Page.prompt.md' into auto/integration-20260608-003207
Native WinUI 3 / Fluent port of web SpeedProfilePage (route /speed-profile) at
full panel/chart/state/string parity (PARITY_COVERED=37). Adds the code-first
feature surface (Model/Source/ViewModel/View) under FeatureViews.Driving binding
useSpeedProfile + useDrives through the generated client, registers the page
factory, adds the two missing aria i18n keys to en/ar/he, the headless test suite
(56 cases) and the parity ledger row + evidence log.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…mpt.md' into auto/integration-20260608-003207
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent port of web SearchPage (/search) at full parity:
7 GlassPanel regions, loading/empty/success states, 22 i18n strings.
Generated-client feed (get_api_v1_search), facet rail, grouped results.
PARITY_COVERED=32/32. 24 headless tests; build + lint + test + placeholder green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent parity port of web WatchFacePage (route /watch):
OLED wearable face (battery ring, charging line, state badge, lock/climate/
sentry tap icons, last-updated caption) + opt-in Helix narrator sibling.
useWatchSummary + useWatchCommand bound through an INotifyPropertyChanged
state holder over the generated C# client; SI converted at the display
boundary; loading/empty/error/success states; 35 headless tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent port of web SecurityAccessPage at manifest parity
(page:admin/SecurityAccess, PARITY_COVERED=9/9): 2 panels (security alert,
live vehicle state), 3 data states (loading/error/success), 4 i18n strings.
Bound to the generated C# client via SecurityAccessClientFeed (GET /security,
/security/latest, /vehicles). 60 headless tests; build + lint + placeholder
gates green; windows-ledger row set covered.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent port of web SlowQueriesPage (route /admin/slow-queries)
at full panel/state/string parity (22/22). Adds Model/Source/ViewModel/view under
feature-views/SlowQueriesPage, registers the SlowQueries route in the shell, ports
the 17 parity strings (+4 order labels) into Strings/{en,ar,he}/Resources.resw, and
adds 31 headless parity tests.

The generated-client feed (SlowQueriesClientFeed) binds the OpenAPI contract client
op get_api_v1_admin_observability_slow_queries, unwraps the platform data-envelope,
and maps 503/SUBSYSTEM_NOT_CONFIGURED to the not-configured warning banner.

Also repairs a pre-existing merge=union corruption in TeslaSync.App.Tests.csproj
(multiple <Project> roots, MSB4025) by regenerating the single canonical root from
the Microsoft.UI-free sources on disk per the file's own invariant.

Gate: build + format + headless test (25810 passed, incl. 31 new) + placeholder all
green. Full-sln UITests are environmentally blocked (WinAppDriver/Appium absent).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent port of web SecretRotationPage (/admin/secret-rotation)
bound to the generated client op get_api_v1_admin_observability_secret_rotation
(useSecretRotation). Implements all 30 parity items: 5 panels (Tracked-secrets /
OK / Warn / Critical stat cards + the rotation-status GlassPanel with a custom
Fluent Grid table - two-line kind/rotated/expiry cells + severity TsBadge), the
4 data states (loading / empty / 503-subsystem + generic error / success) and the
21 i18n keys. PARITY_COVERED=30/30. build + format + test (29515 passed, incl. 66
new) + placeholder scan all green.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Native WinUI 3 / Fluent port of web SystemPage (web/src/features/admin/pages/SystemPage.tsx):
- feature-views/SystemPage: SystemPageViewModel (title/subtitle state holder + diagnostics),
  SystemPageRegistration, Empty{RateLimit,Queue}StatusSource, and the Fluent view composing the
  two web GlassPanel regions (RateLimitStatusPanel + QueueStatusPanel) under a PageTitle/Subhead header.
- Registered the page with the W4 ShellPageFactory (web page is unrouted, so no RouteTable entry).
- Added the missing system.page.subtitle i18n key to Strings/{en,ar,he}/Resources.resw.
- 11 headless SystemPageTests (PARITY_COVERED=2/2).
- Repaired the .gitattributes merge=union corruption of TeslaSync.App.Tests.csproj (two Project
  roots -> one canonical root; deduped Compile union) that blocked the baseline build (MSB4025).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The shell never composed a data layer (App did new ShellWindow() with no
ServiceProvider), so every page rendered with its empty-default source. Add
ShellDataContext (generated client + cache-then-network engine over the W4 auth
handler) and a RegisterDataBackedPages seam that re-registers the high-traffic
routes with their .Create(...) factories (last registration wins). Verified live:
Vehicles, Drives, Trips, Battery, Efficiency, DriveScore, Mileage, Statistics,
etc. now show real backend data.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Salvaged from the wedged worker worktree (the agent completed the body +
registration but hung mid-test-writing on a model-API call). Resolved the
DispatcherQueue ambiguity and the analyzer-as-error nits the worker's verify
loop hadn't reached. SSE feed renders the empty-default until W6 wiring.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Salvaged from the wedged worker worktree (agent built the body but hung before
registration/verification). Fixed the namespace collision (the worker put it in
FeatureViews.System, shadowing the global System namespace for all feature-views
- 730 errors) by moving to FeatureViews.SystemOps, plus the analyzer-as-error
return-type nits. Registered at route /tesla-account.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the ci label Jun 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants