The whisper help is misleading

It says whisper [<Character>] =[>][:] <Message> but the character part doesn’t seem to be optional (anymore?)

It still seems to work for me when I omit the character!

I wonder if the issue is when there isn’t a ‘target’ available, either because it’s the first time whisper is being used on that character/account/session, or the previous target has left the room/disconnected?

Correct analysis :slight_smile:

The client remembers who was the target of last whisper, but only stores it in memory.
Reloading the client will clear the last whispered character, making the <Character> mandatory.

We should probably store last whispered character in localStorage so that is survives reloads.

Storing the target between sessions is how whisper works in other MUCKS I have seen. However, I have oftentimes forgotten I haven’t whispered to somebody new after logging back in and ended up whispering to somebody else when I thought I was replying to the most recent whisper. This is especially bad when functions such as message is involved, as it more likely my last message target would be online somewhere. Personally, I would prefer for it to stay as it is where the last whisper target (and especially message target) gets cleared on reload.

1 Like

Thinking about the scenario Vern is describing, here’s a pair of behaviors that I think would handle “principle of least surprise” pretty well:

  • When you omit the character name and there is no stored name to use, the error message should note that you haven’t whispered to anyone recently, and it needs you to specify who to send to.
  • The stored name should persist across reloads, but should also be associated with a time-stamp. After some period of time without a whisper (perhaps 2 hours? There’s some user-testing needed here.), the stored name is invalidated and it’s treated the same as if you hadn’t put a name in.

This is intended to optimize for even slow back-and-forth with someone, while minimizing the chance that you message someone you last talked to during an entirely different session.

This sounds like a good compromise to me, I’d be happy with that.