The resolution of T240237 should prevent users from accidentally creating empty components, however we cannot be sure that this will end it fully, and we will have to deal with the empty components already in the system. This is intended to be a meta-task to deal with the ongoing issues from this and agree on the subtasks to be created.
Problem 1: Empty components in the system
- Solution 1: Add checks such that invalid components will never be rendered on the index page
- Solution 2: Add checks such that invalid components will not crash the email-sending aspects
Problem 2: No validation on form submission pages
In all places where forms are submitted, as this has shown, we cannot guarantee that we are faultless in ensuring that good form data is sent to the backend. We need to make sure form data is valid before being submitted to the database, crucially in:
- Preferences
- Component editing/creation
Unless there is disagreement, I will create subtasks to fix each of these issues.