diff --git a/src/Config.h b/src/Config.h index a129321f..02761435 100644 --- a/src/Config.h +++ b/src/Config.h @@ -61,7 +61,9 @@ inline const QRegularExpression url_regex( general_unicode + ")*))"; const auto query = R"(((?:[a-zA-Z0-9\-._~!$&'*+,;=:@/?\\{}]|)" + pct_enc + R"(|\((?-1)\)|\[(?-1)\]|)" + general_unicode + ")*)"; - const auto &fragment = query; + // explicitly allow # in fragments because of matrix.to urls generated by some clients... + const auto fragment = R"(((?:[a-zA-Z0-9\-._~!$&'*+,;=:@/?\\{}#]|)" + pct_enc + + R"(|\((?-1)\)|\[(?-1)\]|)" + general_unicode + ")*)"; return R"((?()" + protocol + "://" + "(?:" + userinfo + "@)?" + host + "(?::[0-9]+)?" + path + "?"