/
2024-08-15 Frontend Working Group Meeting Notes: Custom component props

2024-08-15 Frontend Working Group Meeting Notes: Custom component props

 Date, time, location

 Discussion topic(s)

  • Proposal on Component Prop Overrides: Adam Stankiewicz introduced a proposal aimed at enabling the extension or overriding of component properties without hard-coding vendor-specific attributes in the codebase. The primary motivation was to handle vendor-specific attributes, such as those used by tools like Datadog and Hotjar, more flexibly.

Meeting notes

🎥Recording

 Participants

Adam Stankiewicz, David Joy, Fox Piacenti, Jason Wesson, Max Frank, Milad Emami, Rabeeh T A, Sarina Canelake, Steven Girón

🤖 Summary

Discussion Points:

  1. Current Challenges:

    • Hard-coding attributes for specific vendors like Hotjar across the platform is not ideal as not all instances use the same vendors.

    • The proposed solution involves using a hook or higher-order component to apply custom prop types to any component dynamically.

  2. Implementation Details:

    • The proposal includes a configuration schema that allows specifying selectors and corresponding prop overrides.

    • A key part of the discussion was about ensuring that this approach doesn't unintentionally allow the abuse of this flexibility, such as by overriding important properties like className or style incorrectly.

  3. Concerns Raised:

    • Security: David Joy and others expressed concerns about potential security issues, particularly with handlers like onClick, which could introduce vulnerabilities if misused.

    • Abuse of Flexibility: There were concerns about developers misusing this flexibility to override too many aspects of a component, potentially leading to bloated and hard-to-maintain configurations.

  4. Suggestions:

    • Limiting Scope: It was suggested that the proposal might need to be narrowed down, focusing on specific use cases such as PII masking rather than being too generic.

    • Naming Conventions: The term "selectors" was seen as potentially confusing, and a better naming convention was suggested to clarify the intent and usage.

  5. Next Steps:

    • Adam will refine the proposal based on the feedback, particularly focusing on security concerns and the potential for misuse.

    • A decision on whether to proceed with the current generic approach or to narrow it down will be considered.

Meeting Conclusion:

  • The group agreed to take the discussion async and revisit the proposal after further refinement. The meeting concluded with no additional topics raised.

 Action items

 Decisions

Related content

Tutor Users' Group
Tutor Users' Group
Read with this
2024-08-29 Frontend Working Group Meeting Notes: Plugin Prop Customization
2024-08-29 Frontend Working Group Meeting Notes: Plugin Prop Customization
More like this
Frontend Working Group Meeting Notes
Frontend Working Group Meeting Notes
Read with this
2024-12-19 Frontend Working Group Meeting Notes: Plugin data handling and API standardization
2024-12-19 Frontend Working Group Meeting Notes: Plugin data handling and API standardization
More like this
2024-08-01 Frontend Working Group Meeting Notes: Coverage, Default Theme, and frontend-base
2024-08-01 Frontend Working Group Meeting Notes: Coverage, Default Theme, and frontend-base
Read with this
CSS Tools Meeting Notes
CSS Tools Meeting Notes
More like this