commit
f09f9e186a
@ -0,0 +1,157 @@
|
|||||||
|
# proposals.py: generate an RST file (proposals.rst) from queries to github.com/matrix.org/matrix-doc/issues.
|
||||||
|
# v0.0.1
|
||||||
|
|
||||||
|
import requests
|
||||||
|
import re
|
||||||
|
from datetime import datetime
|
||||||
|
from m2r import convert as m2r
|
||||||
|
|
||||||
|
pagecount = 1
|
||||||
|
authors = set()
|
||||||
|
prs = set()
|
||||||
|
|
||||||
|
def getpage(url, page):
|
||||||
|
resp = requests.get(url + str(page))
|
||||||
|
|
||||||
|
for link in resp.links.values():
|
||||||
|
if link['rel'] == 'last':
|
||||||
|
pagecount = re.search('page=(.+?)', link['url']).group(1)
|
||||||
|
|
||||||
|
return resp.json()
|
||||||
|
|
||||||
|
def getbylabel(label):
|
||||||
|
pagecount = 1
|
||||||
|
json = list()
|
||||||
|
urlbase = 'https://api.github.com/repos/matrix-org/matrix-doc/issues?state=open&labels=' + label + '&page='
|
||||||
|
print(urlbase)
|
||||||
|
json.extend(getpage(urlbase, 1))
|
||||||
|
for page in range(2, int(pagecount) + 1):
|
||||||
|
getpage(urlbase, page)
|
||||||
|
|
||||||
|
return json
|
||||||
|
|
||||||
|
# new status labels:
|
||||||
|
labels = ['proposal-wip', 'proposal-ready-for-review',
|
||||||
|
'proposal-in-review', 'proposal-passed-review', 'spec-pr-missing',
|
||||||
|
'spec-pr-ready-for-review', 'spec-pr-in-review', 'merged', 'abandoned', 'rejected', 'blocked', 'obsolete' ]
|
||||||
|
#labels = ['p1', 'p2', 'p3', 'p4', 'p5']
|
||||||
|
issues = {}
|
||||||
|
|
||||||
|
for label in labels:
|
||||||
|
issues[label] = getbylabel(label)
|
||||||
|
|
||||||
|
text_file = open("../specification/proposals.rst", "w")
|
||||||
|
|
||||||
|
text_file.write("Tables of Tracked Proposals\n---------------------------\n\n")
|
||||||
|
|
||||||
|
|
||||||
|
for label in labels:
|
||||||
|
if (len(issues[label]) == 0):
|
||||||
|
continue
|
||||||
|
|
||||||
|
text_file.write(label + "\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n")
|
||||||
|
text_file.write(".. list-table::\n :header-rows: 1\n :widths: auto\n :stub-columns: 1\n\n")
|
||||||
|
text_file.write(" * - MSC\n")
|
||||||
|
text_file.write(" - Proposal Title\n")
|
||||||
|
text_file.write(" - Creation Date\n")
|
||||||
|
text_file.write(" - Update Date\n")
|
||||||
|
text_file.write(" - Documenation\n")
|
||||||
|
text_file.write(" - Author\n")
|
||||||
|
text_file.write(" - Shepherd\n")
|
||||||
|
text_file.write(" - PRs\n")
|
||||||
|
|
||||||
|
for item in issues[label]:
|
||||||
|
# set the created date, find local field, otherwise Github
|
||||||
|
print(item)
|
||||||
|
body = str(item['body'])
|
||||||
|
created = re.search('^Date: (.+?)\n', body, flags=re.MULTILINE)
|
||||||
|
if created is not None:
|
||||||
|
created = created.group(1).strip()
|
||||||
|
try:
|
||||||
|
created = datetime.strptime(created, "%d/%m/%Y")
|
||||||
|
created = created.strftime('%Y-%m-%d')
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
created = datetime.strptime(created, "%Y-%m-%d")
|
||||||
|
created = created.strftime('%Y-%m-%d')
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
else :
|
||||||
|
created = datetime.strptime(item['created_at'], "%Y-%m-%dT%XZ")
|
||||||
|
created = created.strftime('%Y-%m-%d')
|
||||||
|
item['created'] = created
|
||||||
|
|
||||||
|
issues_to_print = list(issues[label])
|
||||||
|
issues_to_print.sort(key=lambda issue_sort: issue_sort["created"])
|
||||||
|
|
||||||
|
for item in issues_to_print:
|
||||||
|
# MSC number
|
||||||
|
text_file.write(" * - `MSC" + str(item['number']) + " <" + item['html_url'] + ">`_\n")
|
||||||
|
|
||||||
|
# title from Github issue
|
||||||
|
text_file.write(" - " + item['title'] + "\n")
|
||||||
|
|
||||||
|
# created date
|
||||||
|
text_file.write(" - " + item['created'] + "\n")
|
||||||
|
|
||||||
|
# last updated, purely Github
|
||||||
|
updated = datetime.strptime(item['updated_at'], "%Y-%m-%dT%XZ")
|
||||||
|
text_file.write(" - " + updated.strftime('%Y-%m-%d') + "\n")
|
||||||
|
|
||||||
|
# list of document links (urls comma-separated)
|
||||||
|
maindoc = re.search('^Documentation: (.+?)\n', str(item['body']))
|
||||||
|
if maindoc is not None:
|
||||||
|
maindoc = maindoc.group(1)
|
||||||
|
doc_list_formatted = ["`" + str(item['number']) + "-" + str(i) + " <" + x.strip() + ">`_" for i, x in enumerate(maindoc.split(','),1)]
|
||||||
|
text_file.write(" - " + ', '.join(doc_list_formatted))
|
||||||
|
else:
|
||||||
|
text_file.write(" - ")
|
||||||
|
text_file.write("\n")
|
||||||
|
|
||||||
|
# author list, if missing just use Github issue creator
|
||||||
|
author = re.search('^Author: (.+?)$', str(item['body']), flags=re.MULTILINE)
|
||||||
|
if author is not None:
|
||||||
|
author_list_formatted = set()
|
||||||
|
author_list = author.group(1)
|
||||||
|
for a in author_list.split(","):
|
||||||
|
authors.add(a.strip())
|
||||||
|
author_list_formatted.add("`" + str(a.strip()) + "`_")
|
||||||
|
text_file.write(" - " + ', '.join(author_list_formatted))
|
||||||
|
else:
|
||||||
|
author = "@" + item['user']['login']
|
||||||
|
authors.add(author)
|
||||||
|
text_file.write(" - `" + str(author) + "`_")
|
||||||
|
text_file.write("\n")
|
||||||
|
|
||||||
|
# shepherd (currently only one)
|
||||||
|
shepherd = re.search('Shepherd: (.+?)\n', str(item['body']))
|
||||||
|
if shepherd is not None:
|
||||||
|
authors.add(shepherd.group(1).strip())
|
||||||
|
shepherd = "`" + shepherd.group(1).strip() + "`_"
|
||||||
|
text_file.write(" - " + str(shepherd) + "\n")
|
||||||
|
|
||||||
|
# PRs
|
||||||
|
pr_list = re.search('PRs: (.+?)$', str(item['body']))
|
||||||
|
if pr_list is not None:
|
||||||
|
pr_list_formatted = set()
|
||||||
|
pr_list = pr_list.group(1)
|
||||||
|
for p in pr_list.split(","):
|
||||||
|
prs.add(p.strip())
|
||||||
|
pr_list_formatted.add("`PR" + str(p.strip()) + "`_")
|
||||||
|
text_file.write(" - " + ', '.join(pr_list_formatted))
|
||||||
|
text_file.write("\n")
|
||||||
|
else:
|
||||||
|
text_file.write(" - \n")
|
||||||
|
|
||||||
|
text_file.write("\n\n\n")
|
||||||
|
|
||||||
|
text_file.write("\n")
|
||||||
|
|
||||||
|
for author in authors:
|
||||||
|
text_file.write("\n.. _" + author + ": https://github.com/" + author[1:])
|
||||||
|
|
||||||
|
for pr in prs:
|
||||||
|
text_file.write("\n.. _PR" + pr + ": https://github.com/matrix-org/matrix-doc/pull/" + pr.replace('#', ''))
|
||||||
|
|
||||||
|
text_file.close()
|
@ -0,0 +1,615 @@
|
|||||||
|
Tables of Tracked Proposals
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
proposal-wip
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC455 <https://github.com/matrix-org/matrix-doc/issues/455>`_
|
||||||
|
- Do we want to specify a matrix:// URI scheme for rooms? (SPEC-5)
|
||||||
|
- 2014-09-15
|
||||||
|
- 2018-05-15
|
||||||
|
- `455-1 <https://docs.google.com/document/d/18A3ZRgGR-GLlPXF_VIHxywWiX1vpMvNfAU6JCnNMVuQ/edit>`_
|
||||||
|
- `@KitsuneRal`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC586 <https://github.com/matrix-org/matrix-doc/issues/586>`_
|
||||||
|
- Federation API for canonicalising MXIDs
|
||||||
|
- 2014-10-27
|
||||||
|
- 2018-05-15
|
||||||
|
- `586-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC489 <https://github.com/matrix-org/matrix-doc/issues/489>`_
|
||||||
|
- Extensible Profiles. (SPEC-93)
|
||||||
|
- 2015-01-19
|
||||||
|
- 2018-05-15
|
||||||
|
- `489-1 <https://docs.google.com/document/d/1jXMElbQR-5ldt_yhWuqzLFBO3-TEJWhRyWF5Y_gGSsc/edit#heading=h.h8vj3b7rllw9>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1196 <https://github.com/matrix-org/matrix-doc/issues/1196>`_
|
||||||
|
- Matrix Escape Hatch (Versioned Rooms)
|
||||||
|
- 2015-10-22
|
||||||
|
- 2018-05-15
|
||||||
|
- `1196-1 <https://docs.google.com/document/d/1_N9HhXEqO9yX1c4TSlVAAvTaiyzDXTuVmGW-3hJe840/edit#heading=h.83j3cb3h3i4c>`_
|
||||||
|
- `@leonerd`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1238 <https://github.com/matrix-org/matrix-doc/issues/1238>`_
|
||||||
|
- Push to Talk
|
||||||
|
- 2016-04-13
|
||||||
|
- 2018-05-15
|
||||||
|
- `1238-1 <TBD>`_
|
||||||
|
- `@aviraldg`_
|
||||||
|
- None
|
||||||
|
- `PR#310`_
|
||||||
|
* - `MSC1198 <https://github.com/matrix-org/matrix-doc/issues/1198>`_
|
||||||
|
- Threading API
|
||||||
|
- 2016-05-23
|
||||||
|
- 2018-05-15
|
||||||
|
- `1198-1 <https://docs.google.com/document/d/1bLAcYBvTYp2XNvUG-DuYv4E0uWThz_Cr6PHzspq7e60/edit>`_
|
||||||
|
- `@Half-Shot`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1207 <https://github.com/matrix-org/matrix-doc/issues/1207>`_
|
||||||
|
- Publishing Room Lists for 3rd party networks
|
||||||
|
- 2016-10-21
|
||||||
|
- 2018-05-15
|
||||||
|
- `1207-1 <https://docs.google.com/document/d/12mVuOT7Qoa49L_PQAPjavoK9c2nalYEFOHxJOmH5j-w/edit>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC441 <https://github.com/matrix-org/matrix-doc/issues/441>`_
|
||||||
|
- Support for Reactions / Aggregations
|
||||||
|
- 2016-12-25
|
||||||
|
- 2018-05-15
|
||||||
|
- `441-1 <https://docs.google.com/document/d/1CnNbYSSea0KcyhEI6-rB8R8u6DCZyZv-Pv4hhoXJHSE/edit>`_
|
||||||
|
- `@pik`_
|
||||||
|
- `@ara4n`_
|
||||||
|
-
|
||||||
|
* - `MSC1237 <https://github.com/matrix-org/matrix-doc/issues/1237>`_
|
||||||
|
- Improving m.location with GeoJSON and accuracy
|
||||||
|
- 2017-05-19
|
||||||
|
- 2018-05-15
|
||||||
|
- `1237-1 <TBD>`_
|
||||||
|
- `@Half-Shot`_
|
||||||
|
- None
|
||||||
|
- `PR#919`_
|
||||||
|
* - `MSC971 <https://github.com/matrix-org/matrix-doc/issues/971>`_
|
||||||
|
- Add groups stuff to spec
|
||||||
|
- 2017-08-10
|
||||||
|
- 2018-05-15
|
||||||
|
- `971-1 <https://docs.google.com/document/d/17RHQ4Fw_cltmF1ABvDp7P4q65Kk65vi6HAaNbXgjjJE/edit>`_, `971-2 <https://docs.google.com/document/d/1cTK2pKolWNXspL69knpDJkcQWZsHpsMDTc2X_dEB5XQ/edit>`_, `971-3 <https://docs.google.com/document/d/1F2i1q7Kk4DKMtSaUzwj8CoNkDDwNFu0Uc2xPzJ2Mx00/edit>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1215 <https://github.com/matrix-org/matrix-doc/issues/1215>`_
|
||||||
|
- Groups as Rooms
|
||||||
|
- 2017-10-17
|
||||||
|
- 2018-05-15
|
||||||
|
- `1215-1 <https://docs.google.com/document/d/1ZnAuA_zti-K2-RnheXII1F1-oyVziT4tJffdw1-SHrE/edit#>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1217 <https://github.com/matrix-org/matrix-doc/issues/1217>`_
|
||||||
|
- Visibility of groups to group members and their non-members
|
||||||
|
- 2017-10-30
|
||||||
|
- 2018-05-15
|
||||||
|
- `1217-1 <https://docs.google.com/document/d/13OQ0gtdLsha4RKttxVZlGTKEncvjOToa2duv8bOdyvs/edit#heading=h.xsf65cn5ty5q>`_
|
||||||
|
- `@lampholder`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1218 <https://github.com/matrix-org/matrix-doc/issues/1218>`_
|
||||||
|
- Bridging group membership with 3rd party group sources
|
||||||
|
- 2017-11-15
|
||||||
|
- 2018-05-15
|
||||||
|
- `1218-1 <https://docs.google.com/document/d/1Nyk3Jf9BF0T2jHbeOV4DltazY5a3eP2meovSnMKDsxU/edit#heading=h.aienm7wdvf4q>`_
|
||||||
|
- `@lukebarnard1`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1219 <https://github.com/matrix-org/matrix-doc/issues/1219>`_
|
||||||
|
- Proposal for storing megolm keys serverside
|
||||||
|
- 2017-11-23
|
||||||
|
- 2018-05-15
|
||||||
|
- `1219-1 <https://docs.google.com/document/d/1MOoIA9qEKIhUQ3UmKZG-loqA8e0BzgWKKlKRUGMynVc/edit>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1221 <https://github.com/matrix-org/matrix-doc/issues/1221>`_
|
||||||
|
- Improving Presence
|
||||||
|
- 2017-12-26
|
||||||
|
- 2018-05-15
|
||||||
|
- `1221-1 <https://docs.google.com/document/d/1sKaM9J5oorEeReYwOBmcgED6XnX2PdCYcx0Pp0gFnqM/edit#heading=h.geptormxf2k8>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1222 <https://github.com/matrix-org/matrix-doc/issues/1222>`_
|
||||||
|
- Pushing updates about Groups (Communities) to clients
|
||||||
|
- 2018-01-02
|
||||||
|
- 2018-05-15
|
||||||
|
- `1222-1 <https://drive.google.com/open?id=1GzwhGdnWWMENYOaXMFP8CD-M9ny1vznxHnNqT3I3NZI>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1225 <https://github.com/matrix-org/matrix-doc/issues/1225>`_
|
||||||
|
- Extensible event types & fallback in Matrix
|
||||||
|
- 2018-02-18
|
||||||
|
- 2018-05-15
|
||||||
|
- `1225-1 <https://docs.google.com/document/d/1FUVFzTOF4a6XBKVTk55bVRIk4N9u5uZkHS4Rjr_SGxo/edit#heading=h.m568t57r6od9>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1227 <https://github.com/matrix-org/matrix-doc/issues/1227>`_
|
||||||
|
- Proposal for lazy-loading room members to improve initial sync speed and client RAM usage
|
||||||
|
- 2018-03-05
|
||||||
|
- 2018-05-15
|
||||||
|
- `1227-1 <https://docs.google.com/document/d/11yn-mAkYll10RJpN0mkYEVqraTbU3U4eQx9MNrzqX1U/edit>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1206 <https://github.com/matrix-org/matrix-doc/issues/1206>`_
|
||||||
|
- Proposal for improved bot support
|
||||||
|
- 2018-03-14
|
||||||
|
- 2018-05-15
|
||||||
|
- `1206-1 <https://docs.google.com/document/d/13ec6iqTQc7gMYGtiyP6qkzsgi3APVwuoXqJFHrfLEP4/edit?usp=sharing>`_
|
||||||
|
- `@turt2live`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1228 <https://github.com/matrix-org/matrix-doc/issues/1228>`_
|
||||||
|
- Removing MXIDs from events
|
||||||
|
- 2018-04-19
|
||||||
|
- 2018-05-15
|
||||||
|
- `1228-1 <https://drive.google.com/open?id=1ni4LnC_vafX4h4K4sYNpmccS7QeHEFpAcYcbLS-J21Q>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1231 <https://github.com/matrix-org/matrix-doc/issues/1231>`_
|
||||||
|
- Handling Consent for Privacy Policy
|
||||||
|
- 2018-05-02
|
||||||
|
- 2018-05-15
|
||||||
|
- `1231-1 <https://docs.google.com/document/d/1-Q_Z9dD3VTfsNYtK_WTzyTQR4HQWsntt-_DwgoW02ZU/edit#heading=h.cvd8uae3gmto>`_
|
||||||
|
- `@neilisfragile`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
proposal-ready-for-review
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC1183 <https://github.com/matrix-org/matrix-doc/issues/1183>`_
|
||||||
|
- Document key-share requests
|
||||||
|
- 2018-04-30
|
||||||
|
- 2018-05-15
|
||||||
|
- `1183-1 <https://docs.google.com/document/d/1m4gQkcnJkxNuBmb5NoFCIadIY-DyqqNAS3lloE73BlQ>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1232 <https://github.com/matrix-org/matrix-doc/issues/1232>`_
|
||||||
|
- Media limits API
|
||||||
|
- 2018-05-04
|
||||||
|
- 2018-05-15
|
||||||
|
- `1232-1 <https://docs.google.com/document/d/1fI4ZqQcyAyBEPMtS1MCZWpN84kEPdm9SDw6SVZsJvYY/edit>`_
|
||||||
|
- `@Half-Shot`_
|
||||||
|
- None
|
||||||
|
- `PR#1189`_
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
proposal-in-review
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC433 <https://github.com/matrix-org/matrix-doc/issues/433>`_
|
||||||
|
- Support for discovering API endpoints via .well-known URIs (SPEC-121)
|
||||||
|
- 2015-03-08
|
||||||
|
- 2018-05-15
|
||||||
|
- `433-1 <https://docs.google.com/document/d/1OdEj06qA7diURofyonIMgTR3fB_pWf12Txye41qd-U4/edit>`_, `433-2 <https://docs.google.com/document/d/1vF-uWlUYmf1Xo161m871H1upJbwiIPeikWGWzaE_lrU/edit#>`_
|
||||||
|
- `@maxidor`_, `others`_
|
||||||
|
- `@uhoreg`_
|
||||||
|
-
|
||||||
|
* - `MSC1194 <https://github.com/matrix-org/matrix-doc/issues/1194>`_
|
||||||
|
- A way for HSes to remove bindings from ISes
|
||||||
|
- 2018-05-09
|
||||||
|
- 2018-05-15
|
||||||
|
- `1194-1 <https://docs.google.com/document/d/135g2muVxmuml0iUnLoTZxk8M2ZSt3kJzg81chGh51yg/edit?usp=sharing>`_
|
||||||
|
- `@dbkr`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
proposal-passed-review
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC1226 <https://github.com/matrix-org/matrix-doc/issues/1226>`_
|
||||||
|
- State Reset mitigation proposal
|
||||||
|
- 2018-02-20
|
||||||
|
- 2018-05-15
|
||||||
|
- `1226-1 <https://docs.google.com/document/d/1L2cr8djdpOFXJgqGTf3gUrk-YGBYf--rP8Nw6mYYAu8/edit#heading=h.vazyvubo3b4z>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1229 <https://github.com/matrix-org/matrix-doc/issues/1229>`_
|
||||||
|
- Mitigating abuse of the event depth parameter over federation
|
||||||
|
- 2018-04-30
|
||||||
|
- 2018-05-15
|
||||||
|
- `1229-1 <https://docs.google.com/document/d/16ofbjluy8ZKYL6nt7WLHG4GqSodJUWLUxHhI6xPEjr4/edit>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1233 <https://github.com/matrix-org/matrix-doc/issues/1233>`_
|
||||||
|
- A proposal for organising spec proposals
|
||||||
|
- 2018-05-10
|
||||||
|
- 2018-05-15
|
||||||
|
- `1233-1 <https://docs.google.com/document/d/1wLln7da12l0H5YgAh5xM2TVE7VsTjXzhEwVh3sRBMCk/edit#>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
- `PR#1240`_
|
||||||
|
* - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_
|
||||||
|
- Rich Replies format
|
||||||
|
- 2018-05-12
|
||||||
|
- 2018-05-17
|
||||||
|
- `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_
|
||||||
|
- `@t3chguy`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1236 <https://github.com/matrix-org/matrix-doc/issues/1236>`_
|
||||||
|
- Matrix Widget API v2
|
||||||
|
- 2018-05-13
|
||||||
|
- 2018-05-15
|
||||||
|
- `1236-1 <https://docs.google.com/document/d/1uPF7XWY_dXTKVKV7jZQ2KmsI19wn9-kFRgQ1tFQP7wQ/edit>`_
|
||||||
|
- `@rxl881`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
spec-pr-missing
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC1197 <https://github.com/matrix-org/matrix-doc/issues/1197>`_
|
||||||
|
- Ignoring Users
|
||||||
|
- 2016-05-03
|
||||||
|
- 2018-05-15
|
||||||
|
- `1197-1 <https://docs.google.com/document/d/1Jex7lDAwmv0KcgyL9oeGfUCsjw0CWSqedPKZ1ViSVis/edit>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1201 <https://github.com/matrix-org/matrix-doc/issues/1201>`_
|
||||||
|
- Device Management API
|
||||||
|
- 2016-07-14
|
||||||
|
- 2018-05-15
|
||||||
|
- `1201-1 <https://docs.google.com/document/d/1H8Z5b9kGKuvFkfDR1uQHaKdYxBD03ZDjMGH1IXQ0Wbw/edit#heading=h.8rtccxo23ng>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1203 <https://github.com/matrix-org/matrix-doc/issues/1203>`_
|
||||||
|
- 3rd Party Entity lookup API
|
||||||
|
- 2016-07-21
|
||||||
|
- 2018-05-15
|
||||||
|
- `1203-1 <https://docs.google.com/document/d/13NGa46a_WWno-XYfe8mQrglQdtOYMFVZtxkPKXDC3ac/edit#heading=h.m0btedxhv6ao>`_
|
||||||
|
- `@leonerd`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1205 <https://github.com/matrix-org/matrix-doc/issues/1205>`_
|
||||||
|
- Proposal for multi-device deletion API
|
||||||
|
- 2016-10-12
|
||||||
|
- 2018-05-15
|
||||||
|
- `1205-1 <https://docs.google.com/document/d/1LaA9Q96ytumLmE-eAscONMMX5rE26ri4G7uj-rmltbs/edit>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1208 <https://github.com/matrix-org/matrix-doc/issues/1208>`_
|
||||||
|
- Encrypted attachment format
|
||||||
|
- 2016-10-26
|
||||||
|
- 2018-05-15
|
||||||
|
- `1208-1 <https://docs.google.com/document/d/1vZi2xGmWLQMANobe5IxaqxiFc4HhykZDNcu102xjZlQ/edit>`_
|
||||||
|
- `@NegativeMjark`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC739 <https://github.com/matrix-org/matrix-doc/issues/739>`_
|
||||||
|
- Reporting inappropriate content in Matrix
|
||||||
|
- 2016-11-21
|
||||||
|
- 2018-05-15
|
||||||
|
- `739-1 <https://docs.google.com/document/d/15cUuF0VyBMtNIcyFqXvEmXsMURLgXzMOIW33qHoi89A/edit>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1211 <https://github.com/matrix-org/matrix-doc/issues/1211>`_
|
||||||
|
- Megolm session export format
|
||||||
|
- 2017-01-03
|
||||||
|
- 2018-05-15
|
||||||
|
- `1211-1 <https://docs.google.com/document/d/1UjWpNMfof3ynFbEOtHWGmqxy_WrFZEojrGWUq_os0G8/edit>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1212 <https://github.com/matrix-org/matrix-doc/issues/1212>`_
|
||||||
|
- Device List Update Stream
|
||||||
|
- 2017-01-18
|
||||||
|
- 2018-05-15
|
||||||
|
- `1212-1 <https://docs.google.com/document/d/1fNBZUeMlp0fn0en5bCji5fn6mSvj48UylWfGKrk8ZIw/edit#heading=h.j3k62x61k895>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC829 <https://github.com/matrix-org/matrix-doc/issues/829>`_
|
||||||
|
- Need to spec msisdn login API
|
||||||
|
- 2017-03-08
|
||||||
|
- 2018-05-15
|
||||||
|
- `829-1 <https://docs.google.com/document/d/1-6ZSSW5YvCGhVFDyD2QExAUAdpCWjccvJT5xiyTTG2Y/edit#heading=h.79ot48krpkq7>`_
|
||||||
|
- `@dbkr`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC855 <https://github.com/matrix-org/matrix-doc/issues/855>`_
|
||||||
|
- spec m.login.msisdn UI auth type
|
||||||
|
- 2017-03-24
|
||||||
|
- 2018-05-15
|
||||||
|
- `855-1 <https://docs.google.com/document/d/1B7q_3ruJzeQTg-uJHe1UScxbVLzgm451c25OjpYcojI/edit#>`_
|
||||||
|
- `@dbkr`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC910 <https://github.com/matrix-org/matrix-doc/issues/910>`_
|
||||||
|
- Add new Read Marker API to docs
|
||||||
|
- 2017-05-08
|
||||||
|
- 2018-05-15
|
||||||
|
-
|
||||||
|
- `@lukebarnard1`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1067 <https://github.com/matrix-org/matrix-doc/issues/1067>`_
|
||||||
|
- Spec @mentions
|
||||||
|
- 2017-07-14
|
||||||
|
- 2018-05-15
|
||||||
|
- `1067-1 <https://docs.google.com/document/d/1oRhw3DJhbVAKkHAEgyt6ccV82wtXR_11qY7JqMcesUU/edit>`_
|
||||||
|
- `@lukebarnard1`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1214 <https://github.com/matrix-org/matrix-doc/issues/1214>`_
|
||||||
|
- Related Groups (i.e. flair)
|
||||||
|
- 2017-10-03
|
||||||
|
- 2018-05-15
|
||||||
|
- `1214-1 <https://docs.google.com/document/d/1wCLXwUT3r4gVFuQpwWMHxl-nEf_Kx2pv34vZQQVb_Bc/edit#heading=h.82i09uxamcfq>`_
|
||||||
|
- `@lukebarnard1`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1216 <https://github.com/matrix-org/matrix-doc/issues/1216>`_
|
||||||
|
- @room notification proposal
|
||||||
|
- 2017-10-23
|
||||||
|
- 2018-05-15
|
||||||
|
- `1216-1 <https://docs.google.com/document/d/1qRdlg94cr9YXxPCwhW4HgI2oDrqQOUKX5HptZFBGf6o/edit>`_
|
||||||
|
- `@dbkr`_
|
||||||
|
- None
|
||||||
|
- `PR#1176`_
|
||||||
|
* - `MSC1230 <https://github.com/matrix-org/matrix-doc/issues/1230>`_
|
||||||
|
- Temporary mitigation for depth parameter abuse
|
||||||
|
- 2018-05-01
|
||||||
|
- 2018-05-15
|
||||||
|
- `1230-1 <https://docs.google.com/document/d/1I3fi2S-XnpO45qrpCsowZv8P8dHcNZ4fsBsbOW7KABI/edit#heading=h.fj95ykuss7s1>`_
|
||||||
|
- `@ara4n`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1234 <https://github.com/matrix-org/matrix-doc/issues/1234>`_
|
||||||
|
- Rich Replies format
|
||||||
|
- 2018-05-12
|
||||||
|
- 2018-05-17
|
||||||
|
- `1234-1 <https://docs.google.com/document/d/1BPd4lBrooZrWe_3s_lHw_e-Dydvc7bXbm02_sV2k6Sc>`_
|
||||||
|
- `@t3chguy`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
merged
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC1199 <https://github.com/matrix-org/matrix-doc/issues/1199>`_
|
||||||
|
- Notifications API
|
||||||
|
- 2016-05-23
|
||||||
|
- 2018-05-15
|
||||||
|
- `1199-1 <https://docs.google.com/document/d/1tQUOkbygHky_6Te4ZNCju_KV0Phmk1cuJsbf2Ir0Vvs/edit>`_
|
||||||
|
- `@dbkr`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1200 <https://github.com/matrix-org/matrix-doc/issues/1200>`_
|
||||||
|
- Configuration of E2E encryption in a room
|
||||||
|
- 2016-06-16
|
||||||
|
- 2018-05-15
|
||||||
|
- `1200-1 <https://docs.google.com/document/d/1SEPMhNh6ztcrrbkGRSayVQ23bd3cfMPkTgGL4kBS9Ps/edit#heading=h.e7hfigo2zcsj>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1204 <https://github.com/matrix-org/matrix-doc/issues/1204>`_
|
||||||
|
- Access Token Semantics (refresh and macaroons) - aka Auth Sept 2016 Edition
|
||||||
|
- 2016-09-29
|
||||||
|
- 2018-05-15
|
||||||
|
- `1204-1 <https://docs.google.com/document/d/1mdis1LQcoOSVRElszEmrAWZGIX0jX_croSha-X5oe_w/edit#heading=h.3zmkga77kwe3>`_
|
||||||
|
- `@richvdh`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
abandoned
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC531 <https://github.com/matrix-org/matrix-doc/issues/531>`_
|
||||||
|
- Homeservers as OAuth authorization endpoints (resource owners) (SPEC-206)
|
||||||
|
- 2015-07-25
|
||||||
|
- 2018-05-15
|
||||||
|
- `531-1 <https://docs.google.com/document/d/1vEPFlX79oa1foBmar6i8nvw-hB4SXfVqg6o6Wsdl1kQ/edit>`_
|
||||||
|
- `@Kegsay`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1202 <https://github.com/matrix-org/matrix-doc/issues/1202>`_
|
||||||
|
- Profile Personae
|
||||||
|
- 2016-07-15
|
||||||
|
- 2018-05-15
|
||||||
|
- `1202-1 <https://docs.google.com/document/d/1_15r2b43506FhgEKjLZC32BxRy6JAlB8ayCazMR0_S0/edit>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1209 <https://github.com/matrix-org/matrix-doc/issues/1209>`_
|
||||||
|
- Server Side Profile API
|
||||||
|
- 2016-11-01
|
||||||
|
- 2018-05-15
|
||||||
|
- `1209-1 <https://docs.google.com/document/d/18r84a3IgsItUu1k326XZCGHbVy0S-YLqrfvItGaEo_4/edit#heading=h.oxxmp054yga2>`_
|
||||||
|
- `@erikjohnston`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
* - `MSC1213 <https://github.com/matrix-org/matrix-doc/issues/1213>`_
|
||||||
|
- Set defaults for m.federate
|
||||||
|
- 2018-05-10
|
||||||
|
- 2018-05-15
|
||||||
|
- `1213-1 <https://docs.google.com/document/d/14zqsbwl5KKil-bB8w2HMhidBVmFkP9Q7EQKFwKIIfZc/edit#heading=h.eipip5qhqo0d>`_
|
||||||
|
- `@psaavedra`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
obsolete
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:widths: auto
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - MSC
|
||||||
|
- Proposal Title
|
||||||
|
- Creation Date
|
||||||
|
- Update Date
|
||||||
|
- Documenation
|
||||||
|
- Author
|
||||||
|
- Shepherd
|
||||||
|
- PRs
|
||||||
|
* - `MSC1235 <https://github.com/matrix-org/matrix-doc/issues/1235>`_
|
||||||
|
- Proposal for Calendar Events
|
||||||
|
- 2018-02-06
|
||||||
|
- 2018-05-15
|
||||||
|
- `1235-1 <https://docs.google.com/document/d/1kfR5aVflEtZ9spHkqa2gOkS5eGr6nYfWVY7BcM5DAZg/edit>`_
|
||||||
|
- `@Half-Shot`_
|
||||||
|
- None
|
||||||
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. _@t3chguy: https://github.com/t3chguy
|
||||||
|
.. _@KitsuneRal: https://github.com/KitsuneRal
|
||||||
|
.. _@pik: https://github.com/pik
|
||||||
|
.. _@leonerd: https://github.com/leonerd
|
||||||
|
.. _@turt2live: https://github.com/turt2live
|
||||||
|
.. _@erikjohnston: https://github.com/erikjohnston
|
||||||
|
.. _@neilisfragile: https://github.com/neilisfragile
|
||||||
|
.. _@psaavedra: https://github.com/psaavedra
|
||||||
|
.. _@richvdh: https://github.com/richvdh
|
||||||
|
.. _@NegativeMjark: https://github.com/NegativeMjark
|
||||||
|
.. _@ara4n: https://github.com/ara4n
|
||||||
|
.. _@lukebarnard1: https://github.com/lukebarnard1
|
||||||
|
.. _@lampholder: https://github.com/lampholder
|
||||||
|
.. _@dbkr: https://github.com/dbkr
|
||||||
|
.. _@maxidor: https://github.com/maxidor
|
||||||
|
.. _others: https://github.com/thers
|
||||||
|
.. _@rxl881: https://github.com/rxl881
|
||||||
|
.. _@uhoreg: https://github.com/uhoreg
|
||||||
|
.. _@Kegsay: https://github.com/Kegsay
|
||||||
|
.. _@Half-Shot: https://github.com/Half-Shot
|
||||||
|
.. _@aviraldg: https://github.com/aviraldg
|
||||||
|
.. _PR#310: https://github.com/matrix-org/matrix-doc/pull/310
|
||||||
|
.. _PR#1240: https://github.com/matrix-org/matrix-doc/pull/1240
|
||||||
|
.. _PR#1189: https://github.com/matrix-org/matrix-doc/pull/1189
|
||||||
|
.. _PR#919: https://github.com/matrix-org/matrix-doc/pull/919
|
||||||
|
.. _PR#1176: https://github.com/matrix-org/matrix-doc/pull/1176
|
@ -0,0 +1,210 @@
|
|||||||
|
.. contents:: Table of Contents
|
||||||
|
.. sectnum::
|
||||||
|
|
||||||
|
Proposals for Spec Changes to Matrix
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
The process for submitting a Matrix Spec Change (MSC) Proposal is as follows:
|
||||||
|
|
||||||
|
- produce a publicly-accessible proposal describing your change:
|
||||||
|
|
||||||
|
- Please use Google Docs, or an equivalent system capable of collaborative
|
||||||
|
editing, with versioned history, suggestions ('track changes'), threaded
|
||||||
|
comments, and good mobile support. Please ensure the document is
|
||||||
|
world-commentable or -editable.
|
||||||
|
- We do not use Github issues (or Etherpad) for the design process of the
|
||||||
|
proposal, as the document review/commenting capabilities aren't good
|
||||||
|
enough.
|
||||||
|
- We also don't jump straight to PRing against the spec itself, as it's much
|
||||||
|
faster to iterate on a proposal in freeform document form than in the
|
||||||
|
terse and formal structure of the spec.
|
||||||
|
- In the proposal, please clearly state the problem being solved, and the
|
||||||
|
possible solutions being proposed for solving it and their respective
|
||||||
|
trade-offs.
|
||||||
|
- Proposal documents are intended to be as lightweight and flexible as the
|
||||||
|
author desires; there is no formal template; the intention is to iterate
|
||||||
|
as quickly as possible to get to a good design.
|
||||||
|
- A `template with suggested headers
|
||||||
|
<https://docs.google.com/document/d/1CoLCPTcRFvD4PqjvbUl3ZIWgGLpmRNbqxsT2Tu7lCzI/>`_
|
||||||
|
is available.
|
||||||
|
|
||||||
|
- make a new issue at https://github.com/matrix-org/matrix-doc/issues (or
|
||||||
|
modify an existing one), whose description should list the metadata as per
|
||||||
|
below.
|
||||||
|
- Gather feedback as widely as possible from the community and core team on
|
||||||
|
the proposal.
|
||||||
|
|
||||||
|
- The aim is to get maximum consensus on the trade-offs chosen to get an
|
||||||
|
optimal solution.
|
||||||
|
- A good place to ask for feedback on a specific proposal is
|
||||||
|
`#matrix-spec:matrix.org <https://matrix.to/#/#matrix-spec:matrix.org>`_.
|
||||||
|
However, authors/shepherds are welcome to use an alternative room if they
|
||||||
|
prefer - please advertise it in #matrix-spec:matrix.org though and link
|
||||||
|
to it on the github issue. N.B. that #matrix-dev:matrix.org is for
|
||||||
|
developers using existing Matrix APIs, #matrix:matrix.org is for users
|
||||||
|
trying to run matrix apps (clients & servers);
|
||||||
|
#matrix-architecture:matrix.org is for cross-cutting discussion of
|
||||||
|
Matrix's architectural design.
|
||||||
|
- The point of the spec proposal process is to be collaborative rather than
|
||||||
|
competitive, and to try to solve the problem in question with the optimal
|
||||||
|
set of trade-offs. Ideally the author would neutrally gather the various
|
||||||
|
viewpoints and get consensus, but this can sometimes be time-consuming (or
|
||||||
|
the author may be biased), in which case an impartial 'shepherd' can be
|
||||||
|
assigned to help guide the proposal through this process. A shepherd is
|
||||||
|
typically a neutral party from the core team or an experienced member of
|
||||||
|
the community.
|
||||||
|
|
||||||
|
- Once the proposal has sufficient consensus and passed review, you **must**
|
||||||
|
show an implementation to prove that it works well in practice, before a
|
||||||
|
spec PR will be accepted. Iterate on the proposal if needed.
|
||||||
|
- Finally, please make a new spec PR which includes the changes as
|
||||||
|
implemented against
|
||||||
|
https://github.com/matrix-org/matrix-doc/tree/master/specification. This
|
||||||
|
will then be reviewed and hopefully merged! Please sign off the spec PR as
|
||||||
|
per the `CONTRIBUTING.rst
|
||||||
|
<https://github.com/matrix-org/matrix-doc/blob/master/CONTRIBUTING.rst>`_
|
||||||
|
guidelines.
|
||||||
|
|
||||||
|
Final decisions on review are made by the Matrix core team
|
||||||
|
(+matrix:matrix.org), acting on behalf of the whole Matrix community.
|
||||||
|
|
||||||
|
Proposals **must** act to the greater benefit of the entire Matrix ecosystem,
|
||||||
|
rather than benefiting or privileging any single player or subset of players
|
||||||
|
- and must not contain any patent encumbered IP. The Matrix core team pledges
|
||||||
|
to act as a neutral custodian for Matrix on behalf of the whole ecosystem,
|
||||||
|
just as it has since Matrix's inception in May 2014.
|
||||||
|
|
||||||
|
For clarity: the Matrix ecosystem is anyone who uses the Matrix protocol. That
|
||||||
|
includes client users, server admins, client developers, bot developers,
|
||||||
|
bridge and AS developers, users and admins who are indirectly using Matrix via
|
||||||
|
3rd party networks which happen to be bridged, server developers, room
|
||||||
|
moderators and admins, companies/projects building products or services on
|
||||||
|
Matrix, spec contributors, translators, and the core team who created it in
|
||||||
|
the first place.
|
||||||
|
|
||||||
|
"Greater benefit" could include maximising:
|
||||||
|
|
||||||
|
* the number of end-users reachable on the open Matrix network.
|
||||||
|
* the number of regular users on the Matrix network (e.g. 30-day retained
|
||||||
|
federated users)
|
||||||
|
* the number of online servers in the open federation.
|
||||||
|
* the number of developers building on Matrix.
|
||||||
|
* the number of independent implementations which use Matrix
|
||||||
|
* the quality and utility of the Matrix spec.
|
||||||
|
|
||||||
|
The guiding principles of the overall project are being worked on as part of
|
||||||
|
the upcoming governance proposal, but could be something like:
|
||||||
|
|
||||||
|
* Supporting the whole long-term ecosystem rather than individual stakeholder gain
|
||||||
|
* Openness rather than proprietariness
|
||||||
|
* Collaboration rather than competition
|
||||||
|
* Accessibility rather than elitism
|
||||||
|
* Transparency rather than stealth
|
||||||
|
* Empathy rather than contrariness
|
||||||
|
* Pragmatism rather than perfection
|
||||||
|
* Proof rather than conjecture
|
||||||
|
|
||||||
|
The above directions are intended to be simple and pragmatic rather than
|
||||||
|
exhaustive, and aim to provide guidelines until we have a formal spec
|
||||||
|
governance process in place that covers the whole Matrix community. In order
|
||||||
|
to get Matrix out of beta as quickly as possible, as of May 2018 we are
|
||||||
|
prioritising spec and reference implementation development over writing formal
|
||||||
|
governance, but a formal governance document will follow as rapidly as
|
||||||
|
possible.
|
||||||
|
|
||||||
|
The process for handling proposals is described in the following diagram. Note
|
||||||
|
that the lifetime of a proposal is tracked through the corresponding labels for
|
||||||
|
each stage in the `matrix-doc issue tracker
|
||||||
|
<https://github.com/matrix-org/matrix-doc/issues>`_.
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
+ +
|
||||||
|
Proposals | Spec PRs | Other States
|
||||||
|
+-------+ | +------+ | +----------+
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
+----------+ | +---------+ | +---------+
|
||||||
|
| | | | | | | |
|
||||||
|
| Proposal | | +------> Spec PR | | | Blocked |
|
||||||
|
| WIP | | | | Missing | | | |
|
||||||
|
| | | | | | | +---------+
|
||||||
|
+----+-----+ | | +----+----+ |
|
||||||
|
| | | | |
|
||||||
|
| | | | | +-----------+
|
||||||
|
+--------v----------+ | | | | | |
|
||||||
|
| | | | +---------v--------+ | | Abandoned |
|
||||||
|
| Proposal | | | | | | | |
|
||||||
|
| Ready for Review | | | | Spec PR | | +-----------+
|
||||||
|
| | | | | Ready for Review | |
|
||||||
|
+----------+--------+ | | | | | +-----------+
|
||||||
|
| | | +---------+--------+ | | |
|
||||||
|
| | | | | | Obsolete |
|
||||||
|
+------v----+ | | | | | |
|
||||||
|
| | | | +-----v-----+ | +-----------+
|
||||||
|
| Proposal | | | | | |
|
||||||
|
| In Review | | | | Spec PR | |
|
||||||
|
| | | | | In Review | | +----------+
|
||||||
|
+----+------+ | | | | | | |
|
||||||
|
| | | +-----+-----+ | | Rejected |
|
||||||
|
| | | | | | |
|
||||||
|
+------v--------+ | | | | +----------+
|
||||||
|
| | | | | |
|
||||||
|
| Proposal | | | +----v----+ |
|
||||||
|
| Passed Review | | | | | |
|
||||||
|
| | | | | Merged! | |
|
||||||
|
+-------+-------+ | | | | |
|
||||||
|
| | | +---------+ |
|
||||||
|
| | | |
|
||||||
|
+---------------+ |
|
||||||
|
| |
|
||||||
|
+ +
|
||||||
|
|
||||||
|
Lifetime States
|
||||||
|
---------------
|
||||||
|
|
||||||
|
=========================== =======================================================
|
||||||
|
Proposal WIP A proposal document which is still work-in-progress but is being shared to incorporate feedback
|
||||||
|
Proposal Ready for Review A proposal document which is now ready and waiting for review by the core team and community
|
||||||
|
Proposal In Review A proposal document which is currently in review
|
||||||
|
Proposal Passed Review A proposal document which has passed review as worth implementing and then being added to the spec
|
||||||
|
Spec PR Missing A proposal which has been implemented and has been used in the wild for a few months but hasn't yet been added to the spec
|
||||||
|
Spec PR Ready for Review A proposal which has been PR'd against the spec and is awaiting review
|
||||||
|
Spec PR In Review A proposal which has been PR'd against the spec and is in review
|
||||||
|
Merged A proposal whose PR has merged into the spec!
|
||||||
|
Blocked A proposal which is temporarily blocked on some external factor (e.g. being blocked on another proposal first being approved)
|
||||||
|
Abandoned A proposal where the author/shepherd has not been responsive for a few months
|
||||||
|
Obsolete A proposal which has been overtaken by other proposals
|
||||||
|
Rejected A proposal which is not going to be incorporated into Matrix
|
||||||
|
=========================== =======================================================
|
||||||
|
|
||||||
|
|
||||||
|
Proposal Tracking
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
This is a living document generated from the list of proposals at
|
||||||
|
`matrix-doc/issues <https://github.com/matrix-org/matrix-doc/issues>`_ on
|
||||||
|
GitHub.
|
||||||
|
|
||||||
|
We use labels and some metadata in the issues' descriptions to generate this
|
||||||
|
page. Labels are assigned by the core team whilst triaging the issues based
|
||||||
|
on those which exist in the matrix-doc repo already.
|
||||||
|
|
||||||
|
Other metadata:
|
||||||
|
|
||||||
|
- the MSC (Matrix Spec Change) number is taken from the github issue ID. This
|
||||||
|
is carried for the lifetime of the proposal, including the PR creation
|
||||||
|
phase. N.B. They are not in chronological order!
|
||||||
|
- Please use the github issue title to set the title.
|
||||||
|
- Please link to the proposal document by adding a "Documentation: <url>" line
|
||||||
|
in the issue description.
|
||||||
|
- Please link to the spec PR (if any) by adding a "PRs: #1234" line in the
|
||||||
|
issue description.
|
||||||
|
- The creation date is taken from the github issue, but can be overriden by
|
||||||
|
adding a "Date: yyyy-mm-dd" line in the issue description.
|
||||||
|
- Updated Date is taken from github.
|
||||||
|
- Author is the creator of the github issue, but can be overriden by adding a
|
||||||
|
"Author: @username" line in the body of the issue description. Please make
|
||||||
|
sure @username is a github user (include the @!)
|
||||||
|
- A shepherd can be assigned by adding a "Shepherd: @username" line in the
|
||||||
|
issue description. Again, make sure this is a real Github user.
|
Loading…
Reference in New Issue