Conversation
🎉 Snyk checks have passed. No issues have been found so far.✅ security/snyk check is complete. No issues have been found. (View Details) ✅ license/snyk check is complete. No issues have been found. (View Details) |
✅ PR preview is ready!
|
There was a problem hiding this comment.
Pull Request Overview
This PR adds new Protocol Buffer definitions needed for Custom Components v2 (CCv2), introducing bidirectional component support with enhanced data handling capabilities.
- Introduces
BidiComponentproto with support for JavaScript, HTML, CSS content and multiple data payload types - Adds
ArrowDataproto for handling serialized Apache Arrow data buffers - Updates existing protos to integrate the new bidirectional component functionality
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
proto/streamlit/proto/BidiComponent.proto |
New proto definition for bidirectional components with mixed data support |
proto/streamlit/proto/ArrowData.proto |
New proto for data-only Arrow buffer handling |
proto/streamlit/proto/Element.proto |
Integrates BidiComponent into the main Element message |
proto/streamlit/proto/WidgetStates.proto |
Adds json_trigger_value field for component state management |
06d1c8b to
71de3c3
Compare
📉 Python coverage change detectedThe Python unit test coverage has decreased by 0.0000%
✅ Coverage change is within normal range. Coverage by files
|
71de3c3 to
6871ab1
Compare
e038186 to
0dace65
Compare
0dace65 to
3622b24
Compare
6871ab1 to
512ad97
Compare
3622b24 to
da1d262
Compare
512ad97 to
c0b94ac
Compare
c0b94ac to
a3ea4ff
Compare
da1d262 to
7610c89
Compare
a3ea4ff to
7957af2
Compare
7610c89 to
eb77520
Compare
| // Data-only Arrow buffer. This intentionally excludes any UI- or element- | ||
| // specific configuration that exists in Arrow.proto. Use this message when | ||
| // only the serialized Arrow data is required. | ||
| message ArrowData { |
There was a problem hiding this comment.
@lukasmasuch - You gave feedback in the tech spec that you wanted to see the Arrow Data support split out into its own proto def rather than reusing Arrow. Do you think this is a sufficient starting point? It works for CCv2 usecases, but wanted to check if you had something else in mind.
There was a problem hiding this comment.
Yep, this looks fine to me. I planning to do a refactoring related to our arrow protos once we lift the guarantee for proto compatibility. Probably after we stop rolling out updates for warehouse.
a68b226 to
8082a85
Compare

Describe your changes
GitHub Issue Link (if applicable)
Testing Plan
Contribution License Agreement
By submitting this pull request you agree that all contributions to this project are made under the Apache 2.0 license.