message_edit: Set stream_topic only if content is edited.

stream_topic variable is needed only when updating content
so we set the field inside is_content_edited block.

Also added a comment clarifying about why we use orig_stream
for stream ID.
This commit is contained in:
Sahil Batra
2025-01-17 09:19:32 +05:30
committed by Tim Abbott
parent 37f2c5bc78
commit 5f8959397b

View File

@@ -571,20 +571,22 @@ def do_update_message(
"flags": um.flags_list(),
}
if isinstance(message_edit_request, StreamMessageEditRequest):
stream_topic: StreamTopicTarget | None = StreamTopicTarget(
stream_id=message_edit_request.orig_stream.id,
topic_name=message_edit_request.target_topic_name,
)
else:
stream_topic = None
if message_edit_request.is_content_edited:
assert rendering_result is not None
# mention_data is required if there's a content edit.
assert mention_data is not None
if isinstance(message_edit_request, StreamMessageEditRequest):
# We do not allow changing content and stream together,
# so we use ID of orig_stream.
stream_topic: StreamTopicTarget | None = StreamTopicTarget(
stream_id=message_edit_request.orig_stream.id,
topic_name=message_edit_request.target_topic_name,
)
else:
stream_topic = None
update_message_content(
user_profile,
target_message,