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:
parent
feb2d41571
commit
992970bcd9
1 changed files with 46 additions and 10 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue