Infrastructure: Qualify desktop lifecycle failure paths and maintain a support matrix

Ouverte
#4,451 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
12/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
macos, react-native, typescript
Domaine
mobile-dev, testing

Piste de recherche

Start with the three references/current-status.md ledgers and the F14 section of the retired driver-next.md at the cited revision; first confirm that the F15 baseline in #4441 is complete. Then trace the driver fixtures, harness and Storybook tests, and owning app CI listed in the scope. Done means an exact-revision matrix covers every endpoint and feature, records required measurements and skips accurately, and is validated in the affected packages and native lanes.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Platform: MacOS Platform: Win32 Platform: Windows Status: Blocked

Current status - 2026-11-07

Blocked for the qualified support baseline by F15 #4441. Evidence collection can continue; an open baseline gate is not a prohibition on parallel endpoint work.

The current ledger includes Windows Fabric 21 Pass/2 Partial/1 Fail and Win32 Paper 21 Pass/3 Partial, with historical macOS partial/not-run results at their exact source revisions. No all-pass or merged-head native qualification claim is justified.

Remaining consolidation includes the per-endpoint failures/gaps enumerated in #4441/#4437, native ownership/containment from #4446/#4447, a real non-React integrated application and AppKit fixture, independent supervisor/helper/app/Metro/bridge/runner/MCP faults, and a repeated-run reliability window. Coordinate release/CI windows with #4345/#4349 rather than claiming duplicate independent evidence.

Discovery/operation bytes and tokens, tool counts, cold/warm startup and latency, retries/recovery cost, retained resources and cleanup need exact revision/client/tokenizer/sample-count/artifact methods. Windows/Paper measurements remain Not run. Historical macOS numbers and green hosted jobs cannot fill those cells. Preserve every failed attempt and explicit Unsupported/Skipped outcome.

Goal

Maintain a revision- and endpoint-specific support matrix for the desktop automation packages, covering injected lifecycle failures and agent-efficiency measurements. Each feature item produces its own native and consumer evidence when it lands; this item consolidates that evidence and fills the gaps that only show up across components.

Part of #4435 (plan item F14).

Scope

  • Owner: cross-platform qualification; each feature owner remains responsible for its own evidence.
  • Paths (under packages/agentic/): driver native fixtures and contracts, harness and Storybook consumer tests, owning app CI and scripts, and the references/current-status.md ledgers.
  • Inject supervisor, helper, app, Metro, bridge, runner, and MCP failures independently. Cover same-port replacement, surviving children, stale descriptors, late renders, grant revocation, and uncertain cleanup.
  • Include a non-React application, and add the AppKit fixture rather than assuming it exists.
  • Report macOS Fabric, macOS Paper, Windows Fabric, and Win32 Paper separately.
  • Measure identical tasks for schema overhead, tool calls and response bytes, cold and warm startup, retries, recovery cost, retained resources, and cleanup correctness, and record them in the ledgers with their method.

Dependencies

  • Blocked by: F15 #4441, which establishes the baseline for the delivered foundation.
  • Consolidates: each advertised feature only after its implementation and endpoint evidence land.
  • Related: #4345 (driver production release qualification) and #4349 (required native CI).

Acceptance

  • The matrix lists each endpoint and feature with passed, failed, skipped, not-run, or unsupported status at an exact revision.
  • Hosted physical-input or capture skips are recorded as skipped, not passed; a successful semantic activate is not evidence that a physical click works.
  • Measurements record revision, client, platform, renderer, tokenizer, sample count, and artifact locator.
  • Historical results are never reported as qualification of a later revision.

Validation

  • Iterate with focused yarn test <name> in each changed package, then run its yarn format, yarn lint, yarn build, and yarn test. Finish with yarn clean-lage-cache then yarn lage buildci; run yarn lage test-links --verbose --grouped after markdown changes.
  • Add a patch changeset for each changed published package. Update the owning references/current-status.md rows (done, work in progress, unsupported) and affected README/AGENTS guidance in the same change.
  • Native, provider, or process-topology changes need matching-OS native contracts and the affected consumer lane. JavaScript tests and bundles do not qualify native behavior; hosted capability skips are not passes. Report each check as passed, failed, skipped, not run, or unsupported.

Evidence

  • Current ledgers: packages/agentic/desktop-driver/references/current-status.md, packages/agentic/desktop-test/references/current-status.md, and packages/agentic/desktop-driver-mcp/references/current-status.md.
  • Retired plan: driver-next.md at 0569e1b86, sections 8 (F14) and 11.
Langage dominant
TypeScript
Étoiles
1.4k
Forks
179
Merge moyen
1 j 8 h
PR mergées (30 j)
60

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de microsoft/fluentui-react-native

Toutes les issues de microsoft/fluentui-react-native

Issues similaires

Plus d'issues TypeScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.