Merge branch 'master' into matthew/msc1779
commit
950415c72a
@ -0,0 +1,16 @@
|
||||
steps:
|
||||
- label: ":books: Build spec"
|
||||
command:
|
||||
- python3 -m venv env
|
||||
- env/bin/pip install -r scripts/requirements.txt
|
||||
- ". env/bin/activate; scripts/generate-matrix-org-assets"
|
||||
artifact_paths:
|
||||
- assets.tar.gz
|
||||
plugins:
|
||||
- docker#v3.0.1:
|
||||
image: "python:3.6"
|
||||
|
||||
- label: "rebuild matrix.org"
|
||||
trigger: "matrix-dot-org"
|
||||
async: true
|
||||
branches: "master"
|
@ -0,0 +1,41 @@
|
||||
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
#
|
||||
# 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: Third Party Signed
|
||||
description: |-
|
||||
A signature of an ``m.third_party_invite`` token to prove that this user
|
||||
owns a third party identity which has been invited to the room.
|
||||
properties:
|
||||
sender:
|
||||
type: string
|
||||
description: The Matrix ID of the user who issued the invite.
|
||||
example: "@alice:example.org"
|
||||
mxid:
|
||||
type: string
|
||||
description: The Matrix ID of the invitee.
|
||||
example: "@bob:example.org"
|
||||
token:
|
||||
type: string
|
||||
description: The state key of the m.third_party_invite event.
|
||||
example: "random8nonce"
|
||||
signatures:
|
||||
type: object
|
||||
description: A signatures object containing a signature of the entire signed object.
|
||||
title: Signatures
|
||||
example: {
|
||||
"example.org": {
|
||||
"ed25519:0": "some9signature"
|
||||
}
|
||||
}
|
||||
required: ["sender", "mxid", "token", "signatures"]
|
@ -0,0 +1,47 @@
|
||||
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
#
|
||||
# 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: Persistent Data Unit
|
||||
description: A persistent data unit (event) for room version 4 and beyond.
|
||||
example:
|
||||
$ref: "../examples/pdu_v4.json"
|
||||
allOf:
|
||||
- $ref: "pdu_v3.yaml"
|
||||
- type: object
|
||||
properties:
|
||||
redacts:
|
||||
type: string
|
||||
description: For redaction events, the ID of the event being redacted.
|
||||
example: "$def_456-oldevent"
|
||||
auth_events:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Event ID.
|
||||
description: |-
|
||||
Event IDs for the authorization events that would
|
||||
allow this event to be in the room.
|
||||
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
||||
prev_events:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
description: Event ID.
|
||||
description: |-
|
||||
Event IDs for the most recent events in the room
|
||||
that the homeserver was aware of when it made this event.
|
||||
example: ["$URLsafe-base64EncodedHash", "$Another_Event"]
|
||||
required:
|
||||
- auth_events
|
||||
- prev_events
|
@ -0,0 +1,32 @@
|
||||
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
#
|
||||
# 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
|
||||
allOf:
|
||||
- $ref: "transaction.yaml"
|
||||
properties:
|
||||
pdus:
|
||||
type: array
|
||||
description: |-
|
||||
A single PDU. Note that events have a different format depending on the room
|
||||
version - check the `room version specification`_ for precise event formats.
|
||||
items:
|
||||
type: object
|
||||
title: PDU
|
||||
description: |-
|
||||
The `PDUs <#pdus>`_ contained in the transaction. The event format varies depending
|
||||
on the room version - check the `room version specification`_ for precise event formats.
|
||||
properties: []
|
||||
example:
|
||||
$ref: "../examples/minimal_pdu.json"
|
||||
required: ['origin', 'origin_server_ts', 'pdus']
|
@ -0,0 +1,33 @@
|
||||
# Copyright 2019 The Matrix.org Foundation C.I.C.
|
||||
#
|
||||
# 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
|
||||
allOf:
|
||||
- $ref: "transaction.yaml"
|
||||
properties:
|
||||
pdus:
|
||||
type: array
|
||||
description: |-
|
||||
List of persistent updates to rooms. Note that events have a different format
|
||||
depending on the room version - check the `room version specification`_ for
|
||||
precise event formats.
|
||||
items:
|
||||
type: object
|
||||
title: PDU
|
||||
description: |-
|
||||
The `PDUs <#pdus>`_ contained in the transaction. The event format varies depending
|
||||
on the room version - check the `room version specification`_ for precise event formats.
|
||||
properties: []
|
||||
example:
|
||||
$ref: "../examples/minimal_pdu.json"
|
||||
required: ['origin', 'origin_server_ts', 'pdus']
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"$ref": "pdu_v3.json",
|
||||
"auth_events": [
|
||||
"$urlsafe_base64_encoded_eventid",
|
||||
"$a-different-event-id"
|
||||
],
|
||||
"prev_events": [
|
||||
"$urlsafe_base64_encoded_eventid",
|
||||
"$a-different-event-id"
|
||||
],
|
||||
"redacts": "$some-old_event"
|
||||
}
|
@ -0,0 +1 @@
|
||||
Change examples to use example.org instead of a real domain.
|
@ -0,0 +1 @@
|
||||
Add missing definition for how appservices verify requests came from a homeserver.
|
@ -0,0 +1 @@
|
||||
Change examples to use example.org instead of a real domain.
|
@ -0,0 +1 @@
|
||||
Clarify that ``state_default`` in ``m.room.power_levels`` always defaults to 50.
|
@ -1 +1 @@
|
||||
Documented megolm session export format.
|
||||
Add megolm session export format.
|
||||
|
@ -1 +1 @@
|
||||
Add missing status_msg to m.presence schema.
|
||||
Add missing ``status_msg`` to ``m.presence`` schema.
|
||||
|
@ -1 +1 @@
|
||||
Add the missing `m.push_rules` event schema.
|
||||
Add the missing ``m.push_rules`` event schema.
|
||||
|
@ -0,0 +1 @@
|
||||
Clarify how modern day local echo is meant to be solved by clients.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Clarify that ``width`` and ``height`` are required parameters on ``/_matrix/media/r0/thumbnail/{serverName}/{mediaId}``.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Clarify how ``m.login.dummy`` can be used to disambiguate login flows.
|
@ -0,0 +1 @@
|
||||
Remove ``prev_content`` from the redaction algorithm's essential keys list.
|
@ -0,0 +1 @@
|
||||
Add a ``.m.rule.tombstone`` default push rule for room ugprade notifications.
|
@ -0,0 +1 @@
|
||||
Fix the ``third_party_signed`` definitions for the join APIs.
|
@ -0,0 +1 @@
|
||||
Add support for sending server notices to clients.
|
@ -0,0 +1 @@
|
||||
Clarify why User Interactive Auth is used on password changes and how access tokens are handled.
|
@ -0,0 +1 @@
|
||||
Clarify that devices are deleted upon logout.
|
@ -0,0 +1 @@
|
||||
Add ``M_NOT_FOUND`` error definition for deleting room aliases.
|
@ -0,0 +1 @@
|
||||
Add MSISDN (phone number) support to User-Interactive Authentication.
|
@ -0,0 +1 @@
|
||||
Add missing ``reason`` to ``m.call.hangup``.
|
@ -0,0 +1 @@
|
||||
Clarify how redactions affect room state.
|
@ -0,0 +1 @@
|
||||
Clarify that ``FAIL_ERROR`` in autodiscovery is not limited to just homeservers.
|
@ -0,0 +1 @@
|
||||
Fix example ``Content-Type`` for ``/media/upload`` request.
|
@ -0,0 +1 @@
|
||||
Clarify that login flows are meant to be completed in order.
|
@ -0,0 +1 @@
|
||||
Clarify that clients should not send read receipts for their own messages.
|
@ -0,0 +1 @@
|
||||
Add ``id_server`` to ``/deactivate`` and ``/3pid/delete`` endpoints to unbind from a specific identity server.
|
@ -0,0 +1 @@
|
||||
Use consistent examples of events throughout the specification.
|
@ -0,0 +1 @@
|
||||
Clarify which push rule condition kinds exist.
|
@ -0,0 +1 @@
|
||||
Clarify the required fields on ``m.file`` (and similar) messages.
|
@ -0,0 +1 @@
|
||||
Clarify that User-Interactive Authentication stages cannot be attempted more than once.
|
@ -0,0 +1 @@
|
||||
Clarify which parameters apply in what scenarios on ``/register``.
|
@ -0,0 +1 @@
|
||||
Clarify how to interpret changes of ``membership`` over time.
|
@ -0,0 +1 @@
|
||||
Add support for Olm sessions becoming un-stuck.
|
@ -0,0 +1 @@
|
||||
Clarify exactly what invite_room_state consists of.
|
@ -0,0 +1 @@
|
||||
Clarify the order events in chunk are returned in for ``/messages``.
|
@ -0,0 +1 @@
|
||||
Add interactive device verification, including a common framework for device verification.
|
@ -0,0 +1 @@
|
||||
Clarify when authorization and rate-limiting are not applicable.
|
@ -0,0 +1 @@
|
||||
Fix route for ``/3pid/bind``.
|
@ -0,0 +1 @@
|
||||
Add ``/3pid/unbind`` for removing 3PIDs.
|
@ -0,0 +1 @@
|
||||
Add missing aesthetic parameters to ``/store-invite``.
|
@ -0,0 +1 @@
|
||||
Clarify what the client should receive upon sending an identical email validation request multiple times.
|
@ -0,0 +1 @@
|
||||
Clarify that the default transport is JSON over HTTP.
|
@ -0,0 +1 @@
|
||||
Change examples to use example.org instead of a real domain.
|
@ -1 +0,0 @@
|
||||
Fix the `access_token` parameter in the open_id endpoint.
|
@ -0,0 +1 @@
|
||||
Fix the ``access_token`` parameter in the open_id endpoint.
|
@ -0,0 +1 @@
|
||||
Fix various spelling mistakes throughout the specification.
|
@ -0,0 +1 @@
|
||||
Clarify exactly what invite_room_state consists of.
|
@ -0,0 +1 @@
|
||||
Clarify which servers are supposed to sign events.
|
@ -0,0 +1 @@
|
||||
Clarify how many PDUs are contained in transaction objects for various endpoints.
|
@ -0,0 +1,66 @@
|
||||
[
|
||||
{"number": 0, "emoji": "🐶", "description": "Dog", "unicode": "U+1F436"},
|
||||
{"number": 1, "emoji": "🐱", "description": "Cat", "unicode": "U+1F431"},
|
||||
{"number": 2, "emoji": "🦁", "description": "Lion", "unicode": "U+1F981"},
|
||||
{"number": 3, "emoji": "🐎", "description": "Horse", "unicode": "U+1F40E"},
|
||||
{"number": 4, "emoji": "🦄", "description": "Unicorn", "unicode": "U+1F984"},
|
||||
{"number": 5, "emoji": "🐷", "description": "Pig", "unicode": "U+1F437"},
|
||||
{"number": 6, "emoji": "🐘", "description": "Elephant", "unicode": "U+1F418"},
|
||||
{"number": 7, "emoji": "🐰", "description": "Rabbit", "unicode": "U+1F430"},
|
||||
{"number": 8, "emoji": "🐼", "description": "Panda", "unicode": "U+1F43C"},
|
||||
{"number": 9, "emoji": "🐓", "description": "Rooster", "unicode": "U+1F413"},
|
||||
{"number": 10, "emoji": "🐧", "description": "Penguin", "unicode": "U+1F427"},
|
||||
{"number": 11, "emoji": "🐢", "description": "Turtle", "unicode": "U+1F422"},
|
||||
{"number": 12, "emoji": "🐟", "description": "Fish", "unicode": "U+1F41F"},
|
||||
{"number": 13, "emoji": "🐙", "description": "Octopus", "unicode": "U+1F419"},
|
||||
{"number": 14, "emoji": "🦋", "description": "Butterfly", "unicode": "U+1F98B"},
|
||||
{"number": 15, "emoji": "🌷", "description": "Flower", "unicode": "U+1F337"},
|
||||
{"number": 16, "emoji": "🌳", "description": "Tree", "unicode": "U+1F333"},
|
||||
{"number": 17, "emoji": "🌵", "description": "Cactus", "unicode": "U+1F335"},
|
||||
{"number": 18, "emoji": "🍄", "description": "Mushroom", "unicode": "U+1F344"},
|
||||
{"number": 19, "emoji": "🌏", "description": "Globe", "unicode": "U+1F30F"},
|
||||
{"number": 20, "emoji": "🌙", "description": "Moon", "unicode": "U+1F319"},
|
||||
{"number": 21, "emoji": "☁️", "description": "Cloud", "unicode": "U+2601U+FE0F"},
|
||||
{"number": 22, "emoji": "🔥", "description": "Fire", "unicode": "U+1F525"},
|
||||
{"number": 23, "emoji": "🍌", "description": "Banana", "unicode": "U+1F34C"},
|
||||
{"number": 24, "emoji": "🍎", "description": "Apple", "unicode": "U+1F34E"},
|
||||
{"number": 25, "emoji": "🍓", "description": "Strawberry", "unicode": "U+1F353"},
|
||||
{"number": 26, "emoji": "🌽", "description": "Corn", "unicode": "U+1F33D"},
|
||||
{"number": 27, "emoji": "🍕", "description": "Pizza", "unicode": "U+1F355"},
|
||||
{"number": 28, "emoji": "🎂", "description": "Cake", "unicode": "U+1F382"},
|
||||
{"number": 29, "emoji": "❤️", "description": "Heart", "unicode": "U+2764U+FE0F"},
|
||||
{"number": 30, "emoji": "😀", "description": "Smiley", "unicode": "U+1F600"},
|
||||
{"number": 31, "emoji": "🤖", "description": "Robot", "unicode": "U+1F916"},
|
||||
{"number": 32, "emoji": "🎩", "description": "Hat", "unicode": "U+1F3A9"},
|
||||
{"number": 33, "emoji": "👓", "description": "Glasses", "unicode": "U+1F453"},
|
||||
{"number": 34, "emoji": "🔧", "description": "Spanner", "unicode": "U+1F527"},
|
||||
{"number": 35, "emoji": "🎅", "description": "Santa", "unicode": "U+1F385"},
|
||||
{"number": 36, "emoji": "👍", "description": "Thumbs Up", "unicode": "U+1F44D"},
|
||||
{"number": 37, "emoji": "☂️", "description": "Umbrella", "unicode": "U+2602U+FE0F"},
|
||||
{"number": 38, "emoji": "⌛", "description": "Hourglass", "unicode": "U+231B"},
|
||||
{"number": 39, "emoji": "⏰", "description": "Clock", "unicode": "U+23F0"},
|
||||
{"number": 40, "emoji": "🎁", "description": "Gift", "unicode": "U+1F381"},
|
||||
{"number": 41, "emoji": "💡", "description": "Light Bulb", "unicode": "U+1F4A1"},
|
||||
{"number": 42, "emoji": "📕", "description": "Book", "unicode": "U+1F4D5"},
|
||||
{"number": 43, "emoji": "✏️", "description": "Pencil", "unicode": "U+270FU+FE0F"},
|
||||
{"number": 44, "emoji": "📎", "description": "Paperclip", "unicode": "U+1F4CE"},
|
||||
{"number": 45, "emoji": "✂️", "description": "Scissors", "unicode": "U+2702U+FE0F"},
|
||||
{"number": 46, "emoji": "🔒", "description": "Lock", "unicode": "U+1F512"},
|
||||
{"number": 47, "emoji": "🔑", "description": "Key", "unicode": "U+1F511"},
|
||||
{"number": 48, "emoji": "🔨", "description": "Hammer", "unicode": "U+1F528"},
|
||||
{"number": 49, "emoji": "☎️", "description": "Telephone", "unicode": "U+260EU+FE0F"},
|
||||
{"number": 50, "emoji": "🏁", "description": "Flag", "unicode": "U+1F3C1"},
|
||||
{"number": 51, "emoji": "🚂", "description": "Train", "unicode": "U+1F682"},
|
||||
{"number": 52, "emoji": "🚲", "description": "Bicycle", "unicode": "U+1F6B2"},
|
||||
{"number": 53, "emoji": "✈️", "description": "Aeroplane", "unicode": "U+2708U+FE0F"},
|
||||
{"number": 54, "emoji": "🚀", "description": "Rocket", "unicode": "U+1F680"},
|
||||
{"number": 55, "emoji": "🏆", "description": "Trophy", "unicode": "U+1F3C6"},
|
||||
{"number": 56, "emoji": "⚽", "description": "Ball", "unicode": "U+26BD"},
|
||||
{"number": 57, "emoji": "🎸", "description": "Guitar", "unicode": "U+1F3B8"},
|
||||
{"number": 58, "emoji": "🎺", "description": "Trumpet", "unicode": "U+1F3BA"},
|
||||
{"number": 59, "emoji": "🔔", "description": "Bell", "unicode": "U+1F514"},
|
||||
{"number": 60, "emoji": "⚓", "description": "Anchor", "unicode": "U+2693"},
|
||||
{"number": 61, "emoji": "🎧", "description": "Headphones", "unicode": "U+1F3A7"},
|
||||
{"number": 62, "emoji": "📁", "description": "Folder", "unicode": "U+1F4C1"},
|
||||
{"number": 63, "emoji": "📌", "description": "Pin", "unicode": "U+1F4CC"}
|
||||
]
|
@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"type": "m.room.name",
|
||||
"sender": "@bob:example.org",
|
||||
"state_key": "",
|
||||
"content": {
|
||||
"name": "Example Room"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "m.room.join_rules",
|
||||
"sender": "@bob:example.org",
|
||||
"state_key": "",
|
||||
"content": {
|
||||
"join_rule": "invite"
|
||||
}
|
||||
}
|
||||
]
|
@ -0,0 +1,4 @@
|
||||
{
|
||||
"content": {},
|
||||
"type": "m.dummy"
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "m.key.verification.accept",
|
||||
"content": {
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"method": "m.sas.v1",
|
||||
"key_agreement_protocol": "curve25519",
|
||||
"hash": "sha256",
|
||||
"message_authentication_code": "hkdf-hmac-sha256",
|
||||
"short_authentication_string": ["decimal", "emoji"],
|
||||
"commitment": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "m.key.verification.cancel",
|
||||
"content": {
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"code": "m.user",
|
||||
"reason": "User rejected the key verification request"
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"type": "m.key.verification.key",
|
||||
"content": {
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"key": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"
|
||||
}
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
{
|
||||
"type": "m.key.verification.mac",
|
||||
"content": {
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"keys": "2Wptgo4CwmLo/Y8B8qinxApKaCkBG2fjTWB7AbP5Uy+aIbygsSdLOFzvdDjww8zUVKCmI02eP9xtyJxc/cLiBA",
|
||||
"mac": {
|
||||
"ed25519:ABCDEF": "fQpGIW1Snz+pwLZu6sTy2aHy/DYWWTspTJRPyNp0PKkymfIsNffysMl6ObMMFdIJhk6g6pwlIqZ54rxo8SLmAg"
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
{
|
||||
"type": "m.key.verification.request",
|
||||
"content": {
|
||||
"from_device": "AliceDevice2",
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"methods": [
|
||||
"m.sas.v1"
|
||||
],
|
||||
"timestamp": 1559598944869
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"type": "m.key.verification.start",
|
||||
"content": {
|
||||
"from_device": "BobDevice1",
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"method": "m.sas.v1"
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"type": "m.key.verification.start",
|
||||
"content": {
|
||||
"from_device": "BobDevice1",
|
||||
"transaction_id": "S0meUniqueAndOpaqueString",
|
||||
"method": "m.sas.v1",
|
||||
"key_agreement_protocols": ["curve25519"],
|
||||
"hashes": ["sha256"],
|
||||
"message_authentication_codes": ["hkdf-hmac-sha256"],
|
||||
"short_authentication_string": ["decimal", "emoji"]
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue