Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any ETA when it will be available in Microsoft Store? #34

Closed
ghost opened this issue Jun 4, 2018 · 30 comments
Closed

Any ETA when it will be available in Microsoft Store? #34

ghost opened this issue Jun 4, 2018 · 30 comments
Labels
question Further information is requested

Comments

@ghost
Copy link

ghost commented Jun 4, 2018

P.S. Thanks a lot for the app! I have some ideas and I hope I'll contribute with pleasure when I get more free time 馃槈

@felixse
Copy link
Owner

felixse commented Jun 4, 2018

Current ETA is never 馃槃

I would love to add this to the store, but there are 2 problems with getting this past the certification:

  1. It is not compatible with Windows 10 S, since there is no cmd.exe/powershell.exe in this version of Windows, which would render the app completely useless.
  2. I am bypassing a network isolation rule which blocks UWP apps from connecting to localhost. We need this for our websocket connection between the xterm.js in our WebView and our winpty backend.

We might be able to circumvent the second problem by switching to https://github.com/darrenstarr/VtNetCore.UWP once it is ready to use, but changes are high that the certification will still fail due to the Windows 10 S support

@balcsida
Copy link

balcsida commented Jun 4, 2018

@felixse: Several, larger apps (eg. Photoshop Express, Paint.NET) doesn't work on Windows 10 S either, I don't think this would be a problem.

@ghost
Copy link
Author

ghost commented Jun 4, 2018

It is not compatible with Windows 10 S, since there is no cmd.exe/powershell.exe in this version of Windows, which would render the app completely useless.

As far as I can tell that's not a problem, because you can specify which Windows editions do you support by your app.

I am bypassing a network isolation rule which blocks UWP apps from connecting to localhost. We need this for our websocket connection between the xterm.js in our WebView and our winpty backend.

Unfortunately I have nothing to say, but I hope that's can be implemented / fixed.

@felixse Thank you again, love your app 馃槈

@felixse felixse added the question Further information is requested label Jun 4, 2018
@balcsida
Copy link

balcsida commented Jun 9, 2018

I am bypassing a network isolation rule which blocks UWP apps from connecting to localhost. We need this for our websocket connection between the xterm.js in our WebView and our winpty backend.

Edge extensions have the same limitations, which can be bypassed by the setting described on qzind/tray#6

There is a registry entry to that, so simply adding this reg file should resolve this:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap]
"IntranetName"=dword:00000000

See webextension-toolbox/webextension-toolbox#22 for more info (we use local WS connection to autoreload extension and tab on save)

If you have time, could you please try this method?

@felixse
Copy link
Owner

felixse commented Jun 9, 2018

Hey,
we already have a workaround for this limitation (see: https://github.com/felixse/FluentTerminal/blob/master/FluentTerminal.SystemTray/LoopbackEnabler.cs)
The problem is that Microsoft most certainly will not allow these hacks in the store.

@Riebart
Copy link
Contributor

Riebart commented Jun 22, 2018

Stumbled across this documentation that seems to be an officially schema manifest entry for allowing a UWP app to talk to its own service. Looks like it will enforce that we can't talk to other things on localhost, but this might be good enough, and also might help with #43 ?

This MSDN thread has some illuminating discussion.

@felixse
Copy link
Owner

felixse commented Jun 22, 2018

@Riebart
Copy link
Contributor

Riebart commented Jun 22, 2018

Yeah, I read that "only for other apps" comment, but it didn't seem to make sense since it claims that UWP apps have access to other sockets on localhost started by processes within their package, but that seems to not be true. Unless the FullTrust-ness of the system tray application breaks it out of the UWP app package boundary? I don't know enough about UWP development to make heads or tails of those inconsistencies.

I actually bumped into this with the UWP RDP app as I usually SSH port-forward RDP connections through a gateway, and the UWP RDP app was refusing to allow me to connect to localhost. But yes, this loopback connection is indeed the issue for #43 (I'll be posting a comment there momentarily).

That said, it looks like you can use named pipes across processes within a package boundary (ref)? I still need to do some more reading, but if we can get the JavaScript WebSocket in the main terminal view, and then pass the named pipes from the system tray to the main terminal view, that could work.

@felixse
Copy link
Owner

felixse commented Jun 22, 2018

Yes, to me it also sounds like FullTrust is 'outside' of the package in regard of the network sandbox.

The double piping you described sounds like an interesting idea. I will hack something together and see how it performs 馃槃

Another thing I tried this evening was to move winPTY into the app itself, but I cannot get it to create the pipes it needs to operate on.

@Riebart
Copy link
Contributor

Riebart commented Jun 22, 2018

Yeah, the UWP portion of the app won't be able to load the winpty DLL, as the DLL environment of UWP apps is tightly controlled, so that makes sense that the winpty interface needs to be in the tray application.

That said, we should be able to create the pipes in and out of the system tray using named pipes as you currently do, and just move the fully .NET WebSockets library into the UWP app. That removes the localhost-across-processes issue, and moves it into a named-pipes-inside-the-package context. This will make the required Windows version 1709 or newer, but I think that's probably fine.

Here's to hoping that Microsoft's documentation is correct. 馃樃

@felixse
Copy link
Owner

felixse commented Jun 22, 2018

I'm on this right now, really hope this will work, and not perform like crap 馃槂
Its getting a bit weird, we have pipes from winPty, connected to UWP conform pipes, connected to a webSocket.
1709 is already the minimum version, at least one thing less to worry about 馃槃

@felixse
Copy link
Owner

felixse commented Jun 24, 2018

No luck so far with getting your idea running. I have pushed my current working state to Dev/NamedPipe if you want to have a look at it. Maybe you find something I overlooked, but it seems to me that the SystemTray running outside of the app's security context also means that we cannot use a \LOCAL pipe between the App and the SystemTray.

Next thing I will try is to use the AppServiceConnection instead of the named pipes. Not my favorite option since this would basically limit use to one connection for all open terminals, but let's see how it turns out.

@Riebart
Copy link
Contributor

Riebart commented Jun 24, 2018

Aw fudge. I was hoping that would work, but now that I've done some more reading, it looks like FullTrust processes are indeed outside of the app container boundary, so both the localhost loopback, and the named pipes in the LOCAL context are out. The AppServiceConnection async message-passing mechanism is the only way that you are supposed to be able to communicate it seems.

I think my effort should be first applied to getting #45 updated and merged in, then I'll spin back around to this.

@felixse
Copy link
Owner

felixse commented Jul 18, 2018

Good news everybody.
Using AppServiceConnection for a little problem seems to be not as bad as I thought. Its working quite good on Dev/AppServiceCommunication, just needs some more polishing.

After this is done I will try to submit a version to the Store 馃槂

@felixse
Copy link
Owner

felixse commented Aug 1, 2018

I just submitted a version to the store. Let's hope the best 馃

@felixse
Copy link
Owner

felixse commented Aug 13, 2018

Short update: It got rejected because it crashes on launch. I think this might be because they tested it with Windows 10 S. I'm a bit short on time right now, but I will try to set up a Windows 10 S environment to check this

@NatoBoram
Copy link

In that case, would it be a good idea to check for the existence of cmd.exe and powershell.exe?

@felixse
Copy link
Owner

felixse commented Sep 19, 2018

That's actually handled already. I received a video from Microsoft showing the instant crash but I had no luck reproducing this on a Windows 10 S test environment. The plan right now is to add some more features/fixes and then resubmit it. If it continues to fail I will see if I can get some assistance from Microsoft.

@villasv
Copy link

villasv commented Oct 15, 2018

Really looking forward to this. I think it'll be a major adoption accelerator for WSL!

@DuIslingr
Copy link

Any update on this?

@DRSDavidSoft
Copy link
Contributor

@felixse You might provide a pseudo-shell on Windows S, that could be useful if you have time to write one.

@davidanthoff
Copy link

Any update? I just started using this, it is awesome, the only (somewhat) inconvenient stuff is the installation, having it in the store would be awesome!

mjs pushed a commit to mjs/FluentTerminal that referenced this issue Apr 23, 2019
Solved the bug with missing FluentTerminal.App_TemporaryKey.pfx.
@sheikalthaf
Copy link

sheikalthaf commented Jun 16, 2019

@felixse Thanks for the wonderfull terminal.

Any update on store publishing. It is good to have in store so that it will be an alternative to the windows terminal for those who need more features.

@felixse
Copy link
Owner

felixse commented Jun 16, 2019

I might try submitting it again after the next version is released. Until then you can also install this from here or on chocolatey

@xa0082249956
Copy link

xa0082249956 commented Nov 15, 2019

Short update: It got rejected because it crashes on launch. I think this might be because they tested it with Windows 10 S. I'm a bit short on time right now, but I will try to set up a Windows 10 S environment to check this

And one year later they published Windows Terminal in Microsoft Store even if it just crash in S Mode (but you can indeed find install it under S mode).

@felixse
Copy link
Owner

felixse commented Mar 31, 2020

https://www.microsoft.com/en-us/p/fluent-terminal/9p2krlmfxf9t

We got a release now 馃帀

Since this changes the app id again I recommend updating to the normal 0.7.1.0 release first (soon) which will improve settings migration

@felixse felixse closed this as completed Mar 31, 2020
@villasv
Copy link

villasv commented Mar 31, 2020

There's a missing t on that link :-) congrats!

@felixse
Copy link
Owner

felixse commented Mar 31, 2020

thanks, fixed it

@pgalbraith
Copy link
Contributor

Great news, particularly as I was having trouble getting the latest version to update properly in chocolatey!

@felixse do you think it's possible to get an administrative launch link on Fluent Terminal, like they've managed to do with the new Windows Terminal preview that's also in the store?

@felixse
Copy link
Owner

felixse commented Mar 31, 2020

Not exactly. It's a bit complicated, but I will probably try to add something like #6 (comment) as an "run as administrator" setting in profiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests