Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edit last message #4756

Open
vxzero opened this issue Jun 25, 2023 · 6 comments
Open

Edit last message #4756

vxzero opened this issue Jun 25, 2023 · 6 comments
Labels
Type: Feature Tickets that describe a desired feature or PRs that add them to the project.

Comments

@vxzero
Copy link

vxzero commented Jun 25, 2023

Feature Description

The biggest complaint from my users is that there is no way to edit the last message like many other chat systems do. For example discord and slack.

I propose being able to hit the UP arrow button on the keyboard, The Lounge filling the last message into the input box, allowing the person to edit it, and then it posts the message again except it's prepended by a word like "EDIT:" or a set of characters that would instruct any other instances of The Lounge to replace that individual's last message with the edited one.

I know that people connected via any other IRC client would not see this functionality and would receive a second message, but let's face it, everyone on my system is using The Lounge anyway. IRC is more of a back-end for The Lounge at this point.

@vxzero vxzero added the Type: Feature Tickets that describe a desired feature or PRs that add them to the project. label Jun 25, 2023
@termermc
Copy link

The issue with replacing the message clientside is that it will lead users to thinking that their original message will be gone for others. If you edited a message because you messed something up and don't want people seeing the original (or if you pasted something that you didn't mean to paste), you're probably not going to want to be ignorant of the fact that your original message is still there.

@vxzero
Copy link
Author

vxzero commented Jun 25, 2023

I can see that being a problem for some. In my case however, my users are frustrated that they cannot correct typos.

Since they wouldn't be able to delete the data anyway if they had used another IRC client, maybe a message stating that the edit is only cosmetic could be added as well?

To put this into perspective, my users have asked me to switch away from IRC/The Lounge to anything else that supports the ability to correct typos. I feel that this combo is very lightweight and highly functional and would like to keep running it.

@dgw
Copy link
Contributor

dgw commented Jun 25, 2023

Sometime in the future, protocol extension(s) might allow for message editing (see ircv3/ircv3-specifications#425), but right now, TL allowing messages to be "edited" after sending would require that its UI deceive the user (the change wouldn't appear for anyone else in the channel, and the original typo or other mistake would still be visible to other clients even if TL adopted the "EDIT:" convention you suggested).

A client-specific control standard such as you suggest ("that would instruct any other instances of The Lounge"; emphasis added) runs afoul of one of IRC's primary strengths: interoperability. It's already frustrating that services like IRCCloud mislead users of their clients into thinking that things like Markdown formatting are part of IRC, when they are not. While I'm not a maintainer here, I wouldn't like to see The Lounge add proprietary features or behavior like that.

If your users want to use something that supports the ability to correct typos, then what they want is, in fact, something like Discord or Slack, as you said. The IRC protocol simply can't provide that particular feature at this time.

@vxzero
Copy link
Author

vxzero commented Jun 25, 2023

It's good to know that IRC may support this in the future, and I respect the interoperability of IRC in general.

However, I don't believe this sort feature is unprecedented. TL already supports many client-only features such as "Push notifications, link previews, file uploads, and more bring IRC to the 21st century" as stated on the main project webpage - none of which are part of the IRC protocol and may not be supported by other clients.

I respectfully ask that this feature be considered. I will not defend it any further as I don't wish to turn this into an argument.

@dgw
Copy link
Contributor

dgw commented Jun 25, 2023

TL already supports many client-only features such as "Push notifications, link previews, file uploads, and more […]"

Push notifications don't affect the chat view. Link previews can be toggled on and off at will in a user's TL preferences; this is similar to Discord and Slack, where one likewise can't be sure who else in the chat has disabled their embeds. File uploads show quite clearly what is actually happening: a link to the file is inserted, and it appears the same to the TL user who sent it as it does to all other clients, modulo link previews.

The difference with a TL-only edit function is that letting the user think their message has been updated for all other users in the channel (not only other TL users) would be misleading. But likewise, this will be my last comment here until a project member has a chance to weigh in. They will surely either explain the reasoning better than I can, or contradict @termermc and me with why this is actually a great idea (and I'd be interested to read that opinion).

@brunnre8
Copy link
Member

I'm in favor of using standardized protocols.

That TL has some convenience features like previews is fine, that's not making the experience worse for other clients.

However such a home grown edit feature would. Look at the matrix bridge how well that works in practice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Feature Tickets that describe a desired feature or PRs that add them to the project.
Projects
None yet
Development

No branches or pull requests

4 participants