enhancement
major
minor
defect
critical
major
minor
Follow-up to #29767. Related: #29102 (introduced the service with the module com.top_logic.layout.react).
com.top_logic.layout.react.ReactComponentRegistry is a ConfiguredManagedClass mapping a model type name to a React module name (type-mappings with type, module, config; methods getCellModule, getCellConfig). It was meant for model-driven table columns and form fields to look up their client component. Nothing calls it: no code references the class or its methods, and no configuration defines a mapping. The control of a field or cell is chosen by FieldControlService (ReactFieldControlProvider, the <input-control> annotation) and by the column declarations of the table, not by this registry. The service is nevertheless started in every application (tl-layout-react.conf.config.xml) and offered in the service administration under the label "React component registry".
Fix: delete ReactComponentRegistry, its <module key="com.top_logic.layout.react.ReactComponentRegistry$Module" .../> entry in com.top_logic.layout.react/src/main/webapp/WEB-INF/conf/tl-layout-react.conf.config.xml and its messages (regenerated messages_en.properties, the entries in messages_de.properties). An application that configured the service gets a configuration error at startup; add a == Migration == note to the description ("remove a configuration of ReactComponentRegistry") and the keyword RequiresMigration only if such a configuration is found in the known applications.
Test: mvn install of com.top_logic.layout.react and the React demo; tl-demo-react starts, and the service administration no longer lists the registry.