{"action":"created","comment":{"url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/comments/244521637","pull_request_review_id":188425624,"id":244521637,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0NDUyMTYzNw==","diff_hunk":"@@ -0,0 +1,243 @@\n+# Proposal for specifying configurable retention periods for messages.\n+\n+A major shortcoming of Matrix has been the inability to specify how long\n+events should stored by the servers and clients which participate in a given\n+room.\n+\n+This proposal aims to specify a simple yet flexible set of rules which allow\n+users, room admins and server admins to determine how long data should be\n+stored for a room, from the perspective of respecting the privacy requirements\n+of that room (which may range from \"burn after reading\" ephemeral messages,\n+through to FOIA-style public record keeping requirements).\n+\n+As well as enforcing privacy requirements, these rules provide a way for server\n+administrators to better manage disk space (e.g. to enforce rules such as \"don't\n+store remote events for public rooms for more than a month\").\n+\n+## Problem:\n+\n+Matrix is inherently a protocol for storing and synchronising conversation\n+history, and various parties may wish to control how long that history is stored\n+for.\n+\n+ * Users may wish to specify a maximum age for their messages for privacy\n+   purposes, for instance:\n+   * to avoid their messages (or message metadata) being profiled by\n+     unscrupulous or compromised homeservers\n+   * to avoid their messages in public rooms staying indefinitely on the public\n+     record\n+   * because of legal/corporate requirements to store message history for a\n+     limited period of time\n+   * because of legal/corporate requirements to store messages forever\n+     (e.g. FOIA)\n+   * to provide \"ephemeral messaging\" semantics where messages are best-effort\n+     deleted after being read.\n+ * Room admins may wish to specify a retention policy for all messages in a\n+   room.\n+   * A room admin may wish to enforce a lower or upper bound on message\n+     retention on behalf of its users, overriding their preferences.\n+   * A bridged room should be able to enforce the data retention policies of the\n+     remote rooms.\n+ * Server admins may wish to specify a retention policy for their copy of given\n+   rooms, in order to manage disk space.\n+\n+Additionally, we would like to provide this behaviour whilst also ensuring that\n+users generally see a consistent view of message history, without lots of gaps\n+and one-sided conversations where messages have been automatically removed.\n+\n+At the least, it should be possible for people participating in a conversation\n+to know the expected lifetime of the other messages in the conversation **at the\n+time they are sent** in order to know how best to interact with them (i.e.\n+whether they are knowingly participating in a future one-sided conversation or\n+not).\n+\n+We would also like to discourage users from setting low message retention as a\n+matter of course, as it can result in very antisocial conversation patterns to\n+the detriment of Matrix as a useful communication mechanism.\n+\n+This proposal does not try to solve the problems of:\n+ * GDPR erasure (as this involves retrospectively changing the lifetime of\n+   messages)\n+ * Bulk redaction (e.g. to remove all messages from an abusive user in a room,\n+   as again this is retrospectively changing message lifetime)\n+ * Limiting the number (rather than age) of messages stored per room (as this is\n+   more a question of quotaing rather than empowering privacy)\n+ * Ephemeral messaging?\n+\n+## Proposal\n+\n+### User-specified per-message retention\n+\n+Users can specify per-message retention by adding the following fields to the\n+event alongside its content:\n+\n+`max_lifetime`:\n+\tthe maximum duration in seconds for which a well-behaved server should store\n+\tthis event. If absent, or null, it should be interpreted as 'forever'.\n+\n+\n+`min_lifetime`:\n+\tthe minimum duration for which a well-behaved server should store this event.\n+\tIf absent, or null, should be interpreted as 'forever'\n+\n+`self_destruct`:\n+\ta boolean for whether wellbehaved servers should remove this event after\n+\tseeing an explicit read receipt delivered for it.\n+\n+`expire_on_clients`:\n+\ta boolean for whether well-behaved clients should expire messages clientside\n+\tto match the min/max lifetime and/or self_destruct semantics fields.\n+\n+For instance:\n+\n+```json\n+{\n+\t\"type\": \"m.room.message\",\n+\t\"max_lifetime\": 86400,\n+\t\"content\": ...\n+}\n+```\n+\n+The above example means that servers receiving this message should store the\n+event for a only 86400 seconds (1 day), as measured from that event's\n+origin_server_ts, after which they MUST prune the event from their\n+DBs.  We consciously do not redact the event, as we are trying to eliminate\n+metadata here at the cost of deliberately fracturing the DAG (which will\n+fragment into disparate chunks).\n+\n+```json\n+{\n+\t\"type\": \"m.room.message\",\n+\t\"min_lifetime\": 2419200,\n+\t\"content\": ...\n+}\n+```\n+\n+The above example means that servers receiving this message SHOULD store the\n+event forever, but MAY choose to prune their copy after 28 days (or longer) in\n+order to reclaim diskspace.\n+\n+```json\n+{\n+\t\"type\": \"m.room.message\",\n+\t\"self_destruct\": true,\n+\t\"expire_on_clients\": true,\n+\t\"content\": ...\n+}\n+```\n+\n+The above example describes 'self-destructing message' semantics where both server\n+and clients MUST prune/delete the event and associated data as soon as a read\n+receipt is received from the recipient.\n+\n+### User-advertised per-message retention\n+\n+If we had extensible profiles, users could advertise their intended per-message","path":"proposals/1763-configurable-retention-periods.md","position":134,"original_position":135,"commit_id":"f770440475d653b3648b7754403a61de3aa98d62","original_commit_id":"687b650581eb46bc862b4d282768596347196fc0","user":{"login":"maxidor","id":10545559,"node_id":"MDQ6VXNlcjEwNTQ1NTU5","avatar_url":"https://avatars2.githubusercontent.com/u/10545559?v=4","gravatar_id":"","url":"https://api.github.com/users/maxidor","html_url":"https://github.com/maxidor","followers_url":"https://api.github.com/users/maxidor/followers","following_url":"https://api.github.com/users/maxidor/following{/other_user}","gists_url":"https://api.github.com/users/maxidor/gists{/gist_id}","starred_url":"https://api.github.com/users/maxidor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/maxidor/subscriptions","organizations_url":"https://api.github.com/users/maxidor/orgs","repos_url":"https://api.github.com/users/maxidor/repos","events_url":"https://api.github.com/users/maxidor/events{/privacy}","received_events_url":"https://api.github.com/users/maxidor/received_events","type":"User","site_admin":false},"body":"There is no such thing as extensible profiles. What is the purpose of this section? Is there any kind of expectation or can this be safely be ignored?","created_at":"2018-12-30T00:43:21Z","updated_at":"2018-12-30T00:59:01Z","html_url":"https://github.com/matrix-org/matrix-doc/pull/1763#discussion_r244521637","pull_request_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/comments/244521637"},"html":{"href":"https://github.com/matrix-org/matrix-doc/pull/1763#discussion_r244521637"},"pull_request":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763"}}},"pull_request":{"url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763","id":241469907,"node_id":"MDExOlB1bGxSZXF1ZXN0MjQxNDY5OTA3","html_url":"https://github.com/matrix-org/matrix-doc/pull/1763","diff_url":"https://github.com/matrix-org/matrix-doc/pull/1763.diff","patch_url":"https://github.com/matrix-org/matrix-doc/pull/1763.patch","issue_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/1763","number":1763,"state":"open","locked":false,"title":"MSC1763: Proposal for specifying configurable message retention periods","user":{"login":"ara4n","id":1294269,"node_id":"MDQ6VXNlcjEyOTQyNjk=","avatar_url":"https://avatars2.githubusercontent.com/u/1294269?v=4","gravatar_id":"","url":"https://api.github.com/users/ara4n","html_url":"https://github.com/ara4n","followers_url":"https://api.github.com/users/ara4n/followers","following_url":"https://api.github.com/users/ara4n/following{/other_user}","gists_url":"https://api.github.com/users/ara4n/gists{/gist_id}","starred_url":"https://api.github.com/users/ara4n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ara4n/subscriptions","organizations_url":"https://api.github.com/users/ara4n/orgs","repos_url":"https://api.github.com/users/ara4n/repos","events_url":"https://api.github.com/users/ara4n/events{/privacy}","received_events_url":"https://api.github.com/users/ara4n/received_events","type":"User","site_admin":false},"body":"[Rendered](https://github.com/matrix-org/matrix-doc/blob/matthew/msc1763/proposals/1763-configurable-retention-periods.md)","created_at":"2018-12-30T00:20:42Z","updated_at":"2018-12-30T00:59:01Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9776b8988d81157804b5fdd4419fe2351d90af7b","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1006690935,"node_id":"MDU6TGFiZWwxMDA2NjkwOTM1","url":"https://api.github.com/repos/matrix-org/matrix-doc/labels/T-Core","name":"T-Core","color":"3f6caf","default":false},{"id":933911135,"node_id":"MDU6TGFiZWw5MzM5MTExMzU=","url":"https://api.github.com/repos/matrix-org/matrix-doc/labels/proposal","name":"proposal","color":"8fff87","default":false},{"id":926414344,"node_id":"MDU6TGFiZWw5MjY0MTQzNDQ=","url":"https://api.github.com/repos/matrix-org/matrix-doc/labels/proposal-in-review","name":"proposal-in-review","color":"9aaae2","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763/commits","review_comments_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763/comments","review_comment_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/comments{/number}","comments_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/1763/comments","statuses_url":"https://api.github.com/repos/matrix-org/matrix-doc/statuses/f770440475d653b3648b7754403a61de3aa98d62","head":{"label":"matrix-org:matthew/msc1763","ref":"matthew/msc1763","sha":"f770440475d653b3648b7754403a61de3aa98d62","user":{"login":"matrix-org","id":8418310,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg0MTgzMTA=","avatar_url":"https://avatars2.githubusercontent.com/u/8418310?v=4","gravatar_id":"","url":"https://api.github.com/users/matrix-org","html_url":"https://github.com/matrix-org","followers_url":"https://api.github.com/users/matrix-org/followers","following_url":"https://api.github.com/users/matrix-org/following{/other_user}","gists_url":"https://api.github.com/users/matrix-org/gists{/gist_id}","starred_url":"https://api.github.com/users/matrix-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matrix-org/subscriptions","organizations_url":"https://api.github.com/users/matrix-org/orgs","repos_url":"https://api.github.com/users/matrix-org/repos","events_url":"https://api.github.com/users/matrix-org/events{/privacy}","received_events_url":"https://api.github.com/users/matrix-org/received_events","type":"Organization","site_admin":false},"repo":{"id":24998719,"node_id":"MDEwOlJlcG9zaXRvcnkyNDk5ODcxOQ==","name":"matrix-doc","full_name":"matrix-org/matrix-doc","private":false,"owner":{"login":"matrix-org","id":8418310,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg0MTgzMTA=","avatar_url":"https://avatars2.githubusercontent.com/u/8418310?v=4","gravatar_id":"","url":"https://api.github.com/users/matrix-org","html_url":"https://github.com/matrix-org","followers_url":"https://api.github.com/users/matrix-org/followers","following_url":"https://api.github.com/users/matrix-org/following{/other_user}","gists_url":"https://api.github.com/users/matrix-org/gists{/gist_id}","starred_url":"https://api.github.com/users/matrix-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matrix-org/subscriptions","organizations_url":"https://api.github.com/users/matrix-org/orgs","repos_url":"https://api.github.com/users/matrix-org/repos","events_url":"https://api.github.com/users/matrix-org/events{/privacy}","received_events_url":"https://api.github.com/users/matrix-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/matrix-org/matrix-doc","description":"Matrix Documentation (including The Spec)","fork":false,"url":"https://api.github.com/repos/matrix-org/matrix-doc","forks_url":"https://api.github.com/repos/matrix-org/matrix-doc/forks","keys_url":"https://api.github.com/repos/matrix-org/matrix-doc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/matrix-org/matrix-doc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/matrix-org/matrix-doc/teams","hooks_url":"https://api.github.com/repos/matrix-org/matrix-doc/hooks","issue_events_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/events{/number}","events_url":"https://api.github.com/repos/matrix-org/matrix-doc/events","assignees_url":"https://api.github.com/repos/matrix-org/matrix-doc/assignees{/user}","branches_url":"https://api.github.com/repos/matrix-org/matrix-doc/branches{/branch}","tags_url":"https://api.github.com/repos/matrix-org/matrix-doc/tags","blobs_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/refs{/sha}","trees_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/matrix-org/matrix-doc/statuses/{sha}","languages_url":"https://api.github.com/repos/matrix-org/matrix-doc/languages","stargazers_url":"https://api.github.com/repos/matrix-org/matrix-doc/stargazers","contributors_url":"https://api.github.com/repos/matrix-org/matrix-doc/contributors","subscribers_url":"https://api.github.com/repos/matrix-org/matrix-doc/subscribers","subscription_url":"https://api.github.com/repos/matrix-org/matrix-doc/subscription","commits_url":"https://api.github.com/repos/matrix-org/matrix-doc/commits{/sha}","git_commits_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/commits{/sha}","comments_url":"https://api.github.com/repos/matrix-org/matrix-doc/comments{/number}","issue_comment_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/comments{/number}","contents_url":"https://api.github.com/repos/matrix-org/matrix-doc/contents/{+path}","compare_url":"https://api.github.com/repos/matrix-org/matrix-doc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/matrix-org/matrix-doc/merges","archive_url":"https://api.github.com/repos/matrix-org/matrix-doc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/matrix-org/matrix-doc/downloads","issues_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues{/number}","pulls_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls{/number}","milestones_url":"https://api.github.com/repos/matrix-org/matrix-doc/milestones{/number}","notifications_url":"https://api.github.com/repos/matrix-org/matrix-doc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/matrix-org/matrix-doc/labels{/name}","releases_url":"https://api.github.com/repos/matrix-org/matrix-doc/releases{/id}","deployments_url":"https://api.github.com/repos/matrix-org/matrix-doc/deployments","created_at":"2014-10-09T16:41:02Z","updated_at":"2018-12-24T09:29:43Z","pushed_at":"2018-12-30T00:36:44Z","git_url":"git://github.com/matrix-org/matrix-doc.git","ssh_url":"git@github.com:matrix-org/matrix-doc.git","clone_url":"https://github.com/matrix-org/matrix-doc.git","svn_url":"https://github.com/matrix-org/matrix-doc","homepage":null,"size":8636,"stargazers_count":183,"watchers_count":183,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":90,"mirror_url":null,"archived":false,"open_issues_count":535,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":90,"open_issues":535,"watchers":183,"default_branch":"master"}},"base":{"label":"matrix-org:master","ref":"master","sha":"8f1291a3e786c1848b5632864f2b813c7ff8cf91","user":{"login":"matrix-org","id":8418310,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg0MTgzMTA=","avatar_url":"https://avatars2.githubusercontent.com/u/8418310?v=4","gravatar_id":"","url":"https://api.github.com/users/matrix-org","html_url":"https://github.com/matrix-org","followers_url":"https://api.github.com/users/matrix-org/followers","following_url":"https://api.github.com/users/matrix-org/following{/other_user}","gists_url":"https://api.github.com/users/matrix-org/gists{/gist_id}","starred_url":"https://api.github.com/users/matrix-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matrix-org/subscriptions","organizations_url":"https://api.github.com/users/matrix-org/orgs","repos_url":"https://api.github.com/users/matrix-org/repos","events_url":"https://api.github.com/users/matrix-org/events{/privacy}","received_events_url":"https://api.github.com/users/matrix-org/received_events","type":"Organization","site_admin":false},"repo":{"id":24998719,"node_id":"MDEwOlJlcG9zaXRvcnkyNDk5ODcxOQ==","name":"matrix-doc","full_name":"matrix-org/matrix-doc","private":false,"owner":{"login":"matrix-org","id":8418310,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg0MTgzMTA=","avatar_url":"https://avatars2.githubusercontent.com/u/8418310?v=4","gravatar_id":"","url":"https://api.github.com/users/matrix-org","html_url":"https://github.com/matrix-org","followers_url":"https://api.github.com/users/matrix-org/followers","following_url":"https://api.github.com/users/matrix-org/following{/other_user}","gists_url":"https://api.github.com/users/matrix-org/gists{/gist_id}","starred_url":"https://api.github.com/users/matrix-org/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/matrix-org/subscriptions","organizations_url":"https://api.github.com/users/matrix-org/orgs","repos_url":"https://api.github.com/users/matrix-org/repos","events_url":"https://api.github.com/users/matrix-org/events{/privacy}","received_events_url":"https://api.github.com/users/matrix-org/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/matrix-org/matrix-doc","description":"Matrix Documentation (including The Spec)","fork":false,"url":"https://api.github.com/repos/matrix-org/matrix-doc","forks_url":"https://api.github.com/repos/matrix-org/matrix-doc/forks","keys_url":"https://api.github.com/repos/matrix-org/matrix-doc/keys{/key_id}","collaborators_url":"https://api.github.com/repos/matrix-org/matrix-doc/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/matrix-org/matrix-doc/teams","hooks_url":"https://api.github.com/repos/matrix-org/matrix-doc/hooks","issue_events_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/events{/number}","events_url":"https://api.github.com/repos/matrix-org/matrix-doc/events","assignees_url":"https://api.github.com/repos/matrix-org/matrix-doc/assignees{/user}","branches_url":"https://api.github.com/repos/matrix-org/matrix-doc/branches{/branch}","tags_url":"https://api.github.com/repos/matrix-org/matrix-doc/tags","blobs_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/refs{/sha}","trees_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/trees{/sha}","statuses_url":"https://api.github.com/repos/matrix-org/matrix-doc/statuses/{sha}","languages_url":"https://api.github.com/repos/matrix-org/matrix-doc/languages","stargazers_url":"https://api.github.com/repos/matrix-org/matrix-doc/stargazers","contributors_url":"https://api.github.com/repos/matrix-org/matrix-doc/contributors","subscribers_url":"https://api.github.com/repos/matrix-org/matrix-doc/subscribers","subscription_url":"https://api.github.com/repos/matrix-org/matrix-doc/subscription","commits_url":"https://api.github.com/repos/matrix-org/matrix-doc/commits{/sha}","git_commits_url":"https://api.github.com/repos/matrix-org/matrix-doc/git/commits{/sha}","comments_url":"https://api.github.com/repos/matrix-org/matrix-doc/comments{/number}","issue_comment_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues/comments{/number}","contents_url":"https://api.github.com/repos/matrix-org/matrix-doc/contents/{+path}","compare_url":"https://api.github.com/repos/matrix-org/matrix-doc/compare/{base}...{head}","merges_url":"https://api.github.com/repos/matrix-org/matrix-doc/merges","archive_url":"https://api.github.com/repos/matrix-org/matrix-doc/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/matrix-org/matrix-doc/downloads","issues_url":"https://api.github.com/repos/matrix-org/matrix-doc/issues{/number}","pulls_url":"https://api.github.com/repos/matrix-org/matrix-doc/pulls{/number}","milestones_url":"https://api.github.com/repos/matrix-org/matrix-doc/milestones{/number}","notifications_url":"https://api.github.com/repos/matrix-org/matrix-doc/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/matrix-org/matrix-doc/labels{/name}","releases_url":"https://api.github.com/repos/matrix-org/matrix-doc/releases{/id}","deployments_url":"https://api.github.com/repos/matrix-org/matrix-doc/deployments","created_at":"2014-10-09T16:41:02Z","updated_at":"2018-12-24T09:29:43Z","pushed_at":"2018-12-30T00:36:44Z","git_url":"git://github.com/matrix-org/matrix-doc.git","ssh_url":"git@github.com:matrix-org/matrix-doc.git","clone_url":"https://github.com/matrix-org/matrix-doc.git","svn_url":"https://github.com/matrix-org/matrix-doc","homepage":null,"size":8636,"stargazers_count":183,"watchers_count":183,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":90,"mirror_url":null,"archived":false,"open_issues_count":535,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":90,"open_issues":535,"watchers":183,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763"},"html":{"href":"https://github.com/matrix-org/matrix-doc/pull/1763"},"issue":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/issues/1763"},"comments":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/issues/1763/comments"},"review_comments":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763/comments"},"review_comment":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/pulls/1763/commits"},"statuses":{"href":"https://api.github.com/repos/matrix-org/matrix-doc/statuses/f770440475d653b3648b7754403a61de3aa98d62"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"maxidor"}}