discord-api-docs
discord-api-docs copied to clipboard
[UI]: If there are unloaded messages between the button and the latest message, clicking a button hides the ephemeral message.
Description
In the following ocassion:
<message with button>
---
---
---
<latest message>
Where ---
are X amount of unloaded messages, clicking a button will not show the ephemeral message.
Steps to Reproduce
- Create a message with a button.
- Grab yourself 20 trolls, tell them "ping everyone." Granting them the "Ping Everyone" permission will lead to a greater effect, at the cost of a minor loss of reputation and server members.
- Wait 20 seconds
- Kick the trolls, reload your client
- Go to the message with the button without loading the messages between. I did this through a message reply.
- Click the button, try to scroll down, notice the lack of the ephemeral message due to the messages loading.
Expected Behavior
When pressing the button, expected behavior is to scroll down automatically and show the ephemeral message.
Current Behavior
When pressing the button, the current behavior scrolls down and does not show the ephemeral message.
Screenshots/Videos
The following shows me using the "Mark As Read" tab, then pressing the escape key, then clicking the "Mark As Read" text, then manually scrolling down using both the scroll bar and the mouse wheel to load the text. I apologize if there's anything NSFW in the video, though it should be safe.
https://user-images.githubusercontent.com/46751150/159144975-b4b01d27-c740-4876-9306-837a30c9b9f9.mp4
Additionally, clicking the button from the Android Beta client shows the ephemeral message on desktop, however hides the ephemeral message on Android due to the same unloaded messages bug.
Client and System Information
Bug found on:
Stable 119899 (043a97e) Host 0.0.17 Linux 64-Bit (5.15.28_1)
Bug tested on Discord Stable without build override:
Stable 119880 (2e39d24) Host 0.0.17 Linux 64-Bit (5.15.28_1)
Android Client:
App Information - 119.7 - BETA (119107)
If the Android Client information is incorrect, please give me directions to provide the correct information.
This is especially frustrating for Message Commands when trying to send an ephemeral reply. If the message you trigger the Message Command on is far enough back in the scroll history as described in this issue, the same problem occurs.
My workaround for now is to send a non-ephemeral response with a button that when pressed deletes the non-ephemeral message and then kicks off the ephemeral message and the rest of the interaction flow.
I wholeheartedly share the frustration regarding this year-old bug. The situation it creates is particularly challenging for my workflow, which involves a two-step process for managing fanwork in a dedicated channel. Users can post their fanwork, and it's initially pinned by other users using a context command. The subsequent step requires a moderator to review the pinned content, unpin it, and then move it to a gallery channel. This involves utilizing an ephemeral UI element to allow the moderator to set additional details for the embed.
However, due to this bug, the current workaround is far from ideal. Moderators are forced to either manually scroll through the entire channel and hope the message isn't to far up to trigger the "You're viewing older messages" notification or resort to opening a second Discord client to access the ephemeral UI elements. This significantly disrupts the intended workflow and efficiency of the process. It would be greatly appreciated if this bug could be addressed and resolved to enhance the possibilites of ephemeral messages and commands that utlize them.
Have been experiencing this myself. A quick fix for me, in an app that only needs to show information to the user, is to open a popup modal with the information in the value
fields for the text inputs.
IMO it'd be very useful if the ephemeral message either showed up directly below the original message, or if the ephemeral message showed up via a popup (like in the 'delete message' modal).