# HG changeset patch # User Goffi # Date 1718226552 -7200 # Node ID 19c83dd943dff71dd9b8593369120f93994b6d85 # Parent f3305832f3f697e8c95c063ea1448614e0cc7b8c browser (chat): don't set `None` value in message data used in template: `None` can behave unexpectedly with template, unsetting the value is safer. diff -r f3305832f3f6 -r 19c83dd943df libervia/web/pages/chat/_browser/__init__.py --- a/libervia/web/pages/chat/_browser/__init__.py Fri May 31 11:10:04 2024 +0200 +++ b/libervia/web/pages/chat/_browser/__init__.py Wed Jun 12 23:09:12 2024 +0200 @@ -257,29 +257,32 @@ else: await cache.fill_identities([str(jid.JID(from_jid).bare)]) from_jid = from_jid.bare + msg_data = { + "id": uid, + "timestamp": extra.get("updated", timestamp), + "type": mess_type, + "from_": str(from_jid), + "text": message_data.get("") or next(iter(message_data.values()), ""), + "subject": subject_data.get("") or next(iter(subject_data.values()), ""), + "type": mess_type, + "reeceived": extra.get("received_timestamp") or timestamp, + "encrypted": extra.get("encrypted", False), + "received": extra.get("received", False), + "attachments": extra.get("attachments", []), + "extra": extra + } + for key in ("thread", "thread_parent", "delay_sender", "info_type"): + value = extra.get(key) + if value is not None: + msg_data[key] = value + + if xhtml: + msg_data["html"] = safe(xhtml) return { "own_local_jid": str(own_local_jid), "chat_type": chat_type, - "msg": { - "id": uid, - "timestamp": extra.get("updated", timestamp), - "type": mess_type, - "from_": str(from_jid), - "text": message_data.get("") or next(iter(message_data.values()), ""), - "subject": subject_data.get("") or next(iter(subject_data.values()), ""), - "type": mess_type, - "thread": extra.get("thread"), - "thread_parent": extra.get("thread_parent"), - "reeceived": extra.get("received_timestamp") or timestamp, - "delay_sender": extra.get("delay_sender"), - "info_type": extra.get("info_type"), - "html": safe(xhtml) if xhtml else None, - "encrypted": extra.get("encrypted", False), - "received": extra.get("received", False), - "attachments": extra.get("attachments", []), - "extra": extra - }, + "msg": msg_data, "identities": identities, }