BUG: EventsPage — dialog snapshot conditionné par @if (pattern orphelin, cf. fix c266f26) #38
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#38
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
Bug connu documenté dans le projet (fix
c266f26, 08/2026) : ne jamais wrapper unMudDialog @bind-Visibledans un@if. Quand le@ifpasse à false, le composant est détruit au lieu de recevoirVisible=false, le dialog reste affiché par le provider mais orphelin, et plus aucun bouton ne répond.EventsPagecontient encore ce pattern.🔍 Observé
src/Heimdall.Web/Components/Pages/EventsPage.razorL66-79 :❌ Attendu
Le
MudDialogdoit être toujours rendu, la visibilité pilotée uniquement par@bind-Visible; le contenu interne peut être conditionnel (_showSnapshotEvent is not null), pas le composant lui-même — alignement sur le pattern des autres pages corrigées (CamerasPage, SitesPage).🧪 Reproduction
/events, cliquer sur l'icône image d'un événement → dialog snapshot.@if→ état fragile ; si_showSnapshotEventest mis ànullpendant que le dialog est visible, le dialog reste affiché mais orphelin.💥 Impact
Dialog orphelin, boutons morts, tests bUnit en timeout (le
MudDialogProviderne rend pas le dialog inline comme attendu) — incohérence avec le fixc266f26.🛠 Correctif
@ifautour duMudDialog; garder_showSnapshotEventpour les données, rendu conditionnel dans leDialogContent.RenderPage<EventsPage>: ouvrir → fermer (overlay) → rouvrir un autre snapshot, vérifier que le dialog se ferme/rouvre correctement (pas de timeout, pas d'orphelin).📁 Fichiers concernés (estimés)
src/Heimdall.Web/Components/Pages/EventsPage.razortests/Heimdall.Web.Tests/(tests EventsPage)Corrigé et poussé (commits
e0482d3,63f7375— hook auto-commit). Tests bUnit + Application verts.