Sprint3/detailsview passwordrecovery#340
Open
csharpfritz wants to merge 27 commits intoFritzAndFriends:devfrom
Open
Sprint3/detailsview passwordrecovery#340csharpfritz wants to merge 27 commits intoFritzAndFriends:devfrom
csharpfritz wants to merge 27 commits intoFritzAndFriends:devfrom
Conversation
Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
Co-authored-by: csharpfritz <78577+csharpfritz@users.noreply.github.com>
…ends#333) - Create CalendarSelectionMode enum (None, Day, DayWeek, DayWeekMonth) - Refactor Calendar.SelectionMode from string to CalendarSelectionMode enum - Remove .GetAwaiter().GetResult() blocking call in CreateDayRenderArgs - Add Caption, CaptionAlign, UseAccessibleHeader properties - Update tests and samples to use enum values
- Calendar: date selection, selection modes, styling, day/title formats, events - FileUpload: basic upload, file type filtering, multiple files, disabled, styled - ImageMap: navigate/postback/mixed hot spot modes, rectangle/circle/polygon shapes - Updated NavMenu and ComponentList with links to all three new components
…ents into dev # Conflicts: # docs/EditorControls/FileUpload.md
…Friends#338 merge The FileUpload PR (FritzAndFriends#338) inadvertently reverted Sprint 1 gate review entries from agent histories (beast, cyclops, forge, jubilee, rogue) and downgraded the FileUpload InputFile decision in decisions.md. Restored from commit f85aa42 (docs(ai-team): Sprint 1 gate review results).
Creates .agent.md files for all 6 team agents (Beast, Cyclops, Forge, Jubilee, Rogue, Scribe) so they appear in GitHub Copilot's agent picker. Content sourced from existing .ai-team/agents/*/charter.md files.
Squad is the single Copilot agent that delegates to the specialized agents defined in .ai-team/agents/. Individual agent files were incorrectly created the correct pattern is one coordinator agent (squad.agent.md) that routes work to Forge, Cyclops, Beast, Jubilee, Rogue, and Scribe based on task type.
Session: 2026-02-10-sprint2-complete Requested by: Jeffrey T. Fritz Changes: - Logged Sprint 2 session (4 components shipped with docs, samples, tests) - Merged Sprint 2 design review decision from inbox - Removed duplicate FileUpload InputFile decision from inbox (already consolidated) - Appended Sprint 2 completion decision to decisions.md - Propagated cross-agent updates to all 5 agent histories
…ents into dev # Conflicts: # docs/UtilityFeatures/PageService.md # samples/AfterBlazorServerSide/Components/Pages/ControlSamples/Calendar/Index.razor
Session: 2026-02-11-sprint3-planning Requested by: Jeffrey T. Fritz Changes: - Logged session to .ai-team/log/2026-02-11-sprint3-planning.md - Merged 3 decisions from inbox into decisions.md - Updated status.md to reflect 48/53 components complete - Sprint 3 scope: DetailsView + PasswordRecovery - Propagated cross-agent updates to all agent history files
Session: 2026-02-12-sprint3-execution Requested by: Jeffrey T. Fritz Changes: - Logged Sprint 3 execution session - Merged 7 decisions from inbox into decisions.md - Sprint 3 gate review: DetailsView + PasswordRecovery APPROVED - Propagated cross-agent updates to Beast, Colossus, Cyclops, Rogue, Jubilee - status.md updated to 50/53 (94%)
DetailsView: Single-record data display with auto-generated rows, edit/insert modes, paging, and full CRUD events. Inherits DataBoundComponent<T>. PasswordRecovery: 3-step password reset wizard (UserName Question Success) following ChangePassword/CreateUserWizard table-based patterns. Also includes: - 71 new bUnit tests (42 DetailsView + 29 PasswordRecovery), 797 total passing - Documentation for both components - Deferred controls migration guide (Chart, Substitution, Xml) - Sample pages for both components - Integration tests (smoke + interaction) for both sample pages - NavMenu and ComponentList updated Components: 50/53 complete (94%)
…ests - Remove duplicate Pages/ControlSamples/FileUpload/Default.razor that conflicted with Components/Pages/ControlSamples/FileUpload/Index.razor (same @page route caused System.InvalidOperationException: ambiguous routes on every page load) - Fix PasswordRecovery integration tests: InputText in .NET 10 renders without explicit type=text attribute; use ID-based selectors instead - Fix DetailsView EditButton test: use exact role match to avoid matching sidebar links; use Locator.WaitForAsync for Blazor interactive DOM updates
- ChangePassword/CreateUserWizard: use ID-based selectors instead of type-based selectors (.NET 10 InputText rendering change) - Image/ImageMap: replace external via.placeholder.com URLs with local SVG placeholder images to eliminate network dependency - TreeView/Images: fix image path /img/C#.png -> /img/CSharp.png - Calendar: filter ASP.NET Core structured log messages from console error assertions (timestamp-prefixed messages are not real errors) - Remove duplicate ImageMap InlineData from EditorControl tests (ImageMap is categorized as Navigation Control per team decisions) Result: 111/111 integration tests passing, 797/797 bUnit tests passing
Session: 2026-02-12-boy-scout-test-fixes Requested by: Jeffrey T. Fritz Changes: - Logged session to .ai-team/log/ - Merged 3 decisions from inbox into decisions.md - Propagated cross-agent updates to Jubilee and Colossus history
DetailsViewAutoField.GetValue() was ignoring the mode parameter, always
rendering plain text regardless of Edit/Insert mode. Now renders:
- ReadOnly: plain text (unchanged)
- Edit: <input type="text" value="{current}"> pre-filled
- Insert: <input type="text" value=""> empty
Added integration test DetailsView_EditMode_RendersInputTextboxes that
verifies clicking Edit produces input textboxes and Cancel returns to
plain text.
Result: 112/112 integration tests passing, 797/797 bUnit tests passing
Session: 2026-02-12-detailsview-edit-mode-fix Requested by: Jeffrey T. Fritz Changes: - Logged session - Merged decisions from inbox - Updated agent histories
…criteria - Add 4 missing integration tests: DetailsView_EmptyData, PasswordRecovery full flow, help link, custom text - Record milestone exit criteria: samples + integration tests + all green required before submission - Total: 116/116 integration tests passing
…p to Navigation - Merged two 'Utility Features' TreeNode branches into one (ID Rendering + PageService) - Moved ImageMap from Editor Components to Navigation Components per team decision - Alphabetized Editor Components entries (Button before Calendar, HyperLink before Image)
…tion - Create DataBinder sample: Eval(), shorthand Eval, formatted Eval, modern alternative - Create ViewState sample: dictionary API with counter demo, settings form, modern alternative - Alphabetize all NavMenu TreeView branches, ComponentList columns, and mkdocs.yml nav - Move ImageMap from Editor Controls to Navigation Controls in ComponentList and mkdocs - Add Utility Features section to ComponentList with all 4 entries - Add 4 integration tests: 2 smoke + 2 interaction (120/120 passing)
| var rowIndex = 0; | ||
| @foreach (var field in fieldList) | ||
| { | ||
| var isAlternating = rowIndex % 2 == 1; |
Check warning
Code scanning / CodeQL
Useless assignment to local variable Warning
Comment on lines
+362
to
+367
| foreach (var prop in properties) | ||
| { | ||
| if (!prop.CanRead) continue; | ||
|
|
||
| fields.Add(new DetailsViewAutoField(prop.Name, prop)); | ||
| } |
Check notice
Code scanning / CodeQL
Missed opportunity to use Where Note
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request adds a comprehensive set of templates and documentation files to the
.ai-team-templates/directory, establishing conventions, workflows, and patterns for AI agent team collaboration in the project. The changes introduce templates for team charters, ceremonies, routing, logging, skills, and project context, as well as policy and registry files for agent orchestration. These templates are designed to standardize multi-agent collaboration, memory management, and project conventions.The most important changes are:
Team Process & Collaboration Templates:
ceremonies.md), agent charters (charter.md), team roster (roster.md), work routing (routing.md), orchestration logs (orchestration-log.md), and run output (run-output.md), providing structured processes for meetings, roles, work assignment, and artifact assembly. [1] [2] [3] [4] [5] [6]Agent Memory & Decision Management:
scribe-charter.md) detailing responsibilities for session logging, decision merging, and cross-agent updates, along with templates for agent history (history.md) and raw agent output (raw-agent-output.md). [1] [2] [3]Skills & Conventions:
skill.md) and a specific skill file for Squad conventions (skills/squad-conventions/SKILL.md), documenting core patterns such as zero dependencies, error handling, file structure, and Windows compatibility. [1] [2]AI Agent Orchestration Policy & Registry:
casting-policy.json), casting history (casting-history.json), and casting registry (casting-registry.json) files to define universe allowlists, agent assignments, and capacity constraints for agent orchestration. [1] [2] [3]