From 4cb58e0edf3a5b438acf287497458961d50b1e9f Mon Sep 17 00:00:00 2001 From: Dan Dryaev <48590492+ShadiestGoat@users.noreply.github.com> Date: Fri, 7 Oct 2022 04:54:09 +0000 Subject: [PATCH] fix(ui): check permissions in action list (#239) --- ui/actions_view.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ui/actions_view.go b/ui/actions_view.go index 894aa93..3584947 100644 --- a/ui/actions_view.go +++ b/ui/actions_view.go @@ -34,8 +34,10 @@ func newActionsView(c *Core, m *discord.Message) *ActionsView { c.App.SetFocus(c.MessagesView) }) + isDM := channelIsInDMCategory(c.ChannelsView.selectedChannel) + // If the client user has the `SEND_MESSAGES` permission, add "Reply" and "Mention Reply" actions. - if channelIsInDMCategory(c.ChannelsView.selectedChannel) || hasPermission(c.State, c.ChannelsView.selectedChannel.ID, discord.PermissionSendMessages) { + if isDM || !isDM && hasPermission(c.State, c.ChannelsView.selectedChannel.ID, discord.PermissionSendMessages) { v.AddItem("Reply", "", 'r', v.replyAction) v.AddItem("Mention Reply", "", 'R', v.mentionReplyAction) } @@ -64,8 +66,10 @@ func newActionsView(c *Core, m *discord.Message) *ActionsView { v.AddItem("Download Attachment", "", 'd', v.downloadAttachmentAction) } + me, _ := c.State.MeStore.Me() + // If the client user has the `MANAGE_MESSAGES` permission, add a new action to delete the message. - if channelIsInDMCategory(c.ChannelsView.selectedChannel) || hasPermission(c.State, c.ChannelsView.selectedChannel.ID, discord.PermissionManageMessages) { + if (isDM && m.Author.ID == me.ID) || (!isDM && hasPermission(c.State, c.ChannelsView.selectedChannel.ID, discord.PermissionManageMessages)) { v.AddItem("Delete", "", 'd', v.deleteAction) }