[feature] fix the previous line's typo

I guess it’s not a straightforward thingy to make work or it’d be ehre already but any chance we could have the last-second-save for those super annoying typos you only notice when you hit enter?

This is one of those things where I feel like it could be a very useful feature, but I also think there are some user-experience challenges.

(There may also be technical challenges! But, I can’t speak to those as much.)

Editing the past can be used for trolling. If it’s not very clear that the message was edited, and how, someone could send an abusive message and then edit it to hide what they’ve done, or use it to stir the pot by posting something inflammatory and then editing to pretend they didn’t.

I think it’s important to show how the message was edited, not just that it was, because otherwise someone who’s trolling can easily claim they just fixed a typo. Needing to maintain a revision would likely make this feature notably harder on the back-end, but user trust and comfort is important.

There’s also an accessibility concern. Editing messages can cause problems with screen readers, because they disrupt the flow of communication. I’m not an expert on the concern here, but I am aware it’s an issue, so I’m bringing it up!

Any form of editing also raises the question of notifications. Does an edit to a message make the tab show as having something new?

I absolutely understand the desire to fix those annoying typos. I’ve glared at my own quite often! XD So, I hope there’s a good solution.

I think one way to address most of your concenrs is to limit the editing to the very last lime and only allow to edit it for a short duration. The way I see it being useful it to fix that ‘cock tower’ moments (goodness, I might need to replace the L key on the keyboard) and for people to quickly fix the wrong prefix (e.g. confusing the > with :).

1 Like

I agree that limiting the edits to the most recent line would help limit the scope of this feature.

I think that limiting the duration is less helpful, because any duration short enough to be useful in limiting the potential for abuse may also be too short for the intended use. Someone who’s trolling only needs to have one person notice their comment, and can be waiting with hands on keys to edit as soon as something happens; someone who’s fixing a genuine error may have tabbed away from the window and only noticed their mistake when they checked back to see if they got any responses yet.

From a mod perspective, the trolling thing Kai brought up is very important. It also feeds into the log immutability feature we got recently where logs are verifiable. I suppose we could get both the original and the edit, but…

I feel like it would definitely be a tough balancing act from a technical perspective to allow typo fixing and keep things functional for moderators and overall platform safety.

That being said, one idea to bounce of the heads of the more technically-minded participants would be that from a database perspective (and thus a log verification perspective) the correction is a separate entry. Meaning that if a message was sent like this:

Message: Xetem says, "is going to the store." Metadata: ID: 1234 Checksum: 69ff69

Then instead of altering that message in the database, have the correction send something like this

Correction: On ID: 1234 Message: Xetem is going to the store. Metadata: ID: 5678 Checksum: ab12cf

Then on the UI, anyone who received that payload would receive the correction if they had the original message in their log, ignoring it if they didn’t, and not caring about someone who received the first message but not the second. Obviously I’m paraphrasing the technical bits, but the point stands. This way the correction is something handled completely by the client, and logs (especially for moderators) remain untampered, only providing a visual change.

Can you tell I’ve thought of this idea before… I have lots of technical shower thoughts… the curse of being a software engineer that doesn’t actually get to program anything at work…

1 Like

Searching for other posts related to editing text, this one seems to be a long while ago. But worth a revive to say this would be a nice feature to have. I understand the trolling realistically. I’m sure from a mod perspective this potentiality could be there, but I would be reason to believe changing the last message sounds like it would strike an okay balance. To me though I think of instead potentially just having the post be edit-able under a timer til lock? After the send you get X amount of minutes before the post is finalized and locked from editing. That way fast typers still can go back through to make adjustments if they then see a grammatical or spelling error. As long as the timer is still ticking, freely edit till it finalizes. Without context of what trolling has been done before to posts though I can’t really say if this is a better idea or not. I guess I’m honestly a bit surprised too that the userbase on a site that’s looking for roleplay would then use it as a means for then later trolling, that seems like it would just then be wholey out out of character to the general userbase and what this site is for… Trolls will be trolls already and just someone looking to cause problems to begin with in my opinion, so why make the rest of the userbase unable to have a neat feature because of a very very small minority of bad actors? You mentioned already you have messages being verifiable, so having maybe some way to also log edits that’s reasonable and doesn’t also eat up space if someone edits something 13 times can then cut down on how big of a filesize that verification could be then. I’m no programmer, but I’d imagine there would be some savy way to assist with that.

First off: I am pro-allowing to fix typos post-sending the message.

But yes. It needs to be moderatable - meaning a moderator needs to be able to see all versions of a message.

This is how it would be solved.

But we have one obstacle; Who should get the correction?

The answer should obviously be; “Anyone who received the initial message.”
The issue is, the core server (which sends the messages) doesn’t track that. It just sends the event and then forgets.

Of course, we have the log service that stores messages up to 24 hours for resynchronization reasons. This server is the only one that holds this info. So maybe I should be able to extend that one to also handle corrections.

As for moderation. When a report is made with logs; all events (including separate correction events) would be part of the report, allowing the moderator to see the history.

Depending on how long the time to edit needs to be, this could be solved with also a more simple solution of an unsend buffer in the client. Ie. when the buffer is enabled, you get something like 6-30 seconds (configurable?) of buffer to read your pose in the log before it’s actually sent to the server.

During this time, recalling the message from the console history would cancel the send.

This has some other issues with it of course, such as potentially changing the perceived order of events to the author after the message is actually sent, but those are fairly cosmetic compared to really changing history.

I think it’s enough to send the corrections in the same room, and if the other characters have received the previous message they will show it as corrected. It solves the most crucial case of correcting the typos of people you actually interact with.