From 2f612c3a9d3e3c7cd92937691579f80845b3c147 Mon Sep 17 00:00:00 2001 From: David Baker Date: Tue, 14 Jul 2026 09:55:04 +0100 Subject: [PATCH] Add user status to dm room header (#34225) * Add user status to dm room header Also bumps the gap on the room header items to 8px because that's what the designs have and I'm assuming it applies to everything, not just the user status: pending design confirmation. * Turns out the icons did have 8px gap but via 4px of padding for reasons I can't discern * Adjust spacing to 1.5x as requested by design * add tests * Update screenshots * add test for user status updating --- .../send-your-first-message-view-linux.png | Bin 27216 -> 27217 bytes .../room-header-with-icon-linux.png | Bin 5490 -> 5494 bytes apps/web/res/css/views/rooms/_RoomHeader.pcss | 3 +- .../views/rooms/RoomHeader/RoomHeader.tsx | 8 ++- .../rooms/RoomHeader/RoomHeader-test.tsx | 48 ++++++++++++++++++ 5 files changed, 56 insertions(+), 3 deletions(-) diff --git a/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png b/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png index b598dd9b6805c322c8c7275d35a7053da315f0f9..18fb646765a90c38624fec0d882a47c7dc10dadf 100644 GIT binary patch delta 22527 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 O9&749EWU61_CEkJ^Gdw{ delta 22498 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 state.getHistoryVisibility()); const dmMember = useDmMember(room); const isDirectMessage = !!dmMember; + const dmUserStatus = useUserStatus(dmMember?.userId); const isRoomEncrypted = useIsEncrypted(client, room); const e2eStatus = useEncryptionStatus(client, room); const askToJoinEnabled = useFeatureEnabled("feature_ask_to_join"); @@ -496,6 +498,10 @@ export default function RoomHeader({ > {roomName} + {isDirectMessage && dmUserStatus && ( + + )} + {!isDirectMessage && joinRule === JoinRule.Public && ( { }); }); + it("does not show a user status for non-DM rooms", async () => { + SettingsStore.setValue("feature_user_status", null, SettingLevel.DEVICE, true); + client.doesServerSupportExtendedProfiles = jest.fn().mockResolvedValue(true); + mocked(client.getExtendedProfileProperty).mockResolvedValue({ emoji: "🐎", text: "on a horse" }); + + render(, getWrapper()); + + expect(screen.queryByText("on a horse")).not.toBeInTheDocument(); + expect(client.doesServerSupportExtendedProfiles).not.toHaveBeenCalled(); + }); + it("shows a history icon if the room is encrypted and has shared history", async () => { mocked(client.getCrypto()!).isEncryptionEnabledInRoom.mockResolvedValue(true); await room.addLiveEvents( @@ -811,6 +823,42 @@ describe("RoomHeader", () => { await waitFor(() => expect(getByLabelText(document.body, expectedLabel)).toBeInTheDocument()); }); + it("shows the user status", async () => { + SettingsStore.setValue("feature_user_status", null, SettingLevel.DEVICE, true); + client.doesServerSupportExtendedProfiles = jest.fn().mockResolvedValue(true); + mocked(client.getExtendedProfileProperty).mockResolvedValue({ emoji: "🐎", text: "on a horse" }); + + render(, getWrapper()); + + await waitFor(() => expect(screen.getByText("on a horse")).toBeInTheDocument()); + expect(screen.getByText("🐎")).toBeInTheDocument(); + }); + + it("updates user status when it changes", async () => { + SettingsStore.setValue("feature_user_status", null, SettingLevel.DEVICE, true); + client.doesServerSupportExtendedProfiles = jest.fn().mockResolvedValue(true); + mocked(client.getExtendedProfileProperty).mockResolvedValue({ emoji: "🐎", text: "on a horse" }); + + render(, getWrapper()); + + mocked(client.getExtendedProfileProperty).mockResolvedValue({ emoji: "🐴", text: "is a horse" }); + client.emit(ClientEvent.UserProfileUpdate, "@bob:example.org", { emoji: "🐴", text: "is a horse" }); + + await waitFor(() => expect(screen.getByText("is a horse")).toBeInTheDocument()); + expect(screen.getByText("🐴")).toBeInTheDocument(); + }); + + it("does not show the user status when the feature is disabled", async () => { + SettingsStore.setValue("feature_user_status", null, SettingLevel.DEVICE, false); + client.doesServerSupportExtendedProfiles = jest.fn().mockResolvedValue(true); + mocked(client.getExtendedProfileProperty).mockResolvedValue({ emoji: "🐎", text: "on a horse" }); + + render(, getWrapper()); + + expect(screen.queryByText("on a horse")).not.toBeInTheDocument(); + expect(client.doesServerSupportExtendedProfiles).not.toHaveBeenCalled(); + }); + it("does not show the face pile for DMs", () => { SdkConfig.put({ features: {