matrix-org / matrix-org/matrix-spec
Clarify differences between `/devices` and `/keys/query`
Open
Beginner friendly
Nobody has claimed this yet.
clarification
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Both POST /keys/query and GET /devices return a list of devices, so it's not entirely clear what the differences are.
The primary differences are:
/keys/queryreturns only those devices which have uploaded encryption keys, whereas/devicesreturns all devices. This in particular is slightly subtle and the spec makes no reference to it./devicescannot be used to query the device list of another user (it is strictly for the use of the local user to populate a "where am I logged in?" dialogue) whereas/keys/querycan be used to get device information for other users
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 by comparing the linked POST /keys/query and GET /devices sections in the Matrix client-server specification. Clarify that /keys/query returns only devices with uploaded encryption keys and can query other users, while /devices returns all devices for the local user. Done when these distinctions are explicit in the specification.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, documentation
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100