Rebase de l'état ticket (réouverture #102, clôtures #141-146, ouverture #147) et ajout du contexte agent glmopencode avant démarrage du cycle #147. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
38 lines
2.4 KiB
Markdown
38 lines
2.4 KiB
Markdown
---
|
||
id: "5ed1fc9b-1eef-4236-be89-e5d351ece549"
|
||
number: 141
|
||
title: "Supporter l’ouverture des layouts plugins comme Android Health"
|
||
status: "closed"
|
||
priority: "high"
|
||
sprint: null
|
||
links: []
|
||
agentRefs: []
|
||
attachments: []
|
||
createdBy: {"kind":"agent","agent_id":"a6c6ea12-bfc6-4bdc-8031-324102dfa34d"}
|
||
updatedBy: {"kind":"user"}
|
||
createdAt: 1785766766212
|
||
updatedAt: 1785838243826
|
||
version: 2
|
||
---
|
||
Le plugin Android `dev.idea.android-plugin` déclare un layout `idea-android.health` et l’enregistre correctement à l’activation, mais l’ouverture depuis l’UI échoue avec le message : « la création de layouts plugins nécessite une extension backend pas encore livrée ».
|
||
|
||
Constat confirmé :
|
||
- Ce n’est pas un bug du plugin Android sur la déclaration/enregistrement du layout.
|
||
- Ce n’est pas un problème du SDK sur le contrat de layout.
|
||
- Le blocage est côté IdeA host : le frontend expose bien les contributions de layout plugin, mais la création effective d’une cellule/layout plugin depuis le sélecteur n’est pas supportée de bout en bout.
|
||
|
||
Preuves repo :
|
||
- `frontend/src/features/layout/LayoutTabs.tsx` affiche explicitement ce message et mentionne l’absence de l’extension backend `create_layout` pour les plugin layouts.
|
||
- `frontend/src/features/plugins/PluginLayoutSelectorSection.tsx` documente aussi que la partie frontend est prête mais que le flux réel dépend d’une extension backend non livrée.
|
||
- Le rendu d’un `customPluginLayout` déjà présent semble supporté (`PluginLayoutCellView`, `CustomPluginLayoutCell`) ; le manque porte sur la création de cette cellule depuis l’UI.
|
||
|
||
Attendu :
|
||
- Permettre à l’utilisateur de créer/ouvrir un layout plugin déclaré dans un plugin installé et chargé, notamment `Android Health` du plugin Android.
|
||
- Étendre le flux de création de layout côté backend + DTO/layout kind si nécessaire pour supporter `customPluginLayout`/`pluginId`/`layoutType`/`state`.
|
||
- Retirer le message bloquant une fois le support livré.
|
||
|
||
Critères d’acceptation :
|
||
1. Depuis le sélecteur de layouts, choisir `Android Health` crée une cellule/layout plugin valide dans l’arbre de layout.
|
||
2. Le layout `idea-android.health` du plugin `dev.idea.android-plugin` se rend correctement via le runtime plugin chargé.
|
||
3. L’état opaque du layout peut être persistant comme prévu par le contrat `customPluginLayout`.
|
||
4. Aucun message « extension backend pas encore livrée » n’apparaît plus pour les plugin layouts supportés. |