Note U-11 revert in the UI plan

Record the reason U-11 was reverted (SignalR flood from per-row
FluentCombobox with fresh Items IEnumerable + inline delegate
parameters on every render) and what a retry needs (materialised
sortedBookingTexts field, static Func<string, string> for OptionText/
OptionValue, browser verification with a real pending-bookings count).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Claudio Schaad 2026-07-06 17:42:34 +02:00
parent 2522274928
commit 0432a2db75

View file

@ -177,7 +177,7 @@ Split into two PRs on delivery because the header path touches ~15 pages.
### Phase 5 — Home page split ### Phase 5 — Home page split
- **U-10** Extract `<StatementImport />` and `<PendingBookings />` components. Home stacks them. - **U-10** Extract `<StatementImport />` and `<PendingBookings />` components. Home stacks them.
- **U-11** Replace the Home `<input list="texts">` + `<datalist>` with `FluentAutocomplete` so the autocomplete UI is uniform with the split dialog. - **U-11** ~~Replace the Home `<input list="texts">` + `<datalist>` with `FluentAutocomplete` so the autocomplete UI is uniform with the split dialog.~~ **Attempted with `FluentCombobox` in `ceef2c1`, reverted in `2522274` because the UI became unresponsive.** Root cause: rendered per row inside a `@foreach`, three parameters were re-created on every render — `sortedBookingTexts` as a computed `.OrderBy(...)` getter (fresh `IEnumerable` each access), `OptionText="@(t => t)"` and `OptionValue="@(t => t)"` inline lambdas (fresh delegate each render), plus `Autocomplete=Both` which does JS interop per keystroke. Combined, N pending bookings flooded the SignalR circuit with render + interop messages until the whole UI froze. Retry needs: materialise `sortedBookingTexts` to a real field populated in `LoadDataAsync`, extract the identity lambdas to `static readonly Func<string, string>` fields, and test in the browser with a realistic pending-bookings count before merging.
### Phase 6 — Report componentization ### Phase 6 — Report componentization