From aed1c856ef4369c4ce3ad36072ae97de20369d32 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Mon, 18 Feb 2019 16:42:08 -0800 Subject: [PATCH] modules/client/login: Set device in user's room on login. --- modules/client/login.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/modules/client/login.cc b/modules/client/login.cc index f5282a0ad..c0b7d3c8a 100644 --- a/modules/client/login.cc +++ b/modules/client/login.cc @@ -86,10 +86,20 @@ post__login_password(client &client, // access_token will be committed and the user will be logged in. m::send(m::user::tokens, user_id, "ircd.access_token", access_token, { - { "ip", string(remote(client)) }, - { "device", device_id }, + { "ip", string(remote(client)) }, + { "device_id", device_id }, }); + const m::user::room user_room{user}; + if(!user_room.has("ircd.device", device_id)) + m::send(user_room, user_id, "ircd.device", device_id, json::members + { + { "device_id", device_id }, + { "display_name", initial_device_display_name }, + { "last_seen_ts", ircd::time() }, + { "last_seen_ip", string(remote(client)) }, + }); + // Send response to user return resource::response {