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 {