Conversation
Reviewer's GuideRefactors localization usage in sample components to use more descriptive localizer names, removes EventTable-based event documentation from demos, and updates supporting infrastructure (tests, attributes, and docs) to align with the new localization and documentation patterns. Class diagram for updated localization usage in sample componentsclassDiagram
direction LR
class Foo {
+int Id
+string Name
+string Address
+DateTime DateTime
+int Count
+bool Complete
+static List~Foo~ GenerateFoo(IStringLocalizer_Foo_ fooLocalizer)
+static Foo Generate(IStringLocalizer_Foo_ fooLocalizer)
+static List~SelectedItem~ GenerateHobbies(IStringLocalizer_Foo_ fooLocalizer)
}
class IStringLocalizer_Foo_ {
<<interface>>
+string indexer[string name]
+string indexer[string name, string arg]
}
class IStringLocalizer_ValidateForms_ {
<<interface>>
}
class IStringLocalizer_Rows_ {
<<interface>>
}
class IStringLocalizer_FormInlineSwitch_ {
<<interface>>
}
class IStringLocalizer_CustomerFilter_ {
<<interface>>
}
class SelectedItem~T~ {
+string Text
+T Value
}
class SelectGenerics {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Foos
+void OnInitialized()
}
class Selects {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Foos
+void OnInitialized()
}
class CheckboxLists {
+IStringLocalizer_Foo_ FooLocalizer
+Foo Model
+List~SelectedItem~ FooItems
+Task OnInitializedAsync()
}
class LabelsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+IStringLocalizer_ValidateForms_ FormLocalizer
+Foo Dummy1
+Foo Dummy2
+Foo Dummy3
+Foo Dummy4
+void OnInitialized()
}
class FormInlineSwitch {
+IStringLocalizer_FormInlineSwitch_ Localizer
+IEnumerable~SelectedItem~ Items
+RowType FormRowType
+void OnInitialized()
}
class CustomerFilter {
+IStringLocalizer_CustomerFilter_ TableFilterLocalizer
+int? _value
}
class ListGroups {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+Foo Value
+void OnInitialized()
}
class TablesDynamic {
+IStringLocalizer_Foo_ FooLocalizer
+DataTable UserData
+DataTable PageDataTable
+List~Foo~ PageFoos
+void CreateContext()
+void InitDataTable()
+void InitPageDataTable()
}
class TablesEdit {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+List~Foo~ EditItems
+List~SelectedItem~ Hobbies
+FooDataService_Foo_ CustomerDataService
+List~Foo~ BindItems
+void OnInitialized()
}
class FooDataService_Foo_ {
+FooDataService_Foo_(IStringLocalizer_Foo_ fooLocalizer)
}
class RowsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+IEnumerable~SelectedItem~ Hobbies1
+IEnumerable~SelectedItem~ Hobbies2
+IEnumerable~SelectedItem~ Hobbies3
+void OnInitialized()
}
class SearchesCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+Task~IEnumerable~Foo~~ OnSearchFoo(string searchText)
+Task~IEnumerable~string~~ OnSearchFooString(string v)
}
class TablesAutoRefreshCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+int _id
+Task~QueryData_Foo_~ GenerateFoos(QueryPageOptions options, List~Foo~ foos)
}
class TablesDynamicExcelCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+DataTable UserData
+DataTable KeyboardData
+void InitDataTable()
+void InitDataTableContext()
+void InitDataTableKeyboard()
}
class ValidateFormsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+IEnumerable~SelectedItem~ Hobbies2
+IEnumerable~SelectedItem~ Hobbies3
+IEnumerable~SelectedItem~ Hobbies4
+IEnumerable~SelectedItem~ Hobbies7
+Task OnInitializedAsync()
}
class DemoHobbyTemplate {
+IStringLocalizer_Foo_ FooLocalizer
+IEnumerable~SelectedItem~ Hobbies
+void OnInitialized()
}
class ContextMenusCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+Foo Foo
+List~Foo~ Items
+void OnInitialized()
}
class DialogsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+Task OnSaveDialogClick()
}
class Dom2ImagesCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class Html2ImagesCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class Html2PdfsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class InputGroupsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ AufoFillItems
+Foo Model
+void OnInitialized()
}
class LayoutsCodeBehind {
+IStringLocalizer_Menus_ MenuLocalizer
+IEnumerable~MenuItem~ IconSideMenuItems1
+IEnumerable~MenuItem~ IconSideMenuItems2
+Task OnInitializedAsync()
}
class IStringLocalizer_Menus_ {
<<interface>>
}
class ListGroupsRazor {
+IStringLocalizer_Foo_ FooLocalizer
}
class SlideButtonsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+Placement Placement
+IEnumerable~SelectedItem~ Items
}
class TablesExcelCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesExportCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesFixedColumnCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesFooterCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+string Left
+string Center
+string Right
+void OnInitialized()
}
class TablesHeaderCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesLoadingCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+IEnumerable~SelectedItem~ Hobbies
+void OnInitialized()
}
class TablesLookupCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+Task OnInitializedAsync()
}
class TablesPagesCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesSelectionCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+List~Foo~ SelectedItems
+List~Foo~ _scrollItems
+void OnInitialized()
}
class TablesToolbarCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesTrackingCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+void OnInitialized()
}
class TablesTreeCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~TreeFoo~ TreeItems
+Task~QueryData_TreeFoo_~ OnQueryAsync(QueryPageOptions options)
+Task~IEnumerable~TableTreeNode_TreeFoo_~~ OnTreeExpand(TreeFoo foo)
}
class TablesVirtualizationCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+List~SegmentedOption_bool_~ _fixedFooterSegments
+void OnInitialized()
}
class TablesWrapCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ CellItems
+Task~QueryData_Foo_~ OnQueryAsync(QueryPageOptions options)
}
class TreeViewsCodeBehind {
+IStringLocalizer_Foo_ FooLocalizer
+Foo Model
}
class ValidateFormsRazor {
+IStringLocalizer_Foo_ FooLocalizer
}
class WinBoxesRazor {
+IStringLocalizer_Foo_ FooLocalizer
}
class BaseDockView1 {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+List~TreeFoo~ TreeItems
+void OnInitialized()
+Task~IEnumerable~TableTreeNode_TreeFoo_~~ OnTreeExpand(TreeFoo foo)
}
class BaseDockView2 {
+IStringLocalizer_Foo_ FooLocalizer
+List~Foo~ Items
+List~TreeFoo~ TreeItems
+void OnInitialized()
+Task~IEnumerable~TableTreeNode_TreeFoo_~~ OnTreeExpand(TreeFoo foo)
}
Foo ..> IStringLocalizer_Foo_ : uses
SelectGenerics --> IStringLocalizer_Foo_ : injects
Selects --> IStringLocalizer_Foo_ : injects
CheckboxLists --> IStringLocalizer_Foo_ : injects
LabelsCodeBehind --> IStringLocalizer_Foo_ : injects
LabelsCodeBehind --> IStringLocalizer_ValidateForms_ : injects
FormInlineSwitch --> IStringLocalizer_FormInlineSwitch_ : injects
CustomerFilter --> IStringLocalizer_CustomerFilter_ : injects
ListGroups --> IStringLocalizer_Foo_ : injects
TablesDynamic --> IStringLocalizer_Foo_ : injects
TablesEdit --> IStringLocalizer_Foo_ : injects
TablesEdit --> FooDataService_Foo_ : creates
FooDataService_Foo_ --> IStringLocalizer_Foo_ : depends
RowsCodeBehind --> IStringLocalizer_Foo_ : injects
SearchesCodeBehind --> IStringLocalizer_Foo_ : injects
TablesAutoRefreshCodeBehind --> IStringLocalizer_Foo_ : injects
TablesDynamicExcelCodeBehind --> IStringLocalizer_Foo_ : injects
ValidateFormsCodeBehind --> IStringLocalizer_Foo_ : injects
DemoHobbyTemplate --> IStringLocalizer_Foo_ : injects
ContextMenusCodeBehind --> IStringLocalizer_Foo_ : injects
DialogsCodeBehind --> IStringLocalizer_Foo_ : injects
Dom2ImagesCodeBehind --> IStringLocalizer_Foo_ : injects
Html2ImagesCodeBehind --> IStringLocalizer_Foo_ : injects
Html2PdfsCodeBehind --> IStringLocalizer_Foo_ : injects
InputGroupsCodeBehind --> IStringLocalizer_Foo_ : injects
LayoutsCodeBehind --> IStringLocalizer_Menus_ : injects
SlideButtonsCodeBehind --> IStringLocalizer_Foo_ : injects
TablesExcelCodeBehind --> IStringLocalizer_Foo_ : injects
TablesExportCodeBehind --> IStringLocalizer_Foo_ : injects
TablesFixedColumnCodeBehind --> IStringLocalizer_Foo_ : injects
TablesFooterCodeBehind --> IStringLocalizer_Foo_ : injects
TablesHeaderCodeBehind --> IStringLocalizer_Foo_ : injects
TablesLoadingCodeBehind --> IStringLocalizer_Foo_ : injects
TablesLookupCodeBehind --> IStringLocalizer_Foo_ : injects
TablesPagesCodeBehind --> IStringLocalizer_Foo_ : injects
TablesSelectionCodeBehind --> IStringLocalizer_Foo_ : injects
TablesToolbarCodeBehind --> IStringLocalizer_Foo_ : injects
TablesTrackingCodeBehind --> IStringLocalizer_Foo_ : injects
TablesTreeCodeBehind --> IStringLocalizer_Foo_ : injects
TablesVirtualizationCodeBehind --> IStringLocalizer_Foo_ : injects
TablesWrapCodeBehind --> IStringLocalizer_Foo_ : injects
TreeViewsCodeBehind --> IStringLocalizer_Foo_ : injects
BaseDockView1 --> IStringLocalizer_Foo_ : injects
BaseDockView2 --> IStringLocalizer_Foo_ : injects
WinBoxesRazor --> IStringLocalizer_Foo_ : injects
ValidateFormsRazor --> IStringLocalizer_Foo_ : injects
ListGroupsRazor --> IStringLocalizer_Foo_ : injects
Class diagram for removal of EventTable-based event documentationclassDiagram
direction LR
class EventItem {
+string Name
+string Description
+string Type
}
class EventTable {
+IEnumerable~EventItem~ Items
+void Render()
}
class AttributeTable {
+Type Type
+void Render()
}
class RadiosSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class RadiosSampleAfter {
+void BuildPage()
}
class AlertsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class AlertsSampleAfter {
+void BuildPage()
}
class CalendarsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class CalendarsSampleAfter {
+void BuildPage()
}
class CascadersSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class CascadersSampleAfter {
+void BuildPage()
}
class CheckboxListsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class CheckboxListsSampleAfter {
+void BuildPage()
}
class CheckboxsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class CheckboxsSampleAfter {
+void BuildPage()
}
class DateTimePickersSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class DateTimePickersSampleAfter {
+void BuildPage()
}
class DateTimeRangesSampleBefore {
+List~EventItem~ GetEvents()
+void BuildPage()
}
class DateTimeRangesSampleAfter {
+void BuildPage()
}
class DropdownsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class DropdownsSampleAfter {
+void BuildPage()
}
class MultiSelectsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class MultiSelectsSampleAfter {
+void BuildPage()
}
class PopoverConfirmsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class PopoverConfirmsSampleAfter {
+void BuildPage()
}
class RatesSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class RatesSampleAfter {
+void BuildPage()
}
class SlidersSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class SlidersSampleAfter {
+void BuildPage()
}
class SwitchesSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class SwitchesSampleAfter {
+void BuildPage()
}
class TagsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class TagsSampleAfter {
+void BuildPage()
}
class TogglesSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class TogglesSampleAfter {
+void BuildPage()
}
class TransfersSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class TransfersSampleAfter {
+void BuildPage()
}
class SelectGenericsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class SelectGenericsSampleAfter {
+void BuildPage()
}
class SelectsSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class SelectsSampleAfter {
+void BuildPage()
}
class ContextMenusSampleBefore {
+EventItem[] GetEvents()
+void BuildPage()
}
class ContextMenusSampleAfter {
+void BuildPage()
}
RadiosSampleBefore --> EventItem : creates
RadiosSampleBefore --> EventTable : passes Items
RadiosSampleBefore --> AttributeTable : passes Type
AlertsSampleBefore --> EventItem
AlertsSampleBefore --> EventTable
AlertsSampleBefore --> AttributeTable
CalendarsSampleBefore --> EventItem
CalendarsSampleBefore --> EventTable
CalendarsSampleBefore --> AttributeTable
CascadersSampleBefore --> EventItem
CascadersSampleBefore --> EventTable
CascadersSampleBefore --> AttributeTable
CheckboxListsSampleBefore --> EventItem
CheckboxListsSampleBefore --> EventTable
CheckboxListsSampleBefore --> AttributeTable
CheckboxsSampleBefore --> EventItem
CheckboxsSampleBefore --> EventTable
CheckboxsSampleBefore --> AttributeTable
DateTimePickersSampleBefore --> EventItem
DateTimePickersSampleBefore --> EventTable
DateTimePickersSampleBefore --> AttributeTable
DateTimeRangesSampleBefore --> EventItem
DateTimeRangesSampleBefore --> EventTable
DateTimeRangesSampleBefore --> AttributeTable
DropdownsSampleBefore --> EventItem
DropdownsSampleBefore --> EventTable
DropdownsSampleBefore --> AttributeTable
MultiSelectsSampleBefore --> EventItem
MultiSelectsSampleBefore --> EventTable
MultiSelectsSampleBefore --> AttributeTable
PopoverConfirmsSampleBefore --> EventItem
PopoverConfirmsSampleBefore --> EventTable
PopoverConfirmsSampleBefore --> AttributeTable
RatesSampleBefore --> EventItem
RatesSampleBefore --> EventTable
RatesSampleBefore --> AttributeTable
SlidersSampleBefore --> EventItem
SlidersSampleBefore --> EventTable
SlidersSampleBefore --> AttributeTable
SwitchesSampleBefore --> EventItem
SwitchesSampleBefore --> EventTable
SwitchesSampleBefore --> AttributeTable
TagsSampleBefore --> EventItem
TagsSampleBefore --> EventTable
TagsSampleBefore --> AttributeTable
TogglesSampleBefore --> EventItem
TogglesSampleBefore --> EventTable
TogglesSampleBefore --> AttributeTable
TransfersSampleBefore --> EventItem
TransfersSampleBefore --> EventTable
TransfersSampleBefore --> AttributeTable
SelectGenericsSampleBefore --> EventItem
SelectGenericsSampleBefore --> EventTable
SelectGenericsSampleBefore --> AttributeTable
SelectsSampleBefore --> EventItem
SelectsSampleBefore --> EventTable
SelectsSampleBefore --> AttributeTable
ContextMenusSampleBefore --> EventItem
ContextMenusSampleBefore --> EventTable
ContextMenusSampleBefore --> AttributeTable
RadiosSampleAfter --> AttributeTable : uses only
AlertsSampleAfter --> AttributeTable
CalendarsSampleAfter --> AttributeTable
CascadersSampleAfter --> AttributeTable
CheckboxListsSampleAfter --> AttributeTable
CheckboxsSampleAfter --> AttributeTable
DateTimePickersSampleAfter --> AttributeTable
DateTimeRangesSampleAfter --> AttributeTable
DropdownsSampleAfter --> AttributeTable
MultiSelectsSampleAfter --> AttributeTable
PopoverConfirmsSampleAfter --> AttributeTable
RatesSampleAfter --> AttributeTable
SlidersSampleAfter --> AttributeTable
SwitchesSampleAfter --> AttributeTable
TagsSampleAfter --> AttributeTable
TogglesSampleAfter --> AttributeTable
TransfersSampleAfter --> AttributeTable
SelectGenericsSampleAfter --> AttributeTable
SelectsSampleAfter --> AttributeTable
ContextMenusSampleAfter --> AttributeTable
Flow diagram for documentation rendering before and after removing EventTableflowchart LR
A[SampleComponent page load] --> B[Render demo content]
B --> C[Render AttributeTable]
subgraph BeforeChange
C --> D[Call GetEvents on sample code behind]
D --> E[Create EventItem collection]
E --> F[Render EventTable with Items]
end
subgraph AfterChange
C --> G[No event metadata rendering]
end
style BeforeChange fill:#fdf5e6,stroke:#e0c080,stroke-width:1px
style AfterChange fill:#e6f7ff,stroke:#80b5e0,stroke-width:1px
File-Level Changes
Assessment against linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue
Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments
### Comment 1
<location> `src/BootstrapBlazor.Server/Components/Samples/AutoFills.razor.cs:65-68` </location>
<code_context>
Model3 = Items3.First();
- Items4 = Foo.GenerateFoo(LocalizerFoo);
+ Items4 = Foo.GenerateFoo(FooLocalizer);
Model4 = Items3.First();
- Items5 = Foo.GenerateFoo(LocalizerFoo);
+ Items5 = Foo.GenerateFoo(FooLocalizer);
Model5 = Items3.First();
}
</code_context>
<issue_to_address>
**issue (bug_risk):** Models 4 and 5 are initialized from Items3 instead of their corresponding item collections.
`Items4`/`Items5` are generated, but `Model4`/`Model5` are still set from `Items3.First()`, so the models don’t match their collections. This can cause confusing behavior if `Items3` differs from `Items4`/`Items5`. Please initialize `Model4` from `Items4` and `Model5` from `Items5` instead.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Pull request overview
This pull request removes the EventTable component and related event documentation, while also improving naming consistency for localizers throughout the codebase.
Changes:
- Removed all EventTable component usages and GetEvents() method implementations from sample components
- Removed event and method documentation entries from zh-CN.json and en-US.json localization files
- Renamed localizer properties for consistency (e.g.,
LocalizerFoo→FooLocalizer,LocalizerMenu→MenuLocalizer,LocalizerRows→Localizer) - Added new localization entries for CustomerFilter and FormInlineSwitch components
- Updated FormInlineSwitch and CustomerFilter to use their own localizers instead of relying on other component localizers
- Updated Obsolete attribute to include English translation
- Enhanced localization tests to support additional localizer usage patterns
- Minor code quality improvements (BOM removal, spacing fixes, documentation improvements)
Reviewed changes
Copilot reviewed 113 out of 113 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/UnitTest.Localization/JsonTest.cs | Added test patterns to detect localizer usage with format parameters |
| src/BootstrapBlazor/Extensions/BootstrapBlazorServiceCollectionExtensions.cs | Updated Obsolete attribute with English translation |
| src/BootstrapBlazor/Components/Block/Block.cs | Changed documentation to use inheritdoc for BuildRenderTree method |
| src/BootstrapBlazor.Server/Locales/zh-CN.json | Removed event/method documentation entries; added CustomerFilter and FormInlineSwitch localizations; updated "Row布局组件" to "Row 布局组件" |
| src/BootstrapBlazor.Server/Locales/en-US.json | Removed event/method documentation entries; added CustomerFilter and FormInlineSwitch localizations |
| Multiple .razor and .razor.cs files | Removed EventTable usages and GetEvents() methods; renamed localizer injections from LocalizerFoo to FooLocalizer |
| src/BootstrapBlazor.Server/Components/Components/FormInlineSwitch.razor.cs | Changed from using Rows localizer to its own localizer; removed unused import |
| src/BootstrapBlazor.Server/Components/Components/CustomerFilter.razor.cs | Changed from using TablesFilter localizer to its own localizer; removed unused import |
| src/BootstrapBlazor.Server/Components/Components/DemoHobbyTemplate.razor | Updated localizer name from LocalizerFoo to FooLocalizer |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7603 +/- ##
=========================================
Coverage 100.00% 100.00%
=========================================
Files 749 749
Lines 32988 32988
Branches 4578 4578
=========================================
Hits 32988 32988
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Link issues
fixes #7602
Summary By Copilot
Regression?
Risk
Verification
Packaging changes reviewed?
☑️ Self Check before Merge
Summary by Sourcery
Standardize localization service injection names and remove EventTable usage from component samples.
Enhancements: