Philipp Hörist pushed to branch master at gajim / gajim
Commits:
c2dac79e by Philipp Hörist at 2025-09-06T21:54:48+02:00
imprv: Replies: Add thread id when replying
- - - - -
3 changed files:
- gajim/common/modules/message.py
- gajim/common/structs.py
- gajim/gtk/referenced_message.py
Changes:
=====================================
gajim/common/modules/message.py
=====================================
@@ -448,6 +448,10 @@ def store_message(self, message: OutgoingMessage) -> None:
self._account, remote_jid, message.timestamp, message.sec_label)
reply = get_reply(message.reply_data)
+ thread_id = None
+ if message.reply_data is not None:
+ thread_id = message.reply_data.thread_id
+
oob_data: list[mod.OOB] = []
if message.oob_url is not None:
oob_data.append(mod.OOB(url=message.oob_url, description=None))
@@ -464,6 +468,7 @@ def store_message(self, message: OutgoingMessage) -> None:
id=message.message_id,
stanza_id=None,
user_delay_ts=None,
+ thread_id_=thread_id,
correction_id=message.correct_id,
encryption_=encryption_data,
oob=oob_data,
@@ -504,6 +509,8 @@ def build_message_stanza(message: OutgoingMessage, own_jid:
JID) -> nbxmpp.Messa
stanza.setID(message.message_id)
stanza.setOriginID(message.message_id)
+ thread_id = None
+
# Mark Message as MUC PM
if message.is_pm:
stanza.setTag('x', namespace=Namespace.MUC_USER)
@@ -520,6 +527,7 @@ def build_message_stanza(message: OutgoingMessage, own_jid:
JID) -> nbxmpp.Messa
# XEP-0461
if message.reply_data is not None:
+ thread_id = message.reply_data.thread_id
stanza.setReply(str(message.reply_data.to),
message.reply_data.id,
message.reply_data.fallback_start,
@@ -561,4 +569,9 @@ def build_message_stanza(message: OutgoingMessage, own_jid:
JID) -> nbxmpp.Messa
if message.mds_id is not None:
stanza.setMdsAssist(message.mds_id, own_jid.new_as_bare())
+ # Thread
+ # Currently only supported for replies
+ if thread_id is not None:
+ stanza.setThread(thread_id)
+
return stanza
=====================================
gajim/common/structs.py
=====================================
@@ -315,6 +315,7 @@ class ReplyData:
pk: int
to: JID
id: str
+ thread_id: str | None
fallback_start: int
fallback_end: int
fallback_text: str
=====================================
gajim/gtk/referenced_message.py
=====================================
@@ -183,11 +183,16 @@ def get_message_reply(self) -> ReplyData | None:
if reply_to_id is None:
return None
+ thread_id = None
+ if self._original_message.thread is not None:
+ thread_id = self._original_message.thread.id
+
quoted_text = quote_text(self._message.text)
return ReplyData(
pk=self._original_message.pk,
to=jid,
id=reply_to_id,
+ thread_id=thread_id,
fallback_start=0,
fallback_end=len(quoted_text),
fallback_text=quoted_text,
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/c2dac79e1dac26efcdc734c94aaa7b567a30df90
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/c2dac79e1dac26efcdc734c94aaa7b567a30df90
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]