diff --git a/include/ircd/json/json.h b/include/ircd/json/json.h index 7b702dd96..aa01bfc39 100644 --- a/include/ircd/json/json.h +++ b/include/ircd/json/json.h @@ -86,7 +86,11 @@ namespace ircd struct ircd::json::string :string_view { - using string_view::string_view; + string(const string_view &s) + :string_view{unquote(s)} + {} + + string() = default; }; template diff --git a/modules/m_receipt.cc b/modules/m_receipt.cc index fb562dc7a..71cdfa0b7 100644 --- a/modules/m_receipt.cc +++ b/modules/m_receipt.cc @@ -165,7 +165,7 @@ try m::event receipt; json::get<"depth"_>(receipt) = json::undefined_number; - json::get<"type"_>(receipt) = "m.receipt"; + json::get<"type"_>(receipt) = "m.receipt"_sv; json::get<"room_id"_>(receipt) = room_id; json::get<"sender"_>(receipt) = user_id; json::get<"origin"_>(receipt) = user_id.host(); diff --git a/modules/m_typing.cc b/modules/m_typing.cc index 51071de5c..ac6e68764 100644 --- a/modules/m_typing.cc +++ b/modules/m_typing.cc @@ -81,7 +81,7 @@ _handle_edu_m_typing(const m::event &event, m::event typing{event}; json::get<"room_id"_>(typing) = room_id; - json::get<"type"_>(typing) = "m.typing"; + json::get<"type"_>(typing) = "m.typing"_sv; char buf[512]; const json::value user_ids[]