nextcloud / nextcloud/spreed

Add start delay for typing indicator

Open
#9,718 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement feature: chat 💬 feature: frontend 🖌️
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are interested into the same feature.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Is your feature request related to a problem? Please describe.

When a message is written and sent very quickly, another user hides the typing indicator later than the message is received. Moreover, sometimes the indicator appears later than the typed message was received.

The result is:

  1. You have a message from Alice!
  2. Hey, Alice is typing to you (already received message message)
  3. Alice's stopped typing

Fast typing

Describe the solution you'd like

Add a delay before starting the typing indicator. For example, for 5 or 10 seconds.

With slow messaging:

  1. User is typing
  2. Wait for 5 sec
  3. Send startTyping and launch the interval
  4. User has sent the message
  5. Send stopTyping

With fast messaging:

  1. User is typing
  2. Wait for 5 sec
  3. User has sent the message
  4. Nothing happened

Describe alternatives you've considered

An alternative solution is to make the same on the receiver side.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the JavaScript typing-indicator flow around the startTyping and stopTyping events described in the issue. Verify how the current interval is launched and cancelled, then confirm that fast messages send neither event while slower typing starts the indicator only after the delay and stops it after sending.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.