Successfully modified file: /home/Messier82/projects/service-book/app/src/main/java/com/servicebook/ui/reportbug/ReportBugViewModel.kt (1 replacements). Here is the updated code: ... val deviceModel: String = "", val vaultConfigured: Boolean = false, val crashReportingEnabled: Boolean = true, ) { /** * NOTE: We use Patterns.EMAIL_ADDRESS but add a requirement for a dot in the domain * to prevent overly lenient matches like "a@b". */ val isEmailInvalid: Boolean get() = contactEmail.trim().let { trimmed -> trimmed.isNotBlank() && ( !Patterns.EMAIL_ADDRESS.matcher(trimmed).matches() || !trimmed.substringAfter('@', "").contains('.') ) } val canSubmit: Boolean get() = summary.isNotBlank() && description.isNotBlank() && !isSubmitting && !isEmailInvalid } sealed class ReportBugEvent { ...