- 
                Notifications
    You must be signed in to change notification settings 
- Fork 5.5k
Notion usability improvements #15813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| The latest updates on your projects. Learn more about Vercel for Git ↗︎ 3 Skipped Deployments
 | 
| WalkthroughThis pull request updates multiple Notion integration components. Changes include refinements to metadata (descriptions, version increments) and property definitions. Several actions now feature rephrased instructions and dynamic property handling such as the new  Changes
 Sequence Diagram(s)sequenceDiagram
    participant U as User
    participant A as Append Block Action
    participant P as Property Manager
    participant N as Notion API
    U->>A: Initiate block append action
    A->>P: Call additionalProps(blockTypes)
    P-->>A: Return updated property visibility
    A->>A: Check blockTypes and select block inputs
    A->>N: Process and append selected blocks
    N-->>A: Return API response
    A->>U: Return summary with block details
Possibly related PRs
 Suggested labels
 Suggested reviewers
 Poem
 Warning There were issues while running some tools. Please review the errors and either fix the tool’s configuration or disable the tool if it’s a critical failure. 🔧 ESLint
 components/notion/actions/create-comment/create-comment.mjsOops! Something went wrong! :( ESLint: 8.57.1 Error [ERR_MODULE_NOT_FOUND]: Cannot find package 'jsonc-eslint-parser' imported from /eslint.config.mjs 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (1)
 🧰 Additional context used🪛 GitHub Check: Lint Code Basecomponents/notion/actions/create-comment/create-comment.mjs[warning] 12-12: [warning] 12-12: ⏰ Context from checks skipped due to timeout of 90000ms (3)
 🔇 Additional comments (5)
 ✨ Finishing Touches
 🪧 TipsChatThere are 3 ways to chat with CodeRabbit: 
 Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
 Other keywords and placeholders
 CodeRabbit Configuration File ( | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 4
🧹 Nitpick comments (2)
components/notion/sources/new-comment-created/new-comment-created.mjs (1)
13-17: Add label and description to the infoLabel property.According to Pipedream component guidelines, all component props should have a label and description. While the content is informative, adding these properties would align with the platform's standards.
infoLabel: { type: "alert", alertType: "info", content: "Ensure the selected page is shared with your Pipedream integration to receive events.", + label: "Page Access Requirement", + description: "Information about sharing requirements for the Notion integration", },🧰 Tools
🪛 GitHub Check: Lint Code Base
[warning] 13-13:
Component prop infoLabel must have a label. See https://pipedream.com/docs/components/guidelines/#props
[warning] 13-13:
Component prop infoLabel must have a description. See https://pipedream.com/docs/components/guidelines/#propscomponents/notion/sources/page-or-subpage-updated/page-or-subpage-updated.mjs (1)
15-19: Add label and description to the infoLabel property.According to Pipedream component guidelines, all component props should have a label and description. While the content is informative, adding these properties would align with the platform's standards.
infoLabel: { type: "alert", alertType: "info", content: "Ensure the selected page is shared with your Pipedream integration to receive events.", + label: "Page Access Requirement", + description: "Information about sharing requirements for the Notion integration", },
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
- pnpm-lock.yamlis excluded by- !**/pnpm-lock.yaml
📒 Files selected for processing (24)
- components/notion/actions/append-block/append-block.mjs(6 hunks)
- components/notion/actions/common/base-page-builder.mjs(1 hunks)
- components/notion/actions/create-comment/create-comment.mjs(3 hunks)
- components/notion/actions/create-page-from-database/create-page-from-database.mjs(3 hunks)
- components/notion/actions/create-page/create-page.mjs(3 hunks)
- components/notion/actions/duplicate-page/duplicate-page.mjs(4 hunks)
- components/notion/actions/find-page/find-page.mjs(0 hunks)
- components/notion/actions/query-database/query-database.mjs(3 hunks)
- components/notion/actions/retrieve-block/retrieve-block.mjs(3 hunks)
- components/notion/actions/retrieve-database-content/retrieve-database-content.mjs(2 hunks)
- components/notion/actions/retrieve-database-schema/retrieve-database-schema.mjs(2 hunks)
- components/notion/actions/retrieve-page-property-item/retrieve-page-property-item.mjs(2 hunks)
- components/notion/actions/retrieve-page/retrieve-page.mjs(2 hunks)
- components/notion/actions/search/search.mjs(2 hunks)
- components/notion/actions/update-page/update-page.mjs(1 hunks)
- components/notion/notion.app.mjs(8 hunks)
- components/notion/package.json(1 hunks)
- components/notion/sources/common/base.mjs(1 hunks)
- components/notion/sources/new-comment-created/new-comment-created.mjs(1 hunks)
- components/notion/sources/new-database/new-database.mjs(1 hunks)
- components/notion/sources/new-page/new-page.mjs(1 hunks)
- components/notion/sources/page-or-subpage-updated/page-or-subpage-updated.mjs(1 hunks)
- components/notion/sources/updated-page-id/updated-page-id.mjs(1 hunks)
- components/notion/sources/updated-page/updated-page.mjs(3 hunks)
💤 Files with no reviewable changes (1)
- components/notion/actions/find-page/find-page.mjs
✅ Files skipped from review due to trivial changes (4)
- components/notion/actions/common/base-page-builder.mjs
- components/notion/package.json
- components/notion/sources/new-page/new-page.mjs
- components/notion/actions/retrieve-database-schema/retrieve-database-schema.mjs
🧰 Additional context used
🪛 GitHub Check: Lint Code Base
components/notion/sources/new-comment-created/new-comment-created.mjs
[warning] 13-13:
Component prop infoLabel must have a label. See https://pipedream.com/docs/components/guidelines/#props
[warning] 13-13:
Component prop infoLabel must have a description. See https://pipedream.com/docs/components/guidelines/#props
components/notion/actions/create-comment/create-comment.mjs
[warning] 12-12:
Component prop infoLabel must have a label. See https://pipedream.com/docs/components/guidelines/#props
[warning] 12-12:
Component prop infoLabel must have a description. See https://pipedream.com/docs/components/guidelines/#props
components/notion/sources/new-database/new-database.mjs
[warning] 14-14:
Component prop infoLabel must have a label. See https://pipedream.com/docs/components/guidelines/#props
[warning] 14-14:
Component prop infoLabel must have a description. See https://pipedream.com/docs/components/guidelines/#props
components/notion/actions/update-page/update-page.mjs
[warning] 14-14:
Component prop infoLabel must have a label. See https://pipedream.com/docs/components/guidelines/#props
[warning] 14-14:
Component prop infoLabel must have a description. See https://pipedream.com/docs/components/guidelines/#props
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: pnpm publish
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
🔇 Additional comments (59)
components/notion/sources/new-comment-created/new-comment-created.mjs (3)
8-8: Version increment is appropriate.The version update from 0.0.1 to 0.0.2 properly reflects the changes made to this component.
23-23: Improved property description for clarity.The updated description provides clearer guidance about how to use this property, making it more user-friendly.
29-40: Enhanced metadata generation with better comment summarization.The improved
generateMetamethod now provides a more user-friendly summary by:
- Extracting and displaying the actual comment text
- Intelligently truncating long comments
- Falling back to ID when text is unavailable
- Using consistent timestamp parsing
This enhancement significantly improves the usefulness of the emitted events.
components/notion/sources/common/base.mjs (1)
50-50: Improved robustness with title fallback mechanism.The change adds a fallback to use the ID when the title is not available, making the summary generation more robust. This is a good practice for handling potentially missing data.
components/notion/actions/retrieve-database-content/retrieve-database-content.mjs (2)
6-7: Updated description and version appropriately.The description is now more clear and includes a helpful documentation link. The version increment from 0.0.3 to 0.0.4 correctly reflects these changes.
20-22: Enhanced success message with dynamic content.The summary message now provides more valuable feedback by including the count of retrieved objects and handling singular/plural grammar correctly. This improvement gives users better visibility into the action's results.
components/notion/sources/page-or-subpage-updated/page-or-subpage-updated.mjs (2)
9-10: Updated description with documentation link and proper version increment.The description now clearly explains the component's functionality and includes a documentation link, which is helpful for users. The version increment from 0.0.6 to 0.0.7 correctly reflects these changes.
15-19: Good addition of informative alert for users.Adding this informational alert helps users understand the integration requirements, potentially reducing troubleshooting issues when events are not being received.
components/notion/actions/retrieve-page-property-item/retrieve-page-property-item.mjs (2)
6-7: Documentation and version improvementThe description now provides clearer instructions with a direct link to the documentation, which enhances usability. Version increment correctly reflects these changes.
32-32: Improved language in success messageThe success message has been reworded to be more concise and professional.
components/notion/actions/retrieve-page/retrieve-page.mjs (1)
6-7: Documentation and version improvementThe updated description is more user-friendly and includes a direct link to the Notion API documentation. Version increment properly reflects these changes.
components/notion/sources/updated-page/updated-page.mjs (3)
10-12: Improved component naming and descriptionThe name and description have been updated to more accurately reflect that this component handles both new and updated pages. The documentation link is a helpful addition, and the version increment is appropriate.
26-26: Clearer property descriptionThe updated description for
includeNewPagesprovides better clarity about the filtering behavior of this property.
43-43: Increased alert visibilityChanging the alert type from "info" to "warning" appropriately increases the visibility of an important message about potential issues with large databases.
components/notion/sources/updated-page-id/updated-page-id.mjs (2)
8-10: Simplified naming and improved documentationThe component name has been simplified to "Page Updated" and the description now includes a helpful link to the Notion API documentation. Version increment correctly reflects these changes.
15-19: Added informative guidanceThe new
infoLabelproperty provides essential information to users about sharing requirements, which is crucial for the proper functioning of this integration. This addition helps prevent configuration issues.components/notion/actions/create-page/create-page.mjs (3)
9-10: Version increment and description improvement look good.The description has been simplified and the documentation link addition is helpful. Version increment is appropriate for these user-facing changes.
20-20: More user-friendly property description.The updated description provides clearer guidance on how to use this field, making it more intuitive for users to understand they can either select from existing pages or manually input an ID.
35-40: Improved property definition for pageContent.Changing from an inline definition to using propDefinition is more consistent with other properties and improves maintainability by centralizing the definition in the notion app object.
components/notion/actions/duplicate-page/duplicate-page.mjs (4)
9-10: Version increment and description improvement look good.The description now uses imperative form which is consistent with action naming conventions, and includes a helpful documentation link. Version increment is appropriate for these changes.
19-20: More instructive property description.The updated description provides better guidance on how to use this field, making it clearer that users can either select from existing pages or manually provide an ID.
34-35: Improved property description for parentId.The updated description is more comprehensive and provides clearer guidance on how to use this field, explaining both selection and manual ID entry options.
68-68: Concise summary message.The updated summary message is more concise while still clearly communicating the successful action, and maintains the helpful link to the created page.
components/notion/actions/create-comment/create-comment.mjs (4)
7-8: Version increment and description improvement look good.The description now uses imperative form which is consistent with action naming conventions, and includes a helpful documentation link. Version increment is appropriate for these changes.
27-27: Improved property description with documentation link.Adding a link to the documentation for retrieving a discussion ID is very helpful for users who may not be familiar with this concept.
38-38: Consistent error message.The error message now matches the guidance provided in the infoLabel, creating a more cohesive user experience.
54-54: Improved summary message.The updated summary message is more consistent with other components' language patterns and clearly communicates the successful action.
components/notion/sources/new-database/new-database.mjs (1)
8-10: Clearer name, improved description, and appropriate version bump.The name change to "New Database Created" is more precise about the triggering event. The description update provides a clearer explanation with a helpful documentation link. Version increment is appropriate for these changes.
components/notion/actions/update-page/update-page.mjs (2)
9-10: Improved clarity in description and appropriate version bump.The updated description provides clearer guidance to users about the action's purpose and redirects them to the appropriate action for appending content. The version bump correctly follows semantic versioning for a minor update.
25-25: Enhanced property description for better user guidance.The improved description provides clearer instructions about selecting the parent database and the requirements when using custom expressions, which should help reduce user errors.
components/notion/actions/query-database/query-database.mjs (3)
7-8: Improved description and proper version increment.The updated description now clearly specifies that the action supports filtering, which enhances user understanding of the component's capabilities. The version bump follows semantic versioning conventions for a patch update.
19-20: Enhanced filter property label and description.Renaming the label to "Filter (query)" and expanding the description with a more relevant example improves clarity and provides better guidance for users on how to structure their filter expressions.
31-35: Dynamic summary message with proper pluralization.The updated summary message now dynamically includes the number of results retrieved and correctly handles singular vs. plural forms, providing users with more informative feedback after the action completes.
components/notion/actions/retrieve-block/retrieve-block.mjs (4)
6-7: Improved description clarity and appropriate version bump.The description now more clearly explains what the action does and provides context about block types. The version increment follows semantic versioning for a patch update.
17-17: More user-friendly block ID description.The updated description makes it clearer to users that they can either select an existing block or provide a block ID directly, improving usability.
21-22: Enhanced label and description for retrieveChildren property.The label is now more concise, and the description provides more context with a documentation reference, which helps users understand the property's purpose better.
32-34: Improved summary message with conditional child count.The summary message now provides more contextual information by conditionally including the number of children retrieved when the
retrieveChildrenoption is enabled, giving users better feedback about the operation results.Note: The use of the optional chaining operator (
?.) withlengthis good practice, but you might want to ensure the children array exists before checking its length to avoid potential issues.components/notion/actions/append-block/append-block.mjs (11)
8-10: Improved action description for better clarity.The updated description more accurately explains the action's capability to append both new and existing blocks to a parent, and includes a documentation link for further reference.
20-21: Enhanced parent block ID description.The improved description more clearly indicates that users can either select an existing block/page or directly provide an ID, which enhances usability.
22-45: Added flexible block type selection for better user experience.The new
blockTypesproperty allows users to select which types of blocks they want to append, making the component more flexible and user-friendly. The options are clearly labeled with comprehensive descriptions.
50-52: Improved blockObjects description and added hidden property.The enhanced description provides more context about block objects and includes a documentation reference. The
hiddenproperty works with the newblockTypesselection to show only relevant fields.
61-62: Updated blockIds description and visibility control.The improved description clarifies that selecting a page will append its children, giving users better guidance on the expected behavior when selecting different types of items.
67-69: Enhanced markupContents description with documentation reference.The updated description now includes a helpful link to Notion's documentation about Markdown syntax, which will assist users in formatting their content correctly.
74-75: Improved imageUrls description with documentation reference.The enhanced description provides a link to Notion's documentation about image blocks, which will help users understand the supported formats and expectations.
78-91: Added dynamic property visibility based on user selection.The new
additionalPropsmethod effectively implements the logic to show or hide properties based on the user's selection in theblockTypesfield, improving the user interface by reducing clutter and showing only relevant fields.
103-104: Implemented conditional processing based on selected block types.The updated run method now checks the
blockTypesselection before processing each type of block, ensuring that only the user-selected block types are processed. This makes the component more efficient and respects user choices.Also applies to: 106-106, 116-116, 126-126, 134-134
108-110: Safe parsing of block objects.Good implementation that handles both string and object inputs, ensuring robust processing of block objects provided by users, especially when they come from previous steps in a workflow.
157-160: Simplified API call with better parameter organization.The API call to
appendBlockis now better formatted with clearer parameter organization, improving code readability.components/notion/actions/search/search.mjs (3)
6-8: Component metadata improvements enhance discoverabilityThe name change from "Search" to "Find Pages or Databases" is more descriptive and action-oriented, which will improve user understanding. The documentation link formatting is also properly implemented, and the version increment follows proper semantic versioning practice.
12-16: Better property definition for query inputThe title property has been refactored to use direct type definition rather than propDefinition, with a more descriptive label "Query (Title)" that clarifies its purpose. This change improves user understanding of what this field does.
25-28: Simplified summary method with improved formattingThe getSummary method has been simplified by:
- Removing the unused title parameter from destructuring
- Using optional chaining for safer property access
- Directly referencing this.title instead of using a conditional
These changes make the code more concise and more reliable.
components/notion/notion.app.mjs (3)
11-11: Improved property descriptions enhance user experienceThe descriptions across multiple properties have been updated to be more user-friendly and action-oriented. Common patterns include:
- Using "Select a..." instead of just naming the property
- Adding "Select one or more..." for multi-select properties
- Using more direct and clear language
These changes will significantly improve usability by giving clearer guidance to users.
Also applies to: 23-23, 35-35, 49-49, 80-80, 88-88, 107-107, 113-113, 119-119, 132-132, 142-142, 151-151, 157-157
144-145: Added proper page size constraintsAdding explicit min (1) and max (100) constraints to the pageSize property ensures that users will provide values within the allowed range, preventing potential API errors.
164-169: New pageContent property adds critical functionalityThe addition of the pageContent property in the app's propDefinitions is important as it:
- Provides a standardized way to define page content across components
- Includes helpful documentation reference for Markdown syntax
- Makes the property available to be reused via propDefinition in other components
This is an essential improvement that supports the refactoring in the create-page components.
components/notion/actions/create-page-from-database/create-page-from-database.mjs (5)
9-10: Updated description and versionThe description has been changed to use imperative form ("Create" instead of "Creates") for consistency with other actions, and the version is properly incremented from 0.1.15 to 0.1.16 to reflect these changes.
20-20: Improved parent database selection descriptionThe updated description "Select a parent database or provide a database ID" is more user-friendly and explicit about what the user needs to do, improving the user experience.
43-43: Updated alert content to match UI element nameThe alert content now references "Page Content" prop with backticks for better readability, matching how the field appears in the UI.
46-49: Refactored pageContent to use central propDefinitionThe pageContent property has been refactored to use the propDefinition from the notion app, which:
- Centralizes the definition for better maintenance
- Ensures consistency across components
- Allows for easier updates to the property in the future
This is a good architectural improvement.
78-95:❓ Verification inconclusive
Verify that block processing logic works with the new pageContent implementation
The run method handles blocks in chunks of MAX_BLOCKS (100), which appears to be working correctly. However, since the pageContent implementation has changed, it would be good to verify that the createBlocks method (called on line 70) still processes the content as expected.
🏁 Script executed:
#!/bin/bash # Search for the createBlocks method implementation to verify compatibility with new pageContent # First look for the base-page-builder.mjs file that's imported echo "Looking for base-page-builder.mjs file..." find . -name "base-page-builder.mjs" | xargs cat | grep -A 20 "createBlocks" # Also check if there are any tests that verify this functionality echo "Looking for tests that verify block creation..." find . -name "*test*" | grep -i notion | xargs grep -l "createBlocks" || echo "No direct tests found"Length of output: 798
Action Required: Verify Block Processing Logic for New pageContent
The chunking logic in the
runmethod (splitting blocks byMAX_BLOCKS) is operating as expected. ThecreateBlocksmethod, as implemented inbase-page-builder.mjs, now simply callsmarkdownToBlockswith the providedpageContent. However, no direct tests for this behavior were found in the codebase. Please ensure that:
- The
markdownToBlocksfunction correctly converts the new page content into blocks.- You manually verify or add tests for the
createBlocksfunctionality to catch any potential regressions stemming from the new pageContent implementation.
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
components/notion/package.json (1)
12-17: Streamlined Dependencies ConfirmationThe dependencies section now retains only the essential dependencies, most notably
"lodash-es": "^4.17.21", while several other libraries have been removed. Verify that the Notion component’s code no longer requires the removed dependencies and that any functionality relying on them has been refactored or removed accordingly.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (1)
- pnpm-lock.yamlis excluded by- !**/pnpm-lock.yaml
📒 Files selected for processing (1)
- components/notion/package.json(2 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: Publish TypeScript components
- GitHub Check: Verify TypeScript components
🔇 Additional comments (1)
components/notion/package.json (1)
3-3:❓ Verification inconclusive
Version Update Verification
The version has been updated to "0.4.0". Please ensure that this change is reflected in your release notes and that any breaking changes are clearly documented.
Version update verified in components/notion/package.json as "0.4.0".
- The package.json file correctly reflects the version update.
- Please double-check that this update is also incorporated into your release notes and that any breaking changes are clearly documented.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @GTFalcao lgtm! Ready for QA!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
components/notion/actions/append-block/append-block.mjs (1)
90-91: Consider handling potential undefined blockTypesWhile destructuring blockTypes improves code readability, consider adding a default value to handle cases where blockTypes might be undefined to prevent potential runtime errors.
- const { blockTypes } = this; + const { blockTypes = [] } = this;
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
- components/notion/actions/append-block/append-block.mjs(5 hunks)
- components/notion/notion.app.mjs(9 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- components/notion/notion.app.mjs
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: pnpm publish
- GitHub Check: Verify TypeScript components
- GitHub Check: Publish TypeScript components
🔇 Additional comments (11)
components/notion/actions/append-block/append-block.mjs (11)
8-10: Improved description and appropriate version bumpThe description now more accurately reflects the dual functionality of appending both new and existing blocks. The version increment from 0.2.17 to 0.3.0 follows semantic versioning principles, appropriately signaling the addition of new features.
20-21: Clearer description for better user guidanceThe updated description provides better clarity about the property's purpose, explicitly informing users they can either select from existing options or provide an ID directly.
22-41: Great usability enhancement with dynamic block type selectionThis new property significantly improves the user experience by allowing users to explicitly select which types of blocks they want to append. The reloadProps flag ensures that the UI will update dynamically to show only relevant fields based on user selection.
48-51: Enhanced clarity for block selectionThe improved label and description provide better guidance on how this property works, specifically clarifying that selecting a page will append its children. The hidden flag correctly integrates with the new dynamic UI approach.
52-58: Appropriate rename to more accurate terminologyRenaming from "markupContents" to "markdownContents" improves accuracy and clarity since Markdown is the specific format being used. The updated description and documentation link provide valuable guidance to users.
62-64: Enhanced documentation for image URLsThe addition of more detailed description and documentation link helps users understand how to properly use image blocks in Notion. The hidden flag correctly integrates with the dynamic UI approach.
66-78: Well-implemented dynamic property visibilityThis method elegantly handles the dynamic showing/hiding of properties based on the user's selection in blockTypes. The implementation is clean and efficient, looping through all properties that need to be conditionally displayed.
94-101: Improved conditional processing of block IDsThe updated condition ensures that block IDs are only processed if the user has selected this option, which aligns with the new dynamic UI approach while maintaining the existing null/empty checks for robustness.
104-109: Updated references to the renamed propertyThe condition and loop correctly use the renamed markdownContents property, maintaining consistency with the property changes. This ensures proper functionality with the new property name.
112-124: Improved conditional processing of image URLsSimilar to the other block types, this change ensures that image URLs are only processed if the user has selected this option, aligning with the dynamic UI approach.
135-139: Minor formatting improvementsThe formatting changes to the appendBlock call maintain the same functionality while potentially improving code readability and consistency with other code in the codebase.
| /approve | 
Closes #15629
Summary by CodeRabbit
New Features
Bug Fixes
Documentation