0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-29 02:02:38 +01:00

modules/client/sync/device_lists: Implement changed array for linear sync handler; stub polylog.

This commit is contained in:
Jason Volk 2020-09-05 16:47:48 -07:00
parent feb2d41571
commit 992970bcd9

View file

@ -33,21 +33,57 @@ ircd::m::sync::device_lists
bool
ircd::m::sync::device_lists_linear(data &data)
{
return false;
if(!data.event_idx)
return false;
assert(data.event);
const m::event &event{*data.event};
if(!startswith(json::get<"type"_>(event), "ircd.device"))
return false;
const m::user sender
{
m::user::id(json::get<"sender"_>(event))
};
if(!m::user::room::is(json::get<"room_id"_>(event), sender))
return false;
const m::user::mitsein mitsein
{
sender
};
const bool changed
{
mitsein.has(data.user, "join")
};
const bool left
{
false //TODO: XXX
};
if(!changed && !left)
return false;
json::stack::array array
{
*data.out, left? "left": "changed"
};
array.append(sender.user_id);
return true;
}
bool
ircd::m::sync::device_lists_polylog(data &data)
{
json::stack::array
{
*data.out, "changed"
};
json::stack::array
{
*data.out, "left"
};
// c2s r0.6.0 13.11.5.3 sez:
// "Note: only present on an incremental sync."
if(!data.range.first)
return false;
//TODO: XXX
return false;
}