DanielFGray / DanielFGray/rfchat

Typing indicators in guild channels and threads

Open
#44 0 comments 0 reactions 0 assignees View on GitHub
enhancement p2 task
Dominant language
Elixir
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary
Implement typing indicators in guild channels and threads with Discord-like behavior on web desktop first.

## Scope
- Emit typing-start and typing-stop state from composer interactions.
- Broadcast transient typing state to other viewers in the same channel or thread.
- Render typing indicators in the main channel and thread surfaces.
- Expire stale typing state automatically when clients disconnect or stop updating.

## Acceptance Criteria
- [ ] Users can see when other participants are actively typing in the same channel or thread.
- [ ] Typing state clears automatically when the user sends, stops, disconnects, or times out.
- [ ] Typing indicators do not leak across channels or threads.
- [ ] The feature behaves correctly across reconnects and multiple app processes.

## Operational Notes
- Typing state is ephemeral and should be implemented with infrastructure appropriate for distributed transient data.
- The UI should avoid noisy flicker under rapid typing updates.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the composer interactions, channel and thread surfaces, and the reconnect and multi-process paths described in the issue. Determine where ephemeral typing state can be emitted, broadcast, rendered, and expired without crossing channel or thread boundaries. Done means the acceptance criteria pass, including disconnects, timeouts, reconnects, and multiple app processes.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
distributed-systems, full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.