Skip to content

Open custom scheme fails #157

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions