element-hq / element-hq/element-meta
Add presence status indicators (online/unavailable/offline) to Element X to match Element Classic/Web
- Dominant language
- No language data
- Stars
- 112
- Forks
- 25
- Avg merge
- 6h 6m
- Merged PRs (30d)
- 4
Description
**Is your feature request related to a problem? Please describe.**
After element-hq/element-x-ios#5838 was merged, Synapse now correctly reports user presence (online/offline/unavailable) instead of the previously unreliable/inconsistent state. Element Web already displays this presence information visually and correctly, but EXI (probably, also EXA) does not show it the same way, so users can't see accurate online/offline status for their contacts in the client.
**Describe the solution you'd like**
Add a visual presence indicator (e.g. colored dot: green for online, similar to Element Web's implementation) on user avatars in DM lists, room member lists, and 1:1 chat headers in Element X iOS, matching Element Web's current visual treatment of the m.presence state (online/unavailable/offline).
**Describe alternatives you've considered**
N/A - the underlying presence data is now accurate server-side thanks to element-hq/element-x-ios#5838, so a client-side UI change is the main remaining gap; no alternative implementation path considered.
**Additional context**
Related PR: https://github.com/element-hq/element-x-ios/pull/5838
Reference for existing UX: Element Web's presence dot indicators on avatars (green/yellow/gray states).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the linked Element X iOS PR and Element Web's existing presence-dot treatment. Locate the avatar views for DM lists, room member lists, and 1:1 chat headers, then determine how the m.presence states should map to indicators; done means all listed surfaces show matching online, unavailable, and offline states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ios
- Domain
- mobile
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 50/100