Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Don't warn about the effects of redacting state events when redacting non-state-events #11071

Merged
merged 1 commit into from
Jun 14, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ limitations under the License.
*/

import React from "react";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";

import { _t } from "../../../languageHandler";
import ConfirmRedactDialog from "./ConfirmRedactDialog";
Expand All @@ -23,6 +24,7 @@ import BaseDialog from "./BaseDialog";
import Spinner from "../elements/Spinner";

interface IProps {
event: MatrixEvent;
redact: () => Promise<void>;
onFinished: (success?: boolean) => void;
}
Expand Down Expand Up @@ -91,7 +93,7 @@ export default class ConfirmAndWaitRedactDialog extends React.PureComponent<IPro
);
}
} else {
return <ConfirmRedactDialog onFinished={this.onParentFinished} />;
return <ConfirmRedactDialog event={this.props.event} onFinished={this.onParentFinished} />;
}
}
}
12 changes: 8 additions & 4 deletions src/components/views/dialogs/ConfirmRedactDialog.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import ErrorDialog from "./ErrorDialog";
import TextInputDialog from "./TextInputDialog";

interface IProps {
event: MatrixEvent;
onFinished(success?: false, reason?: void): void;
onFinished(success: true, reason?: string): void;
}
Expand All @@ -35,14 +36,16 @@ interface IProps {
*/
export default class ConfirmRedactDialog extends React.Component<IProps> {
public render(): React.ReactNode {
let description = _t("Are you sure you wish to remove (delete) this event?");
if (this.props.event.isState()) {
description += " " + _t("Note that removing room changes like this could undo the change.");
}

return (
<TextInputDialog
onFinished={this.props.onFinished}
title={_t("Confirm Removal")}
description={_t(
"Are you sure you wish to remove (delete) this event? " +
"Note that if you delete a room name or topic change, it could undo the change.",
)}
description={description}
placeholder={_t("Reason (optional)")}
focus
button={_t("Remove")}
Expand All @@ -68,6 +71,7 @@ export function createRedactEventDialog({
Modal.createDialog(
ConfirmRedactDialog,
{
event: mxEvent,
onFinished: async (proceed, reason): Promise<void> => {
if (!proceed) return;

Expand Down
1 change: 1 addition & 0 deletions src/components/views/messages/EditHistoryMessage.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ export default class EditHistoryMessage extends React.PureComponent<IProps, ISta
Modal.createDialog(
ConfirmAndWaitRedactDialog,
{
event,
redact: async () => {
await cli.redactEvent(event.getRoomId()!, event.getId()!);
},
Expand Down
3 changes: 2 additions & 1 deletion src/i18n/strings/en_EN.json
Original file line number Diff line number Diff line change
Expand Up @@ -2739,8 +2739,9 @@
"Changelog": "Changelog",
"You cannot delete this message. (%(code)s)": "You cannot delete this message. (%(code)s)",
"Removing…": "Removing…",
"Are you sure you wish to remove (delete) this event?": "Are you sure you wish to remove (delete) this event?",
"Note that removing room changes like this could undo the change.": "Note that removing room changes like this could undo the change.",
"Confirm Removal": "Confirm Removal",
"Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.": "Are you sure you wish to remove (delete) this event? Note that if you delete a room name or topic change, it could undo the change.",
"Reason (optional)": "Reason (optional)",
"Clear all data in this session?": "Clear all data in this session?",
"Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.": "Clearing all data from this session is permanent. Encrypted messages will be lost unless their keys have been backed up.",
Expand Down