From 42fba1a87ec5886a2cba9ee60359347ca2647234 Mon Sep 17 00:00:00 2001 From: Kitsune Ral Date: Sun, 3 Jun 2018 12:08:19 +0900 Subject: [PATCH 1/8] Add 'default' to formally enforce the description A quick follow up on #1265. Signed-off-by: Alexey Rusakov --- api/client-server/content-repo.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/client-server/content-repo.yaml b/api/client-server/content-repo.yaml index f76b2fb9..943fee3c 100644 --- a/api/client-server/content-repo.yaml +++ b/api/client-server/content-repo.yaml @@ -100,6 +100,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to @@ -154,6 +155,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to @@ -221,6 +223,7 @@ paths: name: allow_remote x-example: false required: false + default: true description: | Indicates to the server that it should not attempt to fetch the media if it is deemed remote. This is to prevent routing loops where the server contacts itself. Defaults to From f032d6d1c346e441cc666df73b528b8209e21011 Mon Sep 17 00:00:00 2001 From: Terrill Tsang Date: Tue, 26 Jun 2018 17:46:58 +0800 Subject: [PATCH 2/8] Update keys.yaml Fixed an end to end document bug , a format misleading in an claim response --- api/client-server/keys.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/client-server/keys.yaml b/api/client-server/keys.yaml index 5fb6318e..6e995c2c 100644 --- a/api/client-server/keys.yaml +++ b/api/client-server/keys.yaml @@ -274,7 +274,7 @@ paths: type: object description: |- One-time keys for the queried devices. A map from user ID, to a - map from ``:`` to the key object. + map from devices to a map from ``:`` to the key object. additionalProperties: type: object additionalProperties: From 5803c9cace238c6ce72bb52c0800e064ec5d6d48 Mon Sep 17 00:00:00 2001 From: Ben Parsons Date: Tue, 3 Jul 2018 15:49:40 +0100 Subject: [PATCH 3/8] don't run proposals.py step if in TravisCI environment --- scripts/generate-matrix-org-assets | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/generate-matrix-org-assets b/scripts/generate-matrix-org-assets index ed08f81d..cbebbb64 100755 --- a/scripts/generate-matrix-org-assets +++ b/scripts/generate-matrix-org-assets @@ -8,8 +8,11 @@ cd `dirname $0`/.. mkdir -p assets -# generate specification/proposals.rst -./scripts/proposals.py +if [ "$TRAVIS" != "true" ] +then + # generate specification/proposals.rst + ./scripts/proposals.py +fi # generate the spec docs ./scripts/gendoc.py -d assets/spec From eb21a71b702e481680800faba0dd3aa354df8c54 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 3 Jul 2018 10:49:55 -0600 Subject: [PATCH 4/8] Make the builder happier with Windows environments There's two main issues with Windows environments: * Slashes * Windows still notifies about some directories we've ignored, therefore we need to filter them too It's not super pretty, but it does work. --- scripts/continuserv/main.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index 330ddca7..fe4e5cc9 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -99,6 +99,7 @@ func makeWalker(base string, w *fsnotify.Watcher) filepath.WalkFunc { } // skip a few things that we know don't form part of the spec + rel = strings.Replace(rel, "\\", "/", -1) // normalize slashes (thanks to windows) if rel == "api/node_modules" || rel == "scripts/gen" || rel == "scripts/tmp" { @@ -125,6 +126,14 @@ func filter(e fsnotify.Event) bool { return false } + // Forcefully ignore directories we don't care about (Windows, at least, tries to notify about some directories) + filePath := strings.Replace(e.Name, "\\", "/", -1) // normalize slashes (thanks to windows) + if strings.Contains(filePath, "/scripts/tmp") || + strings.Contains(filePath, "/scripts/gen") || + strings.Contains(filePath, "/api/node_modules") { + return false + } + return true } @@ -149,6 +158,10 @@ func serve(w http.ResponseWriter, req *http.Request) { } b, ok = m.bytes[file] + if !ok { + b, ok = m.bytes[strings.Replace(file, "/", "\\", -1)] // Attempt a Windows lookup + } + if ok && file == "api-docs.json" { w.Header().Set("Access-Control-Allow-Origin", "*") } From 85e1962f9ceabd64d0a72d20eb651fe50172670c Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 3 Jul 2018 12:07:31 -0600 Subject: [PATCH 5/8] Use filepath.To/FromSlash instead of manually replacing slashes see https://github.com/matrix-org/matrix-doc/pull/1356#discussion_r199897557 --- scripts/continuserv/main.go | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/scripts/continuserv/main.go b/scripts/continuserv/main.go index fe4e5cc9..3797b9d7 100644 --- a/scripts/continuserv/main.go +++ b/scripts/continuserv/main.go @@ -98,8 +98,10 @@ func makeWalker(base string, w *fsnotify.Watcher) filepath.WalkFunc { log.Fatalf("Failed to get relative path of %s: %v", path, err) } + // Normalize slashes + rel = filepath.ToSlash(rel) + // skip a few things that we know don't form part of the spec - rel = strings.Replace(rel, "\\", "/", -1) // normalize slashes (thanks to windows) if rel == "api/node_modules" || rel == "scripts/gen" || rel == "scripts/tmp" { @@ -127,7 +129,7 @@ func filter(e fsnotify.Event) bool { } // Forcefully ignore directories we don't care about (Windows, at least, tries to notify about some directories) - filePath := strings.Replace(e.Name, "\\", "/", -1) // normalize slashes (thanks to windows) + filePath := filepath.ToSlash(e.Name) // normalize slashes if strings.Contains(filePath, "/scripts/tmp") || strings.Contains(filePath, "/scripts/gen") || strings.Contains(filePath, "/api/node_modules") { @@ -156,11 +158,7 @@ func serve(w http.ResponseWriter, req *http.Request) { if file[0] == '/' { file = file[1:] } - b, ok = m.bytes[file] - - if !ok { - b, ok = m.bytes[strings.Replace(file, "/", "\\", -1)] // Attempt a Windows lookup - } + b, ok = m.bytes[filepath.FromSlash(file)] // de-normalize slashes if ok && file == "api-docs.json" { w.Header().Set("Access-Control-Allow-Origin", "*") From aac7b848f77e4aeb5f72f7858ea4027f01d2b3c0 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 3 Jul 2018 13:10:28 -0600 Subject: [PATCH 6/8] Add uhoreg and myself as trusted speculator people --- scripts/speculator/main.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/speculator/main.go b/scripts/speculator/main.go index 0380a3cd..5e122503 100644 --- a/scripts/speculator/main.go +++ b/scripts/speculator/main.go @@ -713,6 +713,8 @@ func main() { "ara4n": true, "leonerd": true, "rxl881": true, + "uhoreg": true, + "turt2live": true, } if err := initCache(); err != nil { log.Fatal(err) From 2409c849686cf7028dd35d5c12cfb6fb67ed5565 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 3 Jul 2018 13:41:49 -0600 Subject: [PATCH 7/8] Document the GET version of /login Fixes https://github.com/matrix-org/matrix-doc/issues/677 --- api/client-server/login.yaml | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/api/client-server/login.yaml b/api/client-server/login.yaml index a6e21a38..c0db2299 100644 --- a/api/client-server/login.yaml +++ b/api/client-server/login.yaml @@ -28,6 +28,42 @@ securityDefinitions: $ref: definitions/security.yaml paths: "/login": + get: + summary: Get the supported login types to authenticate users + description: |- + Gets the homeserver's supported login types to authenticate users. Clients + should pick one of these and supply it as the ``type`` when logging in. + operationId: getLoginFlows + responses: + 200: + description: The login types the homeserver supports + examples: + application/json: { + "flows": [ + {"type": "m.login.password"} + ] + } + schema: + type: object + properties: + flows: + type: array + description: The homeserver's supported login types + items: + type: object + title: LoginFlow + properties: + type: + description: |- + The login type. This is supplied as the ``type`` when + logging in. + type: string + 429: + description: This request was rate-limited. + schema: + "$ref": "definitions/error.yaml" + tags: + - Session management post: summary: Authenticates the user. description: |- From 17c9cde0ec06e2f85b4e08615041890c4c223218 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 3 Jul 2018 13:46:57 -0600 Subject: [PATCH 8/8] Add to changelog --- changelogs/client_server.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/changelogs/client_server.rst b/changelogs/client_server.rst index feabecab..44d41f4e 100644 --- a/changelogs/client_server.rst +++ b/changelogs/client_server.rst @@ -15,6 +15,8 @@ Unreleased changes - Sticker messages: - Add sticker message event definition. (`#1158 `_). + - Document the GET version of ``/login`` + (`#1361 `_). - Spec clarifications: