Don't show edit button for hidden edit events (#7226)

This commit is contained in:
Michael Telatynski 2021-12-01 10:52:15 +00:00 committed by GitHub
parent 82c125c170
commit 5ba2d16ee1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,13 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MatrixEvent, EventStatus } from 'matrix-js-sdk/src/models/event';
import { EventStatus, MatrixEvent } from 'matrix-js-sdk/src/models/event';
import { MatrixClientPeg } from '../MatrixClientPeg';
import shouldHideEvent from "../shouldHideEvent";
import { getHandlerTile, haveTileForEvent } from "../components/views/rooms/EventTile";
import SettingsStore from "../settings/SettingsStore";
import { EventType } from "matrix-js-sdk/src/@types/event";
import { EventType, MsgType, RelationType } from "matrix-js-sdk/src/@types/event";
import { MatrixClient } from 'matrix-js-sdk/src/client';
import { Thread } from 'matrix-js-sdk/src/models/thread';
import { logger } from 'matrix-js-sdk/src/logger';
@ -55,14 +55,17 @@ export function isContentActionable(mxEvent: MatrixEvent): boolean {
}
export function canEditContent(mxEvent: MatrixEvent): boolean {
if (mxEvent.status === EventStatus.CANCELLED || mxEvent.getType() !== "m.room.message" || mxEvent.isRedacted()) {
if (mxEvent.status === EventStatus.CANCELLED ||
mxEvent.getType() !== EventType.RoomMessage ||
mxEvent.isRedacted() ||
mxEvent.isRelation(RelationType.Replace) ||
mxEvent.getSender() !== MatrixClientPeg.get().getUserId()
) {
return false;
}
const content = mxEvent.getOriginalContent();
const { msgtype } = content;
return (msgtype === "m.text" || msgtype === "m.emote") &&
content.body && typeof content.body === 'string' &&
mxEvent.getSender() === MatrixClientPeg.get().getUserId();
const { msgtype, body } = mxEvent.getOriginalContent();
return (msgtype === MsgType.Text || msgtype === MsgType.Emote) && body && typeof body === 'string';
}
export function canEditOwnEvent(mxEvent: MatrixEvent): boolean {