From 8e5adb9105af20b624186d2311580f98374e60c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=85=E5=91=A8=E6=B6=9B?= Date: Sun, 19 Jul 2026 03:41:20 -0700 Subject: [PATCH] fix(platform-objects): surface sys_user phone_number in list views and detail highlights (#3262) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A user created with a phone number (auth.plugins.phoneNumber) had the number persisted but displayed nowhere: no list view included a phone_number column, and the slotted sys_user detail page whitelists its highlight/detail fields, none of which was phone_number. Phone-only accounts surfaced only their placeholder email, so the identifier looked lost. - add phone_number to the all_users and me list view columns - promote phone_number into the detail-page highlights strip (next to email — both are sign-in identifiers) and the highlights dedup list Field translations already exist, so column/chip labels localize as-is. Verified end-to-end against the showcase example (create via /admin/create-user, column shown in All Users, chip shown on the record detail). Fixes #3262 Co-Authored-By: Claude Fable 5 --- packages/platform-objects/src/identity/sys-user.object.ts | 4 ++-- packages/platform-objects/src/pages/sys-user.page.ts | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/platform-objects/src/identity/sys-user.object.ts b/packages/platform-objects/src/identity/sys-user.object.ts index c69613fd6d..74d1802af3 100644 --- a/packages/platform-objects/src/identity/sys-user.object.ts +++ b/packages/platform-objects/src/identity/sys-user.object.ts @@ -433,7 +433,7 @@ export const SysUser = ObjectSchema.create({ name: 'me', label: 'My Profile', data: { provider: 'object', object: 'sys_user' }, - columns: ['name', 'email', 'email_verified', 'two_factor_enabled', 'updated_at'], + columns: ['name', 'email', 'phone_number', 'email_verified', 'two_factor_enabled', 'updated_at'], filter: [{ field: 'id', operator: 'equals', value: '{current_user_id}' }], sort: [{ field: 'name', order: 'asc' }], pagination: { pageSize: 1 }, @@ -443,7 +443,7 @@ export const SysUser = ObjectSchema.create({ name: 'all_users', label: 'All Users', data: { provider: 'object', object: 'sys_user' }, - columns: ['name', 'email', 'email_verified', 'source', 'two_factor_enabled', 'created_at'], + columns: ['name', 'email', 'phone_number', 'email_verified', 'source', 'two_factor_enabled', 'created_at'], sort: [{ field: 'name', order: 'asc' }], pagination: { pageSize: 50 }, }, diff --git a/packages/platform-objects/src/pages/sys-user.page.ts b/packages/platform-objects/src/pages/sys-user.page.ts index c1e0e6d685..a872be2d6a 100644 --- a/packages/platform-objects/src/pages/sys-user.page.ts +++ b/packages/platform-objects/src/pages/sys-user.page.ts @@ -95,7 +95,7 @@ export const SysUserDetailPage: Page = { highlights: { type: 'record:highlights', properties: { - fields: ['email', 'email_verified', 'two_factor_enabled', 'role'], + fields: ['email', 'phone_number', 'email_verified', 'two_factor_enabled', 'role'], }, }, @@ -110,6 +110,7 @@ export const SysUserDetailPage: Page = { 'ban_expires', // already promoted to highlights: 'email', + 'phone_number', 'email_verified', 'two_factor_enabled', 'role',