event_types: Combine typing_edit_message variants.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
Anders Kaseorg
2025-07-24 16:28:21 -07:00
committed by Tim Abbott
parent 30f93fa563
commit 4603472fe3
4 changed files with 14 additions and 41 deletions

View File

@@ -61,13 +61,6 @@ def get_event_checker(event: dict[str, Any]) -> Callable[[str, dict[str, Any]],
# Start by grabbing the event type.
name = event["type"]
# This is a temporary workaround until a proper fix is implemented.
if name == "typing_edit_message":
if event["recipient"]["type"] == "channel":
name = "typing_edit_channel_message"
else:
name = "typing_edit_direct_message"
# Handle things like AttachmentRemoveEvent
if "op" in event:
name += "_" + event["op"].title()

View File

@@ -83,10 +83,8 @@ from zerver.lib.event_types import (
EventSubscriptionPeerRemove,
EventSubscriptionRemove,
EventSubscriptionUpdate,
EventTypingEditChannelMessageStart,
EventTypingEditChannelMessageStop,
EventTypingEditDirectMessageStart,
EventTypingEditDirectMessageStop,
EventTypingEditMessageStart,
EventTypingEditMessageStop,
EventTypingStart,
EventTypingStop,
EventUpdateDisplaySettings,
@@ -217,10 +215,8 @@ check_subscription_peer_remove = make_checker(EventSubscriptionPeerRemove)
check_subscription_remove = make_checker(EventSubscriptionRemove)
check_typing_start = make_checker(EventTypingStart)
check_typing_stop = make_checker(EventTypingStop)
check_typing_edit_channel_message_start = make_checker(EventTypingEditChannelMessageStart)
check_typing_edit_direct_message_start = make_checker(EventTypingEditDirectMessageStart)
check_typing_edit_channel_message_stop = make_checker(EventTypingEditChannelMessageStop)
check_typing_edit_direct_message_stop = make_checker(EventTypingEditDirectMessageStop)
check_typing_edit_message_start = make_checker(EventTypingEditMessageStart)
check_typing_edit_message_stop = make_checker(EventTypingEditMessageStop)
check_update_message_flags_add = make_checker(EventUpdateMessageFlagsAdd)
check_update_message_flags_remove = make_checker(EventUpdateMessageFlagsRemove)
check_user_group_add = make_checker(EventUserGroupAdd)

View File

@@ -1033,34 +1033,20 @@ class RecipientFieldForTypingEditDirectMessage(BaseModel):
user_ids: list[int] | None = None
class EventTypingEditMessageStartCore(BaseEvent):
class EventTypingEditMessageStart(BaseEvent):
type: Literal["typing_edit_message"]
op: Literal["start"]
sender_id: int
message_id: int
recipient: RecipientFieldForTypingEditChannelMessage | RecipientFieldForTypingEditDirectMessage
class EventTypingEditChannelMessageStart(EventTypingEditMessageStartCore):
recipient: RecipientFieldForTypingEditChannelMessage
class EventTypingEditDirectMessageStart(EventTypingEditMessageStartCore):
recipient: RecipientFieldForTypingEditDirectMessage
class EventTypingEditMessageStopCore(BaseEvent):
class EventTypingEditMessageStop(BaseEvent):
type: Literal["typing_edit_message"]
op: Literal["stop"]
sender_id: int
message_id: int
class EventTypingEditChannelMessageStop(EventTypingEditMessageStopCore):
recipient: RecipientFieldForTypingEditChannelMessage
class EventTypingEditDirectMessageStop(EventTypingEditMessageStopCore):
recipient: RecipientFieldForTypingEditDirectMessage
recipient: RecipientFieldForTypingEditChannelMessage | RecipientFieldForTypingEditDirectMessage
class EventUpdateDisplaySettingsCore(BaseEvent):

View File

@@ -225,10 +225,8 @@ from zerver.lib.event_schema import (
check_subscription_peer_remove,
check_subscription_remove,
check_subscription_update,
check_typing_edit_channel_message_start,
check_typing_edit_channel_message_stop,
check_typing_edit_direct_message_start,
check_typing_edit_direct_message_stop,
check_typing_edit_message_start,
check_typing_edit_message_stop,
check_typing_start,
check_typing_stop,
check_update_display_settings,
@@ -1664,7 +1662,7 @@ class NormalActionsTest(BaseAction):
msg_id,
"start",
)
check_typing_edit_direct_message_start("events[0]", events[0])
check_typing_edit_message_start("events[0]", events[0])
with self.verify_action(state_change_expected=False) as events:
do_send_direct_message_edit_typing_notification(
@@ -1673,7 +1671,7 @@ class NormalActionsTest(BaseAction):
msg_id,
"stop",
)
check_typing_edit_direct_message_stop("events[0]", events[0])
check_typing_edit_message_stop("events[0]", events[0])
def test_stream_edit_message_typing_events(self) -> None:
channel = get_stream("Denmark", self.user_profile.realm)
@@ -1685,13 +1683,13 @@ class NormalActionsTest(BaseAction):
do_send_stream_message_edit_typing_notification(
self.user_profile, channel.id, msg_id, "start", topic_name
)
check_typing_edit_channel_message_start("events[0]", events[0])
check_typing_edit_message_start("events[0]", events[0])
with self.verify_action(state_change_expected=False) as events:
do_send_stream_message_edit_typing_notification(
self.user_profile, channel.id, msg_id, "stop", topic_name
)
check_typing_edit_channel_message_stop("events[0]", events[0])
check_typing_edit_message_stop("events[0]", events[0])
def test_custom_profile_fields_events(self) -> None:
realm = self.user_profile.realm