mirror of https://github.com/zulip/zulip.git
2f203f4de1
Previously, we had an architecture where CSS inlining for emails was done at provision time in inline_email_css.py. This was necessary because the library we were using for this, Premailer, was extremely slow, and doing the inlining for every outgoing email would have been prohibitively expensive. Now that we've migrated to a more modern library that inlines the small amount of CSS we have into emails nearly instantly, we are able to remove the complex architecture built to work around Premailer being slow and just do the CSS inlining as the final step in sending each individual email. This has several significant benefits: * Removes a fiddly provisioning step that made the edit/refresh cycle for modifying email templates confusing; there's no longer a CSS inlining step that, if you forget to do it, results in your testing a stale variant of the email templates. * Fixes internationalization problems related to translators working with pre-CSS-inlined emails, and then Django trying to apply the translators to the post-CSS-inlined version. * Makes the send_custom_email pipeline simpler and easier to improve. Signed-off-by: Daniil Fadeev <fadeevd@zulip.com> |
||
---|---|---|
.. | ||
apt-repos | ||
__init__.py | ||
compare-settings-to-template | ||
configure-rabbitmq | ||
create-database | ||
create-db.sql | ||
create-pgroonga.sql | ||
flush-memcached | ||
generate-rabbitmq-cookie | ||
generate-self-signed-cert | ||
generate_secrets.py | ||
initialize-database | ||
install | ||
reindex-textual-data | ||
restore-backup | ||
setup-certbot | ||
sha256-file-to | ||
sha256-tarball-to | ||
terminate-psql-sessions | ||
upgrade-postgresql |