Feature Request: Indicate that a person is currently typing in webclient #1529
Labels
feature-request
A suggestion for new functionality.
Hacktoberfest
Help out in October and win prizes! https://hacktoberfest.digitalocean.com/
help wanted
We specifically want more help on this one.
web
This issue is website or webclient related.
Brief summary of issue / Description of requested feature:
When a person is typing in the webclient, other accounts/characters in the webclient should get a little indicator that they are typing, even before they actually send the text. Who sees the typing-info should be possible to customize - for example one may specify that only Characters in the same room may see that the player of a given Character is currently typing. For more chat-like setups one could even have all server-wide typing be notified.
Reasons for adding feature:
This was originally suggested by user Apos here. This might be a very interesting feature for RP-heavy environments as well as chat-like implementations since it immediately gives an indication as to if poses and communication is forthcoming.
This is also an example of a feature that's not possible to make (reliably) available on telnet clients but which we can reliably implement on the webclient since we control both sides. It would be tricky (but possible) to implement with a traditional telnet client with UI expansion abilities like mudlet.
Expected result of feature
The suggested UI would be a overlay in a corner of the webclient. This would be a vertical list of
<name or colored circle> typing ...
or similar. You can hover over each line to get the full name of who's typing. These pop up and go away as people are actively typing or send their messages.Extra information, such as Evennia revision/repo/branch, operating system and ideas for how to solve / implement:
This should be implemented by OOB messages.
is_typing(True)
OOB message to Evennia.is_typing(False)
OOB message.is_typing
inputfunc, Evennia collates these messages from all players in the game. It stores all currently typing entities and remove those who it is told are now not typing. It figures out who should see the information from each player (this should be configurable, such as those in the same room, by a lock etc). No persistent storage should be needed for this.is_typing
outputfunc. This will be something liketarget.msg(is_typing=("Griatch", "The tall man", "Anna"))
.is_typing
OOB message from Evennia and use this information to build/update its display.Caveats:
This would only work between webclient-using players. Interestingly, this OOB info could in principle be used to update the prompt of a telnet client too, but it's unlikely most (any?) telnet clients could be set up to send equivalent info based on the user typing or not. Worth investigating maybe.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
The text was updated successfully, but these errors were encountered: