matrix-org / matrix-org/matrix-spec
set_presence wording is unclear
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Link to problem area:
- https://spec.matrix.org/v1.7/client-server-api/#get_matrixclientv3sync Request parameters
- https://spec.matrix.org/v1.7/client-server-api/#presence
Issue
From the second link:
This makes it sound like presence is a three-valued enum.
From the first link:
This describes three query parameter key-values pairs: set_presence=online, set_presence=offline, and set_presence=unavilable. The wording for offline is particularly confusing:
Otherwise if the parameter is set to "offline" then the client is not marked as being online when it uses this API.
This sounds like set_presence=offline is effectively a no-op that doesn't alter the current present state of the user.
It is hard to reconcile these two views. I see two possibilities:
set_presence=offlinereally does set your presence state tooffline. If this is true,- the query parameter name makes sense,
- the description of
set_presenceis confusing, and - there is no way to call /sync without affecting your current presence state. (I want such a way for https://github.com/matrix-org/sliding-sync/issues/217.)
set_presence=offlineis a no-op on your presence state. If this is true,- the query parameter name is misleading here,
- the description of
set_presenceis slightly confusing, and - there is no way to set your presence state to
offlineusing /sync.
Both options seem confusing and inconsistent.
I would like to understand which of these is true and update the spec to make this clearer.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with content/client-server-api/modules/presence.md lines 17-25 and data/api/client-server/sync.yaml lines 91-105, then compare the cited Matrix client-server API sections. Resolve the intended semantics of set_presence=offline and update both descriptions so they state the behavior consistently. Done means the enum wording, parameter documentation, and offline behavior no longer conflict.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100