# Copyright 2018 New Vector Ltd
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

type: object
title: m.typing
description: A typing notification EDU for a user in a room.
allOf:
  - $ref: ../edu.yaml
  - type: object
    properties:
      edu_type:
        type: enum
        enum: ['m.typing']
        description: The string ``m.typing``
        example: "m.typing"
      content:
        type: object
        description: The typing notification.
        title: Typing Notification
        properties:
          room_id:
            type: string
            description: |-
              The room where the user's typing status has been updated.
            example: "!somewhere:matrix.org"
          user_id:
            type: string
            description: |-
              The user ID that has had their typing status changed.
            example: "@john:matrix.org"
          typing:
            type: boolean
            description: Whether the user is typing in the room or not.
            example: true
        required: ['room_id', 'user_id', 'typing']