You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .ai-team/agents/beast/history.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,3 +62,5 @@
62
62
Team update (2026-02-24): Menu auto-ID pattern components with JS interop should auto-generate IDs decided by Cyclops
63
63
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
64
64
Team update (2026-02-24): PagerSettings shared sub-component created update docs when component stabilizes decided by Cyclops
65
+
66
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
Copy file name to clipboardExpand all lines: .ai-team/agents/colossus/history.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,3 +34,5 @@ Added 9 smoke tests and 9 interaction tests for M7 sample pages: GridView Select
34
34
35
35
Team update (2026-02-24): Menu auto-ID pattern Menu now auto-generates IDs, JS interop crash fixed decided by Cyclops
36
36
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
37
+
38
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
Copy file name to clipboardExpand all lines: .ai-team/agents/cyclops/history.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,3 +72,5 @@ Audited 13 controls. Found: AccessKey/ToolTip missing from base class (universal
72
72
- **Shared PagerSettings sub-component:** Created `PagerSettings` class (plain C# POCO, not a Blazor component) with all 12 Web Forms PagerSettings properties (Mode, PageButtonCount, First/Last/Next/PreviousPageText, image URLs, Position, Visible). Created `PagerPosition` enum in `Enums/` (PagerButtons already existed). Created `IPagerSettingsContainer` interface in `Interfaces/`. Created `UiPagerSettings` abstract base component following the `UiTableItemStyle` CascadingParameter pattern but for settings instead of styles. Created 3 concrete sub-component pairs: `GridViewPagerSettings`, `FormViewPagerSettings`, `DetailsViewPagerSettings` — each inherits `UiPagerSettings` and uses `[CascadingParameter(Name = "ParentXxx")]` to set properties on the parent's `PagerSettings` instance. Wired into GridView, FormView, DetailsView: added `IPagerSettingsContainer` to each control's interface list, added `PagerSettings` property + `PagerSettingsContent` RenderFragment parameter, rendered `@PagerSettingsContent` inside existing `<CascadingValue>` block. Key files: `Enums/PagerPosition.cs`, `PagerSettings.cs`, `Interfaces/IPagerSettingsContainer.cs`, `UiPagerSettings.cs`, `GridViewPagerSettings.razor(.cs)`, `FormViewPagerSettings.razor(.cs)`, `DetailsViewPagerSettings.razor(.cs)`.
73
73
Team update (2026-02-24): Substitution/Xml formally deferred no implementation needed decided by Beast
74
74
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
75
+
76
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
Team update (2026-02-24): Substitution/Xml formally deferred in status.md and README decided by Beast
90
90
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
91
91
Team update (2026-02-24): PagerSettings shared sub-component created for GridView/FormView/DetailsView decided by Cyclops
92
+
93
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
Team update (2026-02-24): Menu auto-ID pattern Menu now auto-generates IDs for JS interop decided by Cyclops
43
43
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
44
44
Team update (2026-02-24): PagerSettings shared sub-component created samples may need PagerSettings demos decided by Cyclops
45
+
46
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
Copy file name to clipboardExpand all lines: .ai-team/agents/rogue/history.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -91,3 +91,5 @@ Wrote 41 bUnit tests across 6 new test files for P2 features:
91
91
92
92
Team update (2026-02-24): M8 scope excludes version bump to 1.0 and release decided by Jeffrey T. Fritz
93
93
Team update (2026-02-24): PagerSettings shared sub-component created may need bUnit tests decided by Cyclops
94
+
95
+
Team update (2026-02-24): v0.14 released Forge audit: conditional ship, 6 missing sample pages and PagerSettings defaults noted for 1.0 decided by Forge
-`dotnet test src/BlazorWebFormsComponents.Test/ --no-restore` — ✅ passes
1927
+
1928
+
### 2026-02-24: Pre-release audit for v0.14
1929
+
**By:** Forge
1930
+
**What:** CONDITIONAL SHIP — No blockers found. 0 build errors, 1,206 tests passing across all projects. 51/53 components complete (2 deferred). One WARNING on PagerSettings defaults deviating from Web Forms. Six components missing sample pages. Chart tests exist but not organized in a test subdirectory.
1931
+
**Why:** The codebase is in solid shape for a minor release. All 51 completed components exist, build clean, and have documentation. The PagerSettings default deviation is non-blocking for 0.14 but should be fixed before 1.0. Sample page gaps are cosmetic — the components themselves work. Details below.
1932
+
1933
+
---
1934
+
1935
+
## Verdict: ✅ CONDITIONAL SHIP
1936
+
1937
+
Ship v0.14 with the understanding that the WARNING items below are tracked for the next milestone.
-**Recommendation:** Fix defaults to match Web Forms before 1.0. Non-blocking for 0.14 since most users override these.
1968
+
1969
+
### NOTE
1970
+
1971
+
**N1: Six components have no dedicated sample pages**
1972
+
Missing sample page directories in `samples/AfterBlazorServerSide/Components/Pages/ControlSamples/`:
1973
+
- CheckBoxList
1974
+
- ImageButton
1975
+
- ListBox
1976
+
- RadioButton
1977
+
- TextBox
1978
+
- DataPager
1979
+
1980
+
These components are documented and tested, but lack sample pages. Per team decision (2026-02-10), docs and samples must ship with components.
1981
+
1982
+
**N2: Chart tests not in standard test directory structure**
1983
+
- Chart tests exist as `src/BlazorWebFormsComponents.Test/ChartTests.cs` (single .cs file)
1984
+
- All other components use `{ComponentName}/` subdirectories with `.razor` test files
1985
+
- Not blocking but inconsistent with project test organization pattern
1986
+
1987
+
**N3: ValidationSummary is named `AspNetValidationSummary` in code**
1988
+
- The Blazor component is `AspNetValidationSummary.razor` (not `ValidationSummary.razor`)
1989
+
- This is intentional to avoid conflict with Blazor's built-in `ValidationSummary`
1990
+
- Documentation correctly references this naming
1991
+
- Migration docs should make this rename clear
1992
+
1993
+
**N4: 64 build warnings in component library**
1994
+
- Primarily BL0007 (component parameter should be auto property) in Login controls
1995
+
- These are non-functional warnings — Login/ChangePassword/CreateUserWizard use backing fields for state management
1996
+
- Should be addressed eventually but not release-blocking
1997
+
1998
+
---
1999
+
2000
+
## M8 Additions Review
2001
+
2002
+
### PagerSettings ✅ GOOD
2003
+
-**Architecture:** Clean shared model — `PagerSettings.cs` (POCO), `UiPagerSettings` (abstract base component), `IPagerSettingsContainer` (interface)
2004
+
-**Wiring:** GridView, FormView, and DetailsView all implement `IPagerSettingsContainer`, expose `PagerSettings` property, and accept `<GridViewPagerSettings>`, `<FormViewPagerSettings>`, `<DetailsViewPagerSettings>` sub-components
2005
+
-**Defaults:** Correct for Mode (Numeric), PageButtonCount (10), NextPageText (">"), PreviousPageText ("<"), Position (Bottom), Visible (true). **Exception:** FirstPageText/LastPageText use "..." instead of Web Forms' "<<"/">>" (see W1)
2006
+
-**Enums:**`PagerButtons` (4 values) and `PagerPosition` (3 values) both match Web Forms
2007
+
-**Pattern:** Follows established UiTableItemStyle → CascadingParameter pattern
2008
+
2009
+
### Menu Auto-ID ✅ GOOD
2010
+
- Located in `Menu.razor.cs` lines 232-241
2011
+
-`OnParametersSet()` checks `string.IsNullOrEmpty(ID)` and auto-generates `menu_{GetHashCode():x}`
2012
+
- Ensures JS interop always has a valid element ID target
2013
+
- Clean implementation, non-breaking (only activates when no ID provided)
2014
+
2015
+
### Calendar Attribute Fix ✅ GOOD
2016
+
-`Calendar.razor` renders `class="@CssClass"` and `style="@GetTableStyle()"` on the table element
2017
+
- Proper attribute rendering with null-safe patterns throughout
2018
+
- Style sub-component CascadingValue pattern in place for all 9 calendar styles
2019
+
2020
+
### Menu.js Null Guard ✅ GOOD
2021
+
- Located at `src/BlazorWebFormsComponents/wwwroot/Menu/Menu.js` lines 12-116
2022
+
- Constructor wrapped in try/catch with `console.warn` fallback (line 112-115)
2023
+
- Element null check at lines 19-21: `if (!this.element) { return; }`
2024
+
- Prevents unhandled JS exceptions from crashing the Blazor circuit
2025
+
- Appropriate defensive programming for JS interop scenarios
0 commit comments