mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
We move the message_store.add_message_metadata function
(and all its dependencies) into a new module called
message_helper and rename the function to process_new_message.
(It does a bit more than adding message metadata, such
as updating our message store.)
We also have a "protected" interface now in message_store,
so that message_helper can access the message store:
update_message_cache
get_cached_message
Because update_message_cache is identical to
the former create_mock_message, we just renamed it
in the tests.
Most callers should use these functions:
message_helper.process_new_message (setting)
message_store.get (getting)
It's slightly annoying that the setter interface
is in a different module than the getter interface,
but that's how you break a bunch of dependencies.
We also extract the tiny message_user_ids class:
user_ids()
add_user_ids()
All the code moves here are pretty trivial, and
the code that was moved maintains 100% line
coverage.
The module name `message_helper` is not ideal, but it's a single
function and it'll save time to just do the topology change now and
leave thinking through the right name to later.
23 lines
600 B
JavaScript
23 lines
600 B
JavaScript
/*
|
|
We keep a set of user_ids for all people
|
|
who have sent stream messages or who have
|
|
been on PMs sent by the user.
|
|
|
|
We will use this in search to prevent really
|
|
large result sets for realms that have lots
|
|
of users who haven't sent messages recently.
|
|
|
|
We'll likely eventually want to replace this with
|
|
accessing some combination of data from recent_senders
|
|
and pm_conversations for better accuracy.
|
|
*/
|
|
const user_set = new Set();
|
|
|
|
export function user_ids() {
|
|
return Array.from(user_set);
|
|
}
|
|
|
|
export function add_user_id(user_id) {
|
|
user_set.add(user_id);
|
|
}
|