refactor(profile): drop extended-profile editing, keep right-panel display

Extended-profile fields (io.element.profile.*) are no longer edited in the
client, so remove the edit form and the dead code that came with it, keeping
only the read-only right-panel display (UserExtendedProfileInfo).

- Remove ExtendedProfileSettings (edit form) + its Settings integration and CSS
- Remove ExtendedProfileView (never-rendered, dead) + its CSS
- Inline the EXT_PROFILE_KEY_* constants into UserExtendedProfileInfo so it no
  longer depends on the deleted settings component
- Drop now-unused set/deleteExtendedProfileProperty from UserProfilesStore
- Prune dead settings|extended_profile_settings|* i18n keys (and the unused
  user_info.extended_profile header/not_provided keys) across all locales
- Regenerate _components.pcss
- Revert UserProfileSettings/AccountUserSettingsTab tests (+snapshot) to master,
  since their adaptations existed only for the removed edit form
This commit is contained in:
2026-06-06 15:44:51 +02:00
parent 098d5b0ca2
commit 3a6a93edfe
16 changed files with 18 additions and 1042 deletions
@@ -18,7 +18,6 @@ import { mkStubRoom, stubClient } from "../../../../test-utils";
import { ToastContext, type ToastRack } from "../../../../../src/contexts/ToastContext";
import { OwnProfileStore } from "../../../../../src/stores/OwnProfileStore";
import MatrixClientContext from "../../../../../src/contexts/MatrixClientContext";
import { SdkContextClass } from "../../../../../src/contexts/SDKContext";
import Modal from "../../../../../src/Modal";
interface MockedAvatarSettingProps {
@@ -87,9 +86,6 @@ describe("ProfileSettings", () => {
beforeEach(() => {
client = stubClient();
// HealthChat's ExtendedProfileSettings reads the global SdkContextClass.instance.userProfilesStore,
// which requires the singleton client to be set (it is, on login, in the real app).
SdkContextClass.instance.client = client;
toastRack = {
displayToast: jest.fn().mockReturnValue(jest.fn()),
};