matrix-org / matrix-org/matrix-spec

Per-room Activity Times (SPEC-92)

Open
#60 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-Client-Server feature
Dominant language
HTML
Stars
330
Forks
150
Avg merge
2h 21m
Merged PRs (30d)
3

Description

As part of killing the bad idea that is the global "last_active_age" timer, we need a way for servers to send the activity age of each member of the room, to new clients that join/initialSync the room.

This is only needed on initialSync because thereafter, m.room.message or m.room.member(JOIN) events will bump the timer, so clients can track that number themselves with no extra message overhead.

What is needed then, is that the server store the timestamp of the most recent message (or JOIN membership event) for every member of every room. It then sends this as part of the initialSync data about that room.

(Imported from https://matrix.org/jira/browse/SPEC-92)

(Reported by @leonerd)

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 reviewing the Matrix initialSync room data described in the issue and the existing global "last_active_age" timer. Trace how room messages and JOIN membership events affect activity state. Done means defining how per-member timestamps are stored and included for new clients during initialSync, without adding later message overhead.

Written by the indexing model from the issue text.

Assessment

Domain
api, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.