From 0364c6232c87fab01ec1a1159239a18a2b027999 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Fri, 29 Apr 2022 13:44:44 +0100 Subject: [PATCH] Get device names from `unsigned` in `/user/devices` --- federationapi/routing/devices.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/federationapi/routing/devices.go b/federationapi/routing/devices.go index 8890eac4b..9be0df988 100644 --- a/federationapi/routing/devices.go +++ b/federationapi/routing/devices.go @@ -20,6 +20,7 @@ import ( keyapi "github.com/matrix-org/dendrite/keyserver/api" "github.com/matrix-org/gomatrixserverlib" "github.com/matrix-org/util" + "github.com/tidwall/gjson" ) // GetUserDevices for the given user id @@ -69,9 +70,14 @@ func GetUserDevices( continue } + displayName := dev.DisplayName + if dev.DisplayName == "" { + displayName = gjson.GetBytes(dev.DeviceKeys.KeyJSON, "unsigned.device_display_name").Str + } + device := gomatrixserverlib.RespUserDevice{ DeviceID: dev.DeviceID, - DisplayName: dev.DisplayName, + DisplayName: displayName, Keys: key, }