element-hq / element-hq/element-web
Presence indicators always show offline in room list despite receiving m.presence events
- Dominant language
- TypeScript
- Stars
- 13.5k
- Forks
- 2.8k
- PR merge metrics
- PR metrics pending
Description
## Environment
- Element Web version: 1.12.21
- Synapse version: 1.155.0
- Browser: Chrome 149 on macOS
- Server: Debian 13, Raspberry Pi 5
## Steps to reproduce
1. Log in as user A on Element Web
2. User B is online on Element X iOS with "Share presence" enabled
3. Users share a joined room
4. Observe user B presence indicator in user A room list
## Expected
Green "online" circle next to user B
## Actual
Always shows "Offline" (empty gray circle) for ALL other users
## Evidence
1. Direct presence API works: GET /presence/@userB/status returns {"presence":"online","currently_active":true}
2. Presence events ARE delivered via /sync: incremental sync with since=token correctly returns m.presence events for other users
3. User A own presence indicator works correctly in the same UI
4. Sign out + clear site data + fresh login does NOT fix it
5. The same accounts work correctly in Element Desktop and Element X iOS
The presence data arrives in /sync but the room list rendering does not update the indicator. Related to #32632.
Contributor guide
Research direction
Start by tracing how incremental /sync m.presence events reach the room list rendering, comparing other users' indicators with the working own-user indicator. Use the reproduction steps and the related #32632 issue as context. Done means the room list shows other users as online when the received presence data reports online.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 62/100