mirror of
https://github.com/zulip/zulip.git
synced 2025-11-13 10:26:28 +00:00
This simple change switches us to take advantage of the server-maintained data for the pm_conversations system we implemented originally for mobile use. This should make it a lot more convenient to find historical private message conversations, since one can effectively scroll infinitely into the history. We'll need to do some profiling of the backend after this is deployed in production; it's possible we'll need to add some database indexes, denormalization, or other optimizations to avoid making loading the Zulip app significantly slower. Fixes #12502.
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
const pmc = zrequire('pm_conversations');
|
|
|
|
run_test('partners', () => {
|
|
const user1_id = 1;
|
|
const user2_id = 2;
|
|
const user3_id = 3;
|
|
|
|
pmc.set_partner(user1_id);
|
|
pmc.set_partner(user3_id);
|
|
|
|
assert.equal(pmc.is_partner(user1_id), true);
|
|
assert.equal(pmc.is_partner(user2_id), false);
|
|
assert.equal(pmc.is_partner(user3_id), true);
|
|
});
|
|
|
|
zrequire("people");
|
|
|
|
run_test('insert_recent_private_message', () => {
|
|
set_global('page_params', {
|
|
recent_private_conversations: [
|
|
{user_ids: [1, 2],
|
|
max_message_id: 150,
|
|
},
|
|
{user_ids: [1],
|
|
max_message_id: 111,
|
|
},
|
|
{user_ids: [],
|
|
max_message_id: 7,
|
|
},
|
|
],
|
|
});
|
|
people.initialize_current_user(15);
|
|
pmc.recent.initialize();
|
|
|
|
assert.deepEqual(pmc.recent.get(), [
|
|
{user_ids_string: '1,2', max_message_id: 150},
|
|
{user_ids_string: '1', max_message_id: 111},
|
|
{user_ids_string: '15', max_message_id: 7},
|
|
]);
|
|
|
|
pmc.recent.insert('1', 1001);
|
|
pmc.recent.insert('2', 2001);
|
|
pmc.recent.insert('1', 3001);
|
|
|
|
// try to backdate user1's latest message
|
|
pmc.recent.insert('1', 555);
|
|
|
|
assert.deepEqual(pmc.recent.get(), [
|
|
{user_ids_string: '1', max_message_id: 3001},
|
|
{user_ids_string: '2', max_message_id: 2001},
|
|
{user_ids_string: '1,2', max_message_id: 150},
|
|
{user_ids_string: '15', max_message_id: 7},
|
|
]);
|
|
|
|
assert.deepEqual(pmc.recent.get_strings(), ['1', '2', '1,2', '15']);
|
|
});
|