diff --git a/zerver/lib/message.py b/zerver/lib/message.py index ff8155a8cf..ebd876dc4f 100644 --- a/zerver/lib/message.py +++ b/zerver/lib/message.py @@ -294,6 +294,7 @@ def messages_for_ids( cache_transformer=lambda obj: obj, extractor=extract_message_dict, setter=stringify_message_dict, + pickled_tupled=False, ) message_list: list[dict[str, Any]] = [] diff --git a/zerver/lib/message_cache.py b/zerver/lib/message_cache.py index a89f7e1da1..546fdb8de8 100644 --- a/zerver/lib/message_cache.py +++ b/zerver/lib/message_cache.py @@ -70,7 +70,7 @@ def stringify_message_dict(message_dict: dict[str, Any]) -> bytes: return orjson.dumps(message_dict) -@cache_with_key(to_dict_cache_key, timeout=3600 * 24) +@cache_with_key(to_dict_cache_key, timeout=3600 * 24, pickled_tupled=False) def message_to_encoded_cache(message: Message, realm_id: int | None = None) -> bytes: return MessageDict.messages_to_encoded_cache([message], realm_id)[message.id] @@ -81,15 +81,12 @@ def update_message_cache( """Updates the message as stored in the to_dict cache (for serving messages).""" items_for_remote_cache = {} - message_ids = [] changed_messages_to_dict = MessageDict.messages_to_encoded_cache(changed_messages, realm_id) for msg_id, msg in changed_messages_to_dict.items(): - message_ids.append(msg_id) - key = to_dict_cache_key_id(msg_id) - items_for_remote_cache[key] = (msg,) + items_for_remote_cache[to_dict_cache_key_id(msg_id)] = msg cache_set_many(items_for_remote_cache) - return message_ids + return list(changed_messages_to_dict.keys()) def save_message_rendered_content(message: Message, content: str) -> str: diff --git a/zerver/tests/test_reactions.py b/zerver/tests/test_reactions.py index dac9ff1f43..a6e7d4488a 100644 --- a/zerver/tests/test_reactions.py +++ b/zerver/tests/test_reactions.py @@ -108,7 +108,7 @@ class ReactionEmojiTest(ZulipTestCase): self.assertEqual(200, result.status_code) key = to_dict_cache_key_id(1) - message = extract_message_dict(cache_get(key)[0]) + message = extract_message_dict(cache_get(key)) expected_reaction_data = [ {