From @straiforos.tngl.sh :
I added templated email functionality.
You can configure a directory that allows you to add custom email templates and wording and still leverage replacements/templating for hostname, handle, verify link etc. There is a fallback config if you do not want to configure every locale, and just have a specific target audience. It will yell at you if you miss a template for the locale. Maybe it could be made to be more flexible. I like fail fast deployments. I proved it worked for my fileorbit.cloud instance.
Commit desc:
- use tranquil_pds not comms since the validate email and templates are reexported from pds package
- implement handlebars syntax
- update templates to be transport agnostic, email, discord, telegram with handlebar examples with conditions
- refactor template and notice logic from PR #269, and #299 to be self contained enforcing all substitutions to be defined within the enum properties
- fix open TODOs, store.rs uses get_string within the ids.rs get_built_ins method
- UTC logging for User facing notices restored
- new api error for verification channel requires bot
- fix tests to use metadata for html body...
- remove unwrap and handle template rendering error explicitly
- update verify_link to use handlebars trusted url syntax {{{verify_link}}}
- fix verification enqueueing to include channel in template rendering
- use locale enum for validation and display instead of string array separately maintained
- support text only templates for signal and discord
- fix missing verify_link and verify_page in migration and signup verification templates with unit tests
- consolidated body and subject notice methods into a single rendered function