Merge pull request #5272 from matrix-org/t3chguy/fix/15255

Show server errors from saving profile settings
pull/21833/head
Michael Telatynski 2020-10-06 12:35:56 +01:00 committed by GitHub
commit 5f615bd4c9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 14 deletions

View File

@ -21,6 +21,8 @@ import Field from "../elements/Field";
import { getHostingLink } from '../../../utils/HostingLink'; import { getHostingLink } from '../../../utils/HostingLink';
import * as sdk from "../../../index"; import * as sdk from "../../../index";
import {OwnProfileStore} from "../../../stores/OwnProfileStore"; import {OwnProfileStore} from "../../../stores/OwnProfileStore";
import Modal from "../../../Modal";
import ErrorDialog from "../dialogs/ErrorDialog";
export default class ProfileSettings extends React.Component { export default class ProfileSettings extends React.Component {
constructor() { constructor() {
@ -75,8 +77,7 @@ export default class ProfileSettings extends React.Component {
const client = MatrixClientPeg.get(); const client = MatrixClientPeg.get();
const newState = {}; const newState = {};
// TODO: What do we do about errors? try {
if (this.state.originalDisplayName !== this.state.displayName) { if (this.state.originalDisplayName !== this.state.displayName) {
await client.setDisplayName(this.state.displayName); await client.setDisplayName(this.state.displayName);
newState.originalDisplayName = this.state.displayName; newState.originalDisplayName = this.state.displayName;
@ -91,6 +92,12 @@ export default class ProfileSettings extends React.Component {
} else if (this.state.originalAvatarUrl !== this.state.avatarUrl) { } else if (this.state.originalAvatarUrl !== this.state.avatarUrl) {
await client.setAvatarUrl(""); // use empty string as Synapse 500s on undefined await client.setAvatarUrl(""); // use empty string as Synapse 500s on undefined
} }
} catch (err) {
Modal.createTrackedDialog('Failed to save profile', '', ErrorDialog, {
title: _t("Failed to save your profile"),
description: ((err && err.message) ? err.message : _t("The operation could not be completed")),
});
}
this.setState(newState); this.setState(newState);
}; };

View File

@ -715,6 +715,8 @@
"Off": "Off", "Off": "Off",
"On": "On", "On": "On",
"Noisy": "Noisy", "Noisy": "Noisy",
"Failed to save your profile": "Failed to save your profile",
"The operation could not be completed": "The operation could not be completed",
"<a>Upgrade</a> to your own domain": "<a>Upgrade</a> to your own domain", "<a>Upgrade</a> to your own domain": "<a>Upgrade</a> to your own domain",
"Profile": "Profile", "Profile": "Profile",
"Display Name": "Display Name", "Display Name": "Display Name",