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: .squad/agents/bishop/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
@@ -37,6 +37,8 @@
37
37
- NEVER replace ListView/FormView/GridView — must use BWFC components (2026-05-07T09:24)
38
38
39
39
## Learnings
40
+
-**2026-05-08T10:42:43-04:00:** Generated account-page stubs are far more benchmark-ready when the semantic rewrite, Program.cs scaffold, and redirect-handler annotator all agree on one POST-based auth contract. Emitting `/Account/LoginHandler` + `/Account/RegisterHandler`, preserving `ReturnUrl`, and configuring the application cookie paths in the scaffold removes a common first-pass auth failure without needing hand-edited Program.cs.
41
+
-**2026-05-08T10:42:43-04:00:**`RequiredFieldValidator` generic inference should prefer the validated control's value type instead of a blanket default. In practice, mapping `TextBox` controls to `string` and only falling back to `object` when no control hint exists prevents noisy generic warnings while keeping the transform deterministic.
40
42
-**2026-05-08T10:00:31-04:00:**`copilot-instructions.md` now needs explicit migration-tooling guidance: start from the CLI wrapper, preserve BWFC data controls, trust `WebFormsPageBase` shims, and keep transform registration instructions paired across `Program.cs` and `TestHelpers.CreateDefaultPipeline()` so future agents can repair WingtipToys-class migrations without outside help.
41
43
-**2026-05-07T13:17:32-04:00:** ListView `GroupTemplate` and `LayoutTemplate` emission is more reliable when the CLI emits explicit `Context` names (`items`, `groups`) instead of leaving raw `@context` placeholders. That keeps generated placeholder markup readable and removes one common manual repair step on Wingtip fixtures.
42
44
-**2026-05-07T13:17:32-04:00:** Typed `GridView` columns must inherit the parent grid `ItemType`; leaving `TemplateField` at `ItemType="object"` breaks migrated template expressions like `@Item.Quantity`. A dedicated post-attribute-strip pass that rewrites child BWFC column generics to the grid row type fixes this deterministically.
Copy file name to clipboardExpand all lines: src/BlazorWebFormsComponents.Cli/Pipeline/RedirectHandlerAnnotator.cs
+71-13Lines changed: 71 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -53,13 +53,13 @@ public async Task<int> AnnotateAsync(MigrationContext context, MigrationReport r
53
53
if(context.SourceFiles.Any(IsLoginPage))
54
54
{
55
55
handlerBlocks.Add(BuildLoginHandlerBlock());
56
-
report.AddManualItem("Account/Login.aspx",0,"bwfc-identity","Login.razor submits to /Account/PerformLogin — replace the generated stub with your real authentication endpoint.","high");
56
+
report.AddManualItem("Account/Login.aspx",0,"bwfc-identity","Login.razor now posts to /Account/LoginHandler — verify the generated Identity sign-in flow matches your app's redirect and claims requirements.","medium");
57
57
}
58
58
59
59
if(context.SourceFiles.Any(IsRegisterPage))
60
60
{
61
61
handlerBlocks.Add(BuildRegisterHandlerBlock());
62
-
report.AddManualItem("Account/Register.aspx",0,"bwfc-identity","Register.razor submits to /Account/PerformRegister — replace the generated stub with your real registration endpoint.","high");
62
+
report.AddManualItem("Account/Register.aspx",0,"bwfc-identity","Register.razor now posts to /Account/RegisterHandler — verify the generated Identity registration flow matches your app's user profile and confirmation requirements.","medium");
0 commit comments