Merge pull request #3174 from matrix-org/bwindels/edit-history-error
show /relations error in edit history dialog
This commit is contained in:
commit
3f28f2e4a6
3 changed files with 38 additions and 4 deletions
|
@ -28,6 +28,11 @@ limitations under the License.
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx_MessageEditHistoryDialog_error {
|
||||||
|
color: $warning-color;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.mx_MessageEditHistoryDialog_edits {
|
.mx_MessageEditHistoryDialog_edits {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
|
@ -30,6 +30,7 @@ export default class MessageEditHistoryDialog extends React.PureComponent {
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
this.state = {
|
this.state = {
|
||||||
|
error: null,
|
||||||
events: [],
|
events: [],
|
||||||
nextBatch: null,
|
nextBatch: null,
|
||||||
isLoading: true,
|
isLoading: true,
|
||||||
|
@ -45,10 +46,21 @@ export default class MessageEditHistoryDialog extends React.PureComponent {
|
||||||
const opts = {from: this.state.nextBatch};
|
const opts = {from: this.state.nextBatch};
|
||||||
const roomId = this.props.mxEvent.getRoomId();
|
const roomId = this.props.mxEvent.getRoomId();
|
||||||
const eventId = this.props.mxEvent.getId();
|
const eventId = this.props.mxEvent.getId();
|
||||||
const result = await MatrixClientPeg.get().relations(
|
let result;
|
||||||
roomId, eventId, "m.replace", "m.room.message", opts);
|
|
||||||
let resolve;
|
let resolve;
|
||||||
const promise = new Promise(r => resolve = r);
|
let reject;
|
||||||
|
const promise = new Promise((_resolve, _reject) => {resolve = _resolve; reject = _reject;});
|
||||||
|
try {
|
||||||
|
result = await MatrixClientPeg.get().relations(
|
||||||
|
roomId, eventId, "m.replace", "m.room.message", opts);
|
||||||
|
} catch (error) {
|
||||||
|
// log if the server returned an error
|
||||||
|
if (error.errcode) {
|
||||||
|
console.error("fetching /relations failed with error", error);
|
||||||
|
}
|
||||||
|
this.setState({error}, () => reject(error));
|
||||||
|
return promise;
|
||||||
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
events: this.state.events.concat(result.events),
|
events: this.state.events.concat(result.events),
|
||||||
nextBatch: result.nextBatch,
|
nextBatch: result.nextBatch,
|
||||||
|
@ -82,7 +94,23 @@ export default class MessageEditHistoryDialog extends React.PureComponent {
|
||||||
render() {
|
render() {
|
||||||
let content;
|
let content;
|
||||||
if (this.state.error) {
|
if (this.state.error) {
|
||||||
content = this.state.error;
|
const {error} = this.state;
|
||||||
|
if (error.errcode === "M_UNRECOGNIZED") {
|
||||||
|
content = (<p className="mx_MessageEditHistoryDialog_error">
|
||||||
|
{_t("Your homeserver doesn't seem to support this feature.")}
|
||||||
|
</p>);
|
||||||
|
} else if (error.errcode) {
|
||||||
|
// some kind of error from the homeserver
|
||||||
|
content = (<p className="mx_MessageEditHistoryDialog_error">
|
||||||
|
{_t("Something went wrong!")}
|
||||||
|
</p>);
|
||||||
|
} else {
|
||||||
|
content = (<p className="mx_MessageEditHistoryDialog_error">
|
||||||
|
{_t("Cannot reach homeserver")}
|
||||||
|
<br />
|
||||||
|
{_t("Ensure you have a stable internet connection, or get in touch with the server admin")}
|
||||||
|
</p>);
|
||||||
|
}
|
||||||
} else if (this.state.isLoading) {
|
} else if (this.state.isLoading) {
|
||||||
const Spinner = sdk.getComponent("elements.Spinner");
|
const Spinner = sdk.getComponent("elements.Spinner");
|
||||||
content = <Spinner />;
|
content = <Spinner />;
|
||||||
|
|
|
@ -1203,6 +1203,7 @@
|
||||||
"Manually export keys": "Manually export keys",
|
"Manually export keys": "Manually export keys",
|
||||||
"You'll lose access to your encrypted messages": "You'll lose access to your encrypted messages",
|
"You'll lose access to your encrypted messages": "You'll lose access to your encrypted messages",
|
||||||
"Are you sure you want to sign out?": "Are you sure you want to sign out?",
|
"Are you sure you want to sign out?": "Are you sure you want to sign out?",
|
||||||
|
"Your homeserver doesn't seem to support this feature.": "Your homeserver doesn't seem to support this feature.",
|
||||||
"Message edits": "Message edits",
|
"Message edits": "Message edits",
|
||||||
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.",
|
"If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.": "If you run into any bugs or have feedback you'd like to share, please let us know on GitHub.",
|
||||||
"To help avoid duplicate issues, please <existingIssuesLink>view existing issues</existingIssuesLink> first (and add a +1) or <newIssueLink>create a new issue</newIssueLink> if you can't find it.": "To help avoid duplicate issues, please <existingIssuesLink>view existing issues</existingIssuesLink> first (and add a +1) or <newIssueLink>create a new issue</newIssueLink> if you can't find it.",
|
"To help avoid duplicate issues, please <existingIssuesLink>view existing issues</existingIssuesLink> first (and add a +1) or <newIssueLink>create a new issue</newIssueLink> if you can't find it.": "To help avoid duplicate issues, please <existingIssuesLink>view existing issues</existingIssuesLink> first (and add a +1) or <newIssueLink>create a new issue</newIssueLink> if you can't find it.",
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue