- Shipped
- August 24, 2026 at 9:19 PM UTC
- Author
- Kamo
- Commit
- 44e880a
The description on **************** is a Lexical editor state now rather than a line of prose, so the column has to be an unbounded TEXT bound as a long varchar — a bare @Lob on a String maps to a PostgreSQL large object (oid) on Hibernate 6, which this column is not. DESCRIPTION_PLAIN is the plain-text mirror the editor writes alongside the document, for the same reason TrainingSlide keeps bodyText next to bodyJson: only a Lexical runtime can read a Lexical document, so every consumer wanting the words would otherwise have to ship a parser for an editor's internal format. RichTextValues reads either shape, because rows written before the editor landed still hold bare prose and nothing rewrites them. PublicWebinarTypeDTO keeps serving plain text: an anonymous booking page has no Lexical runtime, and a public field silently changing from prose to JSON would print raw editor state at a visitor. CreateWebinarTypeRequest gains ignoreUnknown — MediaService builds its own ObjectMapper from a bare new ObjectMapper(), so FAIL_ON_UNKNOWN_PROPERTIES is at Jackson's default of true and every future field here is a deploy-order trap.