Skip to content

Commit 4da962d

Browse files
Merge pull request #236 from TimeWarpEngineering/StevenT.Cramer/2025-07-01/planning
Add Backlog task for Blazor key validation Flow
2 parents e2ddbd7 + 61fa97c commit 4da962d

2 files changed

Lines changed: 96 additions & 0 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# B002: Research and Plan i18n Implementation
2+
3+
## Description
4+
5+
Research and create a comprehensive plan for implementing internationalization (i18n) and localization (l10n) support in the TimeWarp.Architecture template. This includes analyzing existing .NET i18n solutions, evaluating integration approaches with Blazor WebAssembly/Server, and defining the architecture for multi-language support.
6+
7+
## Requirements
8+
9+
- Research current .NET i18n best practices and available libraries
10+
- Evaluate compatibility with Blazor WebAssembly and Server modes
11+
- Analyze integration requirements with TimeWarp State management
12+
- Define resource management strategy (RESX, JSON, database, etc.)
13+
- Consider pluralization and cultural formatting requirements
14+
- Plan for runtime language switching capability
15+
- Assess impact on FastEndpoints API responses
16+
- Define localization workflow for development teams
17+
18+
## Checklist
19+
20+
### Research
21+
- [ ] Research .NET Core i18n libraries and frameworks
22+
- [ ] Evaluate Blazor-specific localization solutions
23+
- [ ] Analyze community solutions and best practices
24+
- [ ] Review Microsoft's official i18n guidance for Blazor
25+
26+
### Design
27+
- [ ] Design resource management architecture
28+
- [ ] Plan integration with TimeWarp State management
29+
- [ ] Define API contract localization strategy
30+
- [ ] Design language switching user experience
31+
- [ ] Plan fallback language handling
32+
33+
### Implementation Planning
34+
- [ ] Define file organization structure for localized resources
35+
- [ ] Plan configuration management for supported languages
36+
- [ ] Design developer workflow for adding new translations
37+
- [ ] Plan testing strategy for localized content
38+
39+
### Documentation
40+
- [ ] Create implementation roadmap
41+
- [ ] Document architectural decisions
42+
- [ ] Create developer guide outline
43+
44+
## Notes
45+
46+
This is a research and planning task. The goal is to create a comprehensive implementation plan that can be broken down into specific development tasks. Consider the distributed microservices architecture and ensure the i18n solution works across all container applications (Web, Api, Grpc, Yarp).
47+
48+
Key considerations:
49+
- TimeWarp State management integration
50+
- FastEndpoints API localization
51+
- Blazor WebAssembly vs Server mode differences
52+
- Development workflow efficiency
53+
- Performance impact on application startup and runtime
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# B003: Build Flow to Check @key on Blazor Loops
2+
3+
## Description
4+
Create a Flow (validation/analysis tool) to automatically detect Blazor loops that are missing the `@key` directive and ensure proper key usage for performance and correctness.
5+
6+
## Background
7+
Blazor loops without proper `@key` directives can cause rendering issues, performance problems, and incorrect component state management when the collection changes.
8+
9+
## Requirements
10+
- Detect `@for`, `@foreach` loops in Blazor components
11+
- Identify loops missing `@key` directive
12+
- Validate that `@key` values are unique and stable
13+
- Report locations of violations with line numbers
14+
- Integrate with existing build/validation pipeline
15+
- Provide clear error messages with remediation guidance
16+
17+
## Checklist
18+
19+
### Design
20+
- [ ] Design loop detection algorithm for .razor files
21+
- [ ] Define validation rules for @key usage
22+
- [ ] Plan integration with build pipeline
23+
- [ ] Design error reporting format
24+
25+
### Implementation
26+
- [ ] Create Roslyn analyzer or custom parser
27+
- [ ] Implement loop detection logic
28+
- [ ] Add @key validation rules
29+
- [ ] Build error reporting system
30+
- [ ] Add build pipeline integration
31+
32+
### Documentation
33+
- [ ] Create usage documentation
34+
- [ ] Document configuration options
35+
- [ ] Add troubleshooting guide
36+
37+
## Notes
38+
39+
Should analyze `.razor` files and consider both server-side and WebAssembly scenarios. May leverage Roslyn analyzers or custom parsing. Should handle nested loops appropriately.
40+
41+
Priority: Medium - Code quality and performance improvement
42+
43+
Labels: flow, blazor, validation, performance, code-quality

0 commit comments

Comments
 (0)