Fix Outlook email layout and move all HTML/prompts out of code #37

Closed
opened 2026-06-01 17:28:41 +00:00 by claude · 0 comments
Member

Summary

Email template and code quality improvements on main.

Email layout (Outlook compatibility)

  • Table-based HTML shell replacing div/CSS (Outlook strips style blocks)
  • email.match.body: width:100% table, fixed 130px label column, per-cell borders
  • email.match.job-search-footer: table-based button
  • email.search-results.empty: div replaced with full-width table

Hardcoded HTML removed from code

  • Added email.search-results.scan-summary and email.search-results.item templates
  • CvSearchEmailSender: all HTML now via IEmailTemplateService
  • CvMatcherController.HtmlPage() removed; shell moved to html.job-search.shell template

AI prompt fix

  • Added keywords field to ai.cv-match.system-prompt JSON shape (LLM was not returning keywords, causing none detected in job search emails)

Cleanup

  • Removed duplicate html.job-search.* rows from email.Templates

DB actions required after staging deploy

  • DELETE FROM [email].[Templates] WHERE [Key] LIKE 'html.job-search.%'
  • DELETE FROM [cvMatcher].[CvMatchResults] -- clears LLM cache so keywords are picked up
## Summary Email template and code quality improvements on main. ### Email layout (Outlook compatibility) - Table-based HTML shell replacing div/CSS (Outlook strips style blocks) - email.match.body: width:100% table, fixed 130px label column, per-cell borders - email.match.job-search-footer: table-based button - email.search-results.empty: div replaced with full-width table ### Hardcoded HTML removed from code - Added email.search-results.scan-summary and email.search-results.item templates - CvSearchEmailSender: all HTML now via IEmailTemplateService - CvMatcherController.HtmlPage() removed; shell moved to html.job-search.shell template ### AI prompt fix - Added keywords field to ai.cv-match.system-prompt JSON shape (LLM was not returning keywords, causing none detected in job search emails) ### Cleanup - Removed duplicate html.job-search.* rows from email.Templates ## DB actions required after staging deploy - DELETE FROM [email].[Templates] WHERE [Key] LIKE 'html.job-search.%' - DELETE FROM [cvMatcher].[CvMatchResults] -- clears LLM cache so keywords are picked up
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: AI/myAi#37