Skip to content

model: Use "direct" type for DMs on servers at feature level 174+#1635

Open
IlijevskiM wants to merge 1 commit intozulip:mainfrom
IlijevskiM:main
Open

model: Use "direct" type for DMs on servers at feature level 174+#1635
IlijevskiM wants to merge 1 commit intozulip:mainfrom
IlijevskiM:main

Conversation

@IlijevskiM
Copy link
Copy Markdown
Collaborator

Zulip servers at API feature level 174 (Zulip 7.0) introduced "direct" as the preferred value for the type parameter when sending direct messages via POST /messages. Older servers require "private" and do not accept "direct".

This change:

  • Widens PrivateComposition.type to Literal["private", "direct"]
  • Adds DIRECT_MESSAGE_TYPE_FEATURE_LEVEL = 174 in model.py
  • Gates the type value in send_private_message() on the feature level
  • Parametrizes the existing test to cover both code paths

Fixes #1388

Zulip servers at API feature level 174 (Zulip 7.0) introduced
"direct" as the preferred value for the `type` parameter of
POST /messages when sending direct messages, replacing "private".
Servers at this level still accept "private" for backwards
compatibility, but older servers do not accept "direct".

We now check `server_feature_level` against a named constant
(DIRECT_MESSAGE_TYPE_FEATURE_LEVEL = 174) and send "direct" for
newer servers and "private" for older ones.

Fixes zulip#1388
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use "direct" as the message type when sending direct/private messages.

2 participants