From 1543d2a17eb3fc252153482c702eba08a851e735 Mon Sep 17 00:00:00 2001
From: Jason Volk <jason@zemos.net>
Date: Tue, 14 Apr 2020 21:01:35 -0700
Subject: [PATCH] Fix missing urlencoding for room_id in typing requests.

---
 lib/http/client.cpp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/http/client.cpp b/lib/http/client.cpp
index ff5badc16..96cfc7f5d 100644
--- a/lib/http/client.cpp
+++ b/lib/http/client.cpp
@@ -695,8 +695,9 @@ Client::download(const std::string &server,
 void
 Client::start_typing(const std::string &room_id, uint64_t timeout, ErrCallback callback)
 {
-        const auto api_path = "/client/r0/rooms/" + room_id + "/typing/" +
-                              mtx::client::utils::url_encode(user_id_.to_string());
+        using mtx::client::utils::url_encode;
+        const auto api_path =
+          "/client/r0/rooms/" + url_encode(room_id) + "/typing/" + url_encode(user_id_.to_string());
 
         mtx::requests::TypingNotification req;
         req.typing  = true;
@@ -708,8 +709,9 @@ Client::start_typing(const std::string &room_id, uint64_t timeout, ErrCallback c
 void
 Client::stop_typing(const std::string &room_id, ErrCallback callback)
 {
-        const auto api_path = "/client/r0/rooms/" + room_id + "/typing/" +
-                              mtx::client::utils::url_encode(user_id_.to_string());
+        using mtx::client::utils::url_encode;
+        const auto api_path =
+          "/client/r0/rooms/" + url_encode(room_id) + "/typing/" + url_encode(user_id_.to_string());
 
         mtx::requests::TypingNotification req;
         req.typing = false;
-- 
GitLab