a2ui-project / a2ui-project/a2ui

Explicit "root" ID Enforcement

Ouverte
#843 5 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
P2 type: feature/enhancement
Langage dominant
TypeScript
Étoiles
16.4k
Forks
1.3k
Merge moyen
2 j 13 h
PR mergées (30 j)
134

Description

# Proposal: Explicit "root" ID Enforcement

## Reason
A surface is not valid for rendering until a component with `id="root"` is defined. Currently, the renderers perform a simple null check, leading to inconsistent "empty" states or flicker while the stream is loading.

## Design
1. **Ready State**: Add an `isReady` signal to `SurfaceModel` (or `SurfaceComponentsModel`) that specifically tracks the presence of the `root` ID.
2. **Progressive Feedback**: Update `A2uiSurface` to check `isReady`. While false, it should render a standardized "Loading Surface" state or a shimmer effect.
3. **Enforcement**: Log a warning if components are added to a surface that has been active for a significant time without a root component, aiding developer debugging.

## Key Files
- `renderers/web_core/src/v0_9/state/surface-model.ts`
- `renderers/react_prototype/src/A2uiSurface.tsx`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start by reading the key files mentioned: `renderers/web_core/src/v0_9/state/surface-model.ts` and `renderers/react_prototype/src/A2uiSurface.tsx`. Understand how the surface state is managed and where the root component check currently happens. The goal is to add an `isReady` signal and update the React component to show a loading state. Check for existing tests related to surface rendering to ensure the new behavior works correctly.

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

Évaluation

Stack technique
react, typescript
Domaine
developer-experience, frontend
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Clairement spécifiée
Accessibilité débutants
65/100

Recevez les nouvelles issues par e-mail

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