-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Closed
Labels
kind/featureNew features / enhancementsNew features / enhancements
Description
(no immediate intent to implement - filing this to collect my thoughts)
The current contentview API is limited to prettifying contents, but users are unable to edit the prettified representation. While this is bearable for most views (HTML, JSON, ...), it makes fiddling with binary protocols such as protobufs considerably harder. We want to fix this.
High-Level Considerations
- Consider removing syntax highlighting from the contentview API. This adds a ton of complexity to authoring contentviews. Instead, we can maybe just piggyback on syntax highlighting from our web editor.
- Some views never will have roundtripping - e.g. our image views.
- Things won't always roundtrip. For example, if protobuf deserializes to some generic YAML, we can't serialize back if that YAML is malformed.
- We probably still need partial/lazy rendering for some of the most important views to have them performant.
- Make it possible to have contentviews in Rust. This gives us access to a wider range of (performant) parsers.
- First step needs to be an API proposal on how we need to update base.View / what that new API should look like.
Roundtrip candidates (⭐️ for cases that would be particularly useful):
- CSS
- ⭐️ DNS
- GraphQL
- ⭐️ gRPC
- ⭐️ Hex
- HTTP/3
- JavaScript
- JSON
- ⭐️ mqtt
- ⭐️ msgpack
- ⭐️ Multipart forms
- ⭐️ Protobuf
- Socketio
- wbxml
- XML/HTML
Stephen0910
Metadata
Metadata
Assignees
Labels
kind/featureNew features / enhancementsNew features / enhancements