Merge branch 'markjh/room_tags' into markjh/client_config

Conflicts:
	api/client-server/v1/rooms.yaml
	api/client-server/v1/sync.yaml
	api/client-server/v2_alpha/sync.yaml
	specification/targets.yaml
pull/977/head
Mark Haines 9 years ago
commit 24c4b8b095

@ -312,9 +312,9 @@ paths:
}
],
"visibility": "private",
"private_user_data": [{
"account_data": [{
"type": "m.tag",
"content": {"tags": {"work": {"order": 1}}}
"content": {"tags": {"work": {"order": "1"}}}
}]
}
schema:
@ -375,7 +375,7 @@ paths:
description: |-
Whether this room is visible to the ``/publicRooms`` API
or not."
private_user_data:
account_data:
type: array
description: |-
The private data that this user has attached to this room.

@ -254,7 +254,7 @@ paths:
}
],
"visibility": "private",
"private_user_data": [
"account_data": [
{
"type": "m.tag",
"content": {"tags": {"work": {"order": 1}}}
@ -352,7 +352,7 @@ paths:
description: |-
Whether this room is visible to the ``/publicRooms`` API
or not."
private_user_data:
account_data:
type: array
description: |-
The private data that this user has attached to

@ -139,7 +139,7 @@ paths:
e.g. typing.
allOf:
- $ref: "definitions/event_batch.json"
private_user_data:
account_data:
title: Private User Data
type: object
description: |-
@ -297,7 +297,7 @@ paths:
}
]
},
"private_user_data": {
"account_data": {
"events": [
{
"type": "m.tags",

@ -55,7 +55,7 @@ paths:
application/json: |-
{
"tags": {
"work": {"order": 1},
"work": {"order": "1"},
"pinned": {}
}
}
@ -97,7 +97,7 @@ paths:
schema:
type: object
example: |-
{"order": 1}
{"order": "1"}
responses:
200:
description:

@ -11,16 +11,35 @@ Events
------
The tags on a room are received as single ``m.tag`` event in the
``private_user_data`` section of a room in a v2 /sync.
``account_data`` section of a room in a v2 /sync.
The ``m.tag`` can also be received in a v1 /events response or in the
``private_user_data`` section of a room in v1 /initialSync. ``m.tag``
``account_data`` section of a room in v1 /initialSync. ``m.tag``
events appearing in v1 /events will have a ``room_id`` with the room
the tags are for.
Each tag has an associated JSON object with information about the tag, e.g how
to order the rooms with a given tag.
Ordering information is given under the ``order`` key as a string. The string
are compared lexicographically by unicode codepoint to determine which should
displayed first. So a room with a tag with an ``order`` key of ``"apples"``
would appear before a room with a tag with an ``order`` key of ``"oranges"``.
If a room has a tag without an ``order`` key then it should appear after the
rooms with that tag that have an ``order`` key.
The name of a tag MUST not exceed 255 bytes.
The name of a tag should be human readable. When displaying tags for a room a
client should display this human readable name. When adding a tag for a room
a client may offer a list to choose from that includes all the tags that the
user has previously set on any of their rooms.
Two special names are listed in the specification:
* ``m.favourite``
* ``m.lowpriority``
{{m_tag_event}}
Client Behaviour

Loading…
Cancel
Save