diff --git a/templates/zerver/emails/digest.html b/templates/zerver/emails/digest.html index 774b4ef08c..ee2673a561 100644 --- a/templates/zerver/emails/digest.html +++ b/templates/zerver/emails/digest.html @@ -23,10 +23,10 @@ {% endfor %} {% endif %} - {% if new_streams.html %} -

{% trans %}New streams{% endtrans %}

+ {% if new_channels.html %} +

{% trans %}New channels{% endtrans %}

-

{{ new_streams.html|display_list(1000)|safe }}.

+

{{ new_channels.html|display_list(1000)|safe }}.

{% endif %}
diff --git a/templates/zerver/emails/digest.txt b/templates/zerver/emails/digest.txt index c0cf778c78..cb3715f520 100644 --- a/templates/zerver/emails/digest.txt +++ b/templates/zerver/emails/digest.txt @@ -5,8 +5,8 @@ {% endfor %}{% endfor %} {% if convo.count > 0 %}+ {{ convo.count }} more message{{ convo.count|pluralize }} by {{ convo.participants|display_list(4) }}.{% endif %}{% endfor %}{% endfor %}{% endif %} -{% if new_streams.plain %}** New streams ** - {{ new_streams.plain|display_list(1000) }}. +{% if new_channels.plain %}** {% trans %}New channels{% endtrans %} ** + {{ new_channels.plain|display_list(1000) }}. {% endif %} {% trans organization_url=realm_uri %}Click here to log in to Zulip and catch up: {{ organization_url }}.{% endtrans %} diff --git a/zerver/lib/digest.py b/zerver/lib/digest.py index c3cb1e18e8..fd282965f1 100644 --- a/zerver/lib/digest.py +++ b/zerver/lib/digest.py @@ -19,7 +19,7 @@ from zerver.lib.logging_util import log_to_file from zerver.lib.message import get_last_message_id from zerver.lib.queue import queue_json_publish from zerver.lib.send_email import FromAddress, send_future_email -from zerver.lib.url_encoding import encode_stream +from zerver.lib.url_encoding import stream_narrow_url from zerver.models import ( Message, Realm, @@ -255,18 +255,16 @@ def gather_new_streams( else: new_streams = [stream for stream in recently_created_streams if stream.is_web_public] - base_url = f"{realm.uri}/#narrow/stream/" - - streams_html = [] - streams_plain = [] + channels_html = [] + channels_plain = [] for stream in new_streams: - narrow_url = base_url + encode_stream(stream.id, stream.name) - stream_link = f"{stream.name}" - streams_html.append(stream_link) - streams_plain.append(stream.name) + narrow_url = stream_narrow_url(realm, stream) + channel_link = f"{stream.name}" + channels_html.append(channel_link) + channels_plain.append(stream.name) - return len(new_streams), {"html": streams_html, "plain": streams_plain} + return len(new_streams), {"html": channels_html, "plain": channels_plain} def enough_traffic(hot_conversations: str, new_streams: int) -> bool: @@ -376,7 +374,7 @@ def bulk_get_digest_context( recently_created_streams=recently_created_streams, can_access_public=user.can_access_public_streams(), ) - context["new_streams"] = new_streams + context["new_channels"] = new_streams context["new_streams_count"] = new_streams_count yield user, context diff --git a/zerver/tests/test_digest.py b/zerver/tests/test_digest.py index e5099b516e..d7e9857517 100644 --- a/zerver/tests/test_digest.py +++ b/zerver/tests/test_digest.py @@ -186,7 +186,7 @@ class TestDigestEmailMessages(ZulipTestCase): kwargs = mock_send_future_email.call_args[1] self.assertEqual(kwargs["to_user_ids"], [polonius.id]) - new_stream_names = kwargs["context"]["new_streams"]["plain"] + new_stream_names = kwargs["context"]["new_channels"]["plain"] self.assertTrue("web_public_stream" in new_stream_names) def test_no_logging(self) -> None: