Skip to content

Open custom scheme fails #157

@AlexHedley

Description

@AlexHedley

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions