diff --git a/AppApi.cs b/AppApi.cs index 712880d2..50317626 100644 --- a/AppApi.cs +++ b/AppApi.cs @@ -369,11 +369,8 @@ namespace VRCX public string FollowUrl(string url) { - bool redirecting = true; - - while (redirecting) + for (int i = 0; i < 10; i++) { - Console.WriteLine(url); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.AllowAutoRedirect = false; request.UserAgent = "VRCX"; @@ -381,12 +378,12 @@ namespace VRCX if ((int)response.StatusCode == 301 || (int)response.StatusCode == 302) { url = response.Headers["Location"]; - if (url.Substring(0, 1) == "/" || url.Substring(0, 31) == "https://vrchat.com/home/launch?") + if (url.Substring(0, 1) == "/" || (url.Length > 30 && url.Substring(0, 31) == "https://vrchat.com/home/launch?")) return url; } else { - redirecting = false; + return ""; } } diff --git a/html/src/app.js b/html/src/app.js index e290c0bb..368153f5 100644 --- a/html/src/app.js +++ b/html/src/app.js @@ -427,9 +427,6 @@ speechSynthesis.getVoices(); } return response; } catch (e) {} - if (endpoint.substring(endpoint.length - 10) === '/shortName') { - return response; - } if (response.status === 200) { this.$throw(0, 'Invalid JSON response'); } @@ -15233,8 +15230,8 @@ speechSynthesis.getVoices(); API.$on('INSTANCE:SHORTNAME', function (args) { var url = ''; - if (args.json) { - url = `https://vrch.at/${args.json}`; + if (args.json && args.json.shortName) { + url = `https://vrch.at/${args.json.shortName}`; } $app.launchDialog.shortUrl = url; });