StreamDeckToolkit icon indicating copy to clipboard operation
StreamDeckToolkit copied to clipboard

Open custom scheme fails

Open AlexHedley opened this issue 4 years ago • 1 comments

Describe the bug Trying to open mystreamtimer://countdown/?mins=15 fails.

var url = mystreamtimer://countdown/?topofhour`
await Manager.OpenUrlAsync(args.context, "https://www.bing.com");
  • OpenUrlAsync
    • Manager.OpenUrlAsync(args.context, "https://www.bing.com");

To Reproduce Preferable See @JamesMontemagno's stream Stream Deck Extension for My Stream Timer

Expected behavior Any url opens

Examples mystreamtimer://countdown/?mins=15 mystreamtimer://countdown/?to=15:30 mystreamtimer://countdown/?topofhour

Added code from SO

private void OpenUrl(string url)
{
    try
    {
        Process.Start(url);
    }
    catch
    {
        // hack because of this: https://github.com/dotnet/corefx/issues/10361
        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
        {
            url = url.Replace("&", "^&");
            Process.Start(new ProcessStartInfo("cmd", $"/c start {url}") { CreateNoWindow = true });
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
        {
            Process.Start("xdg-open", url);
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
        {
            Process.Start("open", url);
        }
        else
        {
            throw;
        }
    }
}

Error Details N/A

Screenshots N/A

Desktop (please complete the following information):

  • OS: [e.g. Windows 10]
  • Version [e.g. 22]

Additional context N/A

AlexHedley avatar Oct 03 '20 15:10 AlexHedley

I do know that the open website command of the built in website does work when i have my custom scheme set.

jamesmontemagno avatar Oct 03 '20 17:10 jamesmontemagno