Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
c428e08
Localize email templates to Russian
talyguryn Dec 18, 2025
c78f40c
Update workers/email/src/templates/emails/assignee/html.twig
talyguryn Dec 18, 2025
34c089c
Update text.twig
talyguryn Dec 19, 2025
8b309ba
Update workers/email/src/templates/emails/sign-up/html.twig
talyguryn Dec 19, 2025
2133e94
Update text.twig
talyguryn Dec 19, 2025
640e525
Update workers/email/src/templates/emails/payment-failed/html.twig
talyguryn Dec 19, 2025
69c8702
Update workers/email/src/templates/emails/payment-success/html.twig
talyguryn Dec 19, 2025
05ff5b5
Update text.twig
talyguryn Dec 19, 2025
cb2d4da
Update workers/email/src/templates/emails/events-limit-almost-reached…
talyguryn Dec 19, 2025
cab4f71
Update wording in events limit notification emails
talyguryn Dec 19, 2025
5cbe119
Update assignee email templates wording
talyguryn Dec 19, 2025
10a6df7
Update subject.twig
talyguryn Dec 19, 2025
021a0ef
Update workers/email/src/templates/emails/days-limit-almost-reached/h…
talyguryn Dec 19, 2025
1e07a82
Refine event email templates formatting
talyguryn Dec 19, 2025
e24899a
Update event-info.twig
talyguryn Dec 19, 2025
5499a98
Update workers/email/src/templates/emails/days-limit-almost-reached/h…
talyguryn Dec 19, 2025
82813eb
Update text.twig
talyguryn Dec 19, 2025
e49b810
Update workers/email/src/templates/emails/days-limit-almost-reached/s…
talyguryn Dec 19, 2025
ceedd91
Merge branch 'feat/translate-all-emails' of https://github.com/codex-…
talyguryn Dec 19, 2025
0c42184
Update workers/email/src/templates/emails/event/text.twig
talyguryn Dec 19, 2025
aaad2d8
Improve event type and title display in email templates
talyguryn Dec 19, 2025
11a2a10
Merge branch 'feat/translate-all-emails' of https://github.com/codex-…
talyguryn Dec 19, 2025
621e95b
Update workers/email/src/templates/emails/events-limit-almost-reached…
talyguryn Dec 19, 2025
f451d31
Update text.twig
talyguryn Dec 19, 2025
1a490fe
Update event email templates button and link text
talyguryn Dec 19, 2025
6ecddb2
Update Russian email templates for events limit notice
talyguryn Dec 19, 2025
648642f
Update days-limit email templates with renewal info
talyguryn Dec 19, 2025
6eadbc2
Merge branch 'master' into feat/translate-all-emails
talyguryn Dec 19, 2025
87a3d3b
Update email templates branding and footer text
talyguryn Dec 19, 2025
364356b
Fix placement of plan suspension notice in email templates
talyguryn Dec 19, 2025
f59ac88
Unify unsubscribe text in email templates
talyguryn Dec 19, 2025
9b0a87a
Update Russian email templates wording and formatting
talyguryn Dec 19, 2025
88b1fcc
Prefill email in login link for sign-up email
talyguryn Dec 19, 2025
bbc499c
Update workers/email/src/templates/emails/assignee/html.twig
talyguryn Dec 19, 2025
1da23e9
Prefill email in sign-up email login link
talyguryn Dec 19, 2025
e0ec132
Simplify days-limit-almost-reached email templates
talyguryn Dec 19, 2025
32d212e
Update days-limit email templates with clearer renewal info
talyguryn Dec 19, 2025
b4d165d
Fix event type display when type is undefined in email templates
talyguryn Dec 19, 2025
94812b2
Refactor event type display in email templates
talyguryn Dec 19, 2025
03c0227
Update workspace invite subject variable name
talyguryn Dec 19, 2025
4b5fefa
Remove duplicate event title block in email template
talyguryn Dec 19, 2025
04db419
Update html.twig
talyguryn Dec 19, 2025
6d40fd0
fix some styles
neSpecc Dec 19, 2025
37d224d
Update backtrace.twig
neSpecc Dec 19, 2025
799a2d9
Update event-info.twig
neSpecc Dec 19, 2025
5c42dfd
few more fixes
neSpecc Dec 19, 2025
4610867
Update backtrace.twig
neSpecc Dec 19, 2025
e3873b0
Update subject.twig
neSpecc Dec 20, 2025
29adaa6
Add environment prefix to email sender name
neSpecc Dec 20, 2025
2225058
Revert "Add environment prefix to email sender name"
neSpecc Dec 21, 2025
057d01c
Add user email to sign-up email template variables
talyguryn Dec 21, 2025
59fb5d0
Add UTM parameters to email template links
talyguryn Dec 23, 2025
1243850
Merge branch 'master' into feat/add-utm
talyguryn Dec 23, 2025
e6ab755
Fix typos and update payment instructions in email templates
talyguryn Dec 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/assignee/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=assignee' %}

<tr>
<td>
<img src="{{ hostOfStatic }}/email/user-assigned-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 0 auto; margin-top: 23px;">
Expand All @@ -27,7 +29,7 @@
{% include '../../components/event.twig' with daysRepeated, event %}
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% set url = host ~ '/project/' ~ project._id ~ '/event/' ~ event._id ~ '/overview' %}
{% set url = host ~ '/project/' ~ project._id ~ '/event/' ~ event._id ~ '/overview' ~ '?' ~ utmParams %}
{% include '../../components/button.twig' with {href: url, label: 'Смотреть событие'} %}
</td>
</tr>
Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/assignee/text.twig
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=assignee' %}

{% if whoAssigned.name %}{{ whoAssigned.name | escape }}{% else %}{{ whoAssigned.email }}{% endif %} назначил вас ответственным за исправление ошибки в проекте «{{ project.name | escape }}»

{{ event.payload.title }}
Expand All @@ -6,7 +8,7 @@
{{ daysRepeated }} {{ pluralize_ru(daysRepeated, ['день', 'дня', 'дней']) }} повторяется
{{ event.usersAffected }} {{ pluralize_ru(event.usersAffected, ['пользователь', 'пользователя', 'пользователей']) }} затронуто

Смотреть событие: {{ host }}/project/{{ project._id }}/event/{{ event._id }}/overview
Смотреть событие: {{ host }}/project/{{ project._id }}/event/{{ event._id }}/overview?{{ utmParams }}

***

Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/block-workspace/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=block-workspace' %}

<tr>
<td>
<img src="{{ hostOfStatic }}/email/low-balance-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 23px auto 0;">
Expand Down Expand Up @@ -39,7 +41,7 @@
{% else %}
{% set buttonLabel = 'Открыть настройки' %}
{% endif %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing', label: buttonLabel} %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams, label: buttonLabel} %}
</td>
</tr>
{% endblock %}
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/block-workspace/text.twig
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=block-workspace' %}

Мониторинг ошибок остановлен

Вы больше не отслеживаете новые ошибки «{{ workspace.name | escape }}», потому что закончился лимит или срок действия тарифного плана

Чтобы продолжить получать события, выберите подходящий тарифный план и продлите подписку в настройках оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing
Чтобы продолжить получать события, выберите подходящий тарифный план и продлите подписку в настройках оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing?{{ utmParams }}

***

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=blocked-workspace-reminder' %}

<tr>
<td>
<img src="{{ hostOfStatic }}/email/low-balance-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 23px auto 0;">
Expand Down Expand Up @@ -39,7 +41,7 @@
{% else %}
{% set buttonLabel = 'Открыть настройки' %}
{% endif %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing', label: buttonLabel} %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams, label: buttonLabel} %}
</td>
</tr>
{% endblock %}
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
Требуется действие: мониторинг ошибок в {{ workspace.name }} не работает уже {{ daysAfterBlock }} {{ pluralize_ru(daysAfterBlock, ['день', 'дня', 'дней']) }}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=blocked-workspace-reminder' %}

Чтобы снова видеть актуальные события, выберите подходящий тарифный план и продлите подписку в настройках оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing
Требуется действие: мониторинг ошибок в {{ workspace.name }} не работает уже {{ daysAfterBlock }} {{ pluralize_ru(daysAfterBlock, ['день', 'дня', 'дней']) }}

Чтобы снова видеть актуальные события, выберите подходящий тарифный план и продлите подписку в настройках оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing?{{ utmParams }}
***

Хоук
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=days-limit-almost-reached' %}
<tr>
<td>
<img src="{{ hostOfStatic }}/email/low-balance-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 23px auto 0;">
Expand All @@ -31,7 +32,7 @@
</tr>
<tr>
<td style="padding-right: 20px; padding-left: 20px; padding-bottom: 40px;">
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing', label: 'Перейти к настройкам'} %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams, label: 'Перейти к настройкам'} %}
</td>
</tr>
{% endblock %}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=days-limit-almost-reached' %}

{{ daysLeft | escape }} {{ pluralize_ru(daysLeft, ['день', 'дня', 'дней']) }} до окончания платного тарифа воркспейса «{{ workspace.name | escape }}».

Привяжите карту для автоматического продления тарифа в воркспейсе «{{ workspace.name | escape }}». Или оплатите следующий месяц разово.

Если план не продлить, то мониторинг ошибок будет приостановлен.

Перейти к настройкам оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing
Перейти к настройкам оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing?{{ utmParams }}

***

Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/event/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=event' %}

{% set event = events[0].event %}
{% set daysRepeated = events[0].daysRepeated %}
Expand Down Expand Up @@ -55,7 +56,7 @@

<tr>
<td style="padding-top: 30px;padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% set eventURL = host ~ '/project/' ~ project._id ~ '/event/' ~ event._id %}
{% set eventURL = host ~ '/project/' ~ project._id ~ '/event/' ~ event._id ~ '?' ~ utmParams %}
{% include '../../components/button.twig' with {href: eventURL, label: 'Смотреть детали'} %}
</td>
</tr>
Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/event/text.twig
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
{# Оставить как есть #}
{% endif %}

{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=event' %}

{{ newLabel }} в проекте «{{ project.name }}»

------------------------
Expand All @@ -23,7 +25,7 @@

Это событие произошло {{ event.totalCount }} {{ pluralize_ru(event.totalCount, ['раз', 'раза', 'раз']) }} за {{ daysRepeated }} {{ pluralize_ru(daysRepeated, ['день', 'дня', 'дней']) }}.

Смотреть детали: {{ host }}/project/{{ project._id }}/event/{{ event._id }}
Смотреть детали: {{ host }}/project/{{ project._id }}/event/{{ event._id }}?{{ utmParams }}

***

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=events-limit-almost-reached' %}
<tr>
<td>
<img src="{{ hostOfStatic }}/email/low-balance-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 23px auto 0;">
Expand Down Expand Up @@ -32,7 +33,7 @@
</tr>
<tr>
<td style="padding-right: 20px; padding-left: 20px; padding-bottom: 40px;">
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing', label: 'Увеличить лимит — от 99₽'} %}
{% include '../../components/button.twig' with {href: host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams, label: 'Увеличить лимит — от 99₽'} %}
</td>
</tr>
{% endblock %}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

Ваш проект растёт — это здорово. Давайте убедимся, что ни одна важная ошибка не останется незамеченной.

При необходимости обновите свой тариф, чтобы всегда быть в курсе всех происшествий: {{ host }}/workspace/{{ workspace._id }}/settings/billing
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=events-limit-almost-reached' %}

При необходимости обновите свой тариф, чтобы всегда быть в курсе всех происшествий: {{ host }}/workspace/{{ workspace._id }}/settings/billing?{{ utmParams }}

***

Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/password-reset/html.twig
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{% extends '../../components/layout.twig' %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=password-reset' %}
<tr>
<td>
<img src="{{ hostOfStatic }}/email/payment-success-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 0 auto; margin-top: 23px;">
Expand All @@ -24,7 +25,7 @@
</tr>
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% include '../../components/button.twig' with {href: host ~ '/login', label: 'Войти'} %}
{% include '../../components/button.twig' with {href: host ~ '/login' ~ '?' ~ utmParams, label: 'Войти'} %}
</td>
</tr>

Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/password-reset/text.twig
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=password-reset' %}

Используйте новый пароль для входа в ваш аккаунт.

Новый пароль: {{ password }}
Войти: {{ host ~ '/login' }}
Войти: {{ host ~ '/login' }}?{{ utmParams }}

***

Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/payment-failed/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=payment-failed' %}
<tr>
<td>
<img src="{{ hostOfStatic }}/email/low-balance-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 0 auto; margin-top: 23px;">
Expand All @@ -30,7 +31,7 @@
</tr>
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% set url = host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' %}
{% set url = host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams %}
{% include '../../components/button.twig' with {href: url, label: 'Настройки оплаты'} %}
</td>
</tr>
Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/payment-success/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
{% endblock %}

{% block content %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=payment-success' %}
<tr>
<td>
<img src="{{ hostOfStatic }}/email/payment-success-icon.png" width="32" height="32" hspace="3" style="display: block; vertical-align: middle; margin: 0 auto; margin-top: 23px;">
Expand All @@ -28,7 +29,7 @@
</tr>
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% set url = host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' %}
{% set url = host ~ '/workspace/' ~ workspace._id ~ '/settings/billing' ~ '?' ~ utmParams %}
{% include '../../components/button.twig' with {href: url, label: 'Настройки оплаты'} %}
</td>
</tr>
Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/payment-success/text.twig
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=payment-success' %}

Платеж выполнен успешно

Тариф «{{ plan.name }}» для воркспейса «{{ workspace.name | escape }}» продлен на один месяц. Ошибки под контролем.

Перейти к настройкам оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing
Перейти к настройкам оплаты: {{ host }}/workspace/{{ workspace._id }}/settings/billing?{{ utmParams }}

***

Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/several-events/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@

<tr>
<td class="several-items-button-wrap" style="padding-top: 30px;padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% set url = host ~ '/project/' ~ project._id %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=several-events' %}
{% set url = host ~ '/project/' ~ project._id ~ '?' ~ utmParams %}
{% if events.length - eventsToShow > 0 %}
{% set hiddenEventsLen = events.length - eventsToShow %}
{% set hiddenEventsMessage = 'и еще ' ~ hiddenEventsLen ~ '…' %}
Expand Down
5 changes: 3 additions & 2 deletions workers/email/src/templates/emails/several-events/text.twig
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@
{% endfor %}

{% if events.length - eventsToShow > 0 %}
Смотреть еще {{ events.length - eventsToShow }} событий: {{ host }}/project/{{ project._id }}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=several-events' %}
Смотреть еще {{ events.length - eventsToShow }} событий: {{ host }}/project/{{ project._id }}?{{ utmParams }}
{% else %}
Смотреть события: {{ host }}/project/{{ project._id }}
Смотреть события: {{ host }}/project/{{ project._id }}?{{ utmParams }}
{% endif %}


Expand Down
3 changes: 2 additions & 1 deletion workers/email/src/templates/emails/sign-up/html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
</tr>
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% include '../../components/button.twig' with {href: host ~ '/login?emailPrefilled=' ~ email, label: 'Войти'} %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=sign-up' %}
{% include '../../components/button.twig' with {href: host ~ '/login?emailPrefilled=' ~ email ~ '&' ~ utmParams, label: 'Войти'} %}
</td>
</tr>

Expand Down
4 changes: 3 additions & 1 deletion workers/email/src/templates/emails/sign-up/text.twig
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

Ниже — данные для входа в аккаунт. Используйте этот пароль для первого входа, позже вы сможете изменить его в настройках.

{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=sign-up' %}

Пароль: {{ password }}
Войти: {{ host ~ '/login?emailPrefilled=' ~ endpoint }}
Войти: {{ host ~ '/login?emailPrefilled=' ~ endpoint }}&{{ utmParams }}

***

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@
</tr>
<tr>
<td style="padding-right: 20px;padding-left: 20px;padding-bottom: 40px;">
{% include '../../components/button.twig' with {href: inviteLink, label: 'Присоединиться'} %}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=workspace-invite' %}
{% set sep = ('?' in inviteLink) ? '&' : '?' %}
{% include '../../components/button.twig' with {href: inviteLink ~ sep ~ utmParams, label: 'Присоединиться'} %}
</td>
</tr>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@

Чтобы получить доступ ко всем проектам этого воркспейса, нажмите ссылку ниже.

{{ inviteLink }}
{% set utmParams = 'utm_source=email&utm_medium=transactional&utm_campaign=workspace-invite' %}
{% set sep = ('?' in inviteLink) ? '&' : '?' %}

{{ inviteLink }}{{ sep }}{{ utmParams }}

***

Expand Down
Loading