mirror of
https://github.com/opf/openproject.git
synced 2026-06-14 03:30:14 +00:00
f12fc7551f
The view-helper migration introduced by the parent PR now covers the remaining mailer surfaces: UserMailer (`message_posted`, `news_added`, `news_comment_added`), ProjectMailer (`project_created`), ProjectArtifactsMailer (`creation_wizard_submitted`), MemberMailer (`added_project`, `updated_project`, `updated_global`), AnnouncementMailer (`announce`), DocumentsMailer (`document_added`), and the shared mailer layout (`localized_emails_header`, `localized_emails_footer`). Sites drop the `static_html: true` / `only_path: false` / `plain_text: true` boilerplate; `render_mode:` pinning lives in the helper. The layout previously called `OpenProject::TextFormatting::Renderer.format_text` directly, bypassing the helper layer. The empty visibility cache (no current_user-scoped preload at layout time) is handled by the existing fallback in `LinkHandlers::WorkPackages#text_only?` — covered by a new sanity spec in `user_mailer_spec.rb` that exercises the header path with a WP reference and asserts plain-text formatted_id rendering. Per-bucket regression coverage added: absolute-URL and formatted_id assertions across both classic and semantic identifier modes, mirroring the WorkPackageMailer spec pattern.