Store the type description as rich text

Featurekamo-shared-library
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.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing