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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Releases #24

Closed
ethanaobrien opened this issue Aug 9, 2021 · 48 comments · Fixed by #65
Closed

Releases #24

ethanaobrien opened this issue Aug 9, 2021 · 48 comments · Fixed by #65
Assignees

Comments

@ethanaobrien
Copy link
Collaborator

What all platforms are we going to release this on?

I've been doing some testing and we should be able to do everything from linux to macos to windows store apps.

I've been running into a lot of trouble packaging the appx. I packaged it into the appx but I cannot figure out how to sign it.

Your thoughts?

@terreng
Copy link
Owner

terreng commented Aug 9, 2021

I was thinking we'd do all three: Windows, macOS, and Linux. I've built it for macOS and Windows so far. There are some quirks with the different platforms.

I'll take care of packaging and signing. I was thinking we'd do a standard exe not UWP.

@ethanaobrien
Copy link
Collaborator Author

I think we should do both - all possible platforms. We could also be able to upload our app to the windows store

@terreng
Copy link
Owner

terreng commented Aug 9, 2021

Windows store will accept traditional exe or msi apps on Windows 11

@ethanaobrien
Copy link
Collaborator Author

@terreng Even today, windows 7 is the most commonly used platform - It will probably be a while before windows 11 is that commonly used.

Check #25 - I have started adding some make config in package.json

@terreng
Copy link
Owner

terreng commented Aug 9, 2021

We could do windows store and mac app store, but I think we should worry about that later.

Right now we should focus on getting the first version out on our website. Then we can start working on other distribution avenues.

@caasi-e
Copy link
Contributor

caasi-e commented Aug 9, 2021

I think windows apps are cleaner and easier to install rather than downloading from github and copying a bunch of files from all over the place.

@terreng
Copy link
Owner

terreng commented Aug 9, 2021

@ethanaobrien is this you?

@caasi-e
Copy link
Contributor

caasi-e commented Aug 9, 2021

I'm not @ethanaobrien , I can't really do Javascript and you guys are here doing full web servers

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented Aug 9, 2021 via email

@terreng
Copy link
Owner

terreng commented Aug 9, 2021

@caasi-e I saw you created your account less than an hour before posting here. How did you find this project, and why do you follow @ethanaobrien ?

@caasi-e
Copy link
Contributor

caasi-e commented Aug 9, 2021

I've been using/testing out things that @ethanaobrien has recommended for a while, I made an account today to leave the one comment, and I don't plan to make a habit out of commentating. I follow Ethan because he's a personal friend, good-luck on your project

@terreng
Copy link
Owner

terreng commented Aug 10, 2021

I think windows apps are cleaner and easier to install rather than downloading from github and copying a bunch of files from all over the place.

We'll package it up into an installer program, like most programs do. Users won't have to manually build or install it.

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented Aug 10, 2021

@terreng Once we do releases, would I be able to package and release a windows store app? I would be willing to pay $20 to create the account.

If you don't really care I would like to be in change of just keeping it updated and all the stuff there

@terreng
Copy link
Owner

terreng commented Aug 10, 2021

I think we can create a shared account and allow us to both publish releases. But please, let me have a chance to look into packaging and publishing options for all three platforms before we do anything. I'm going to keep working on the new UI for now, and we can come back to this once it's time to release. Sound like a plan?

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented Aug 10, 2021 via email

@ethanaobrien
Copy link
Collaborator Author

@terreng I'm going to go ahead and say what I've been thinking and then you can tell me what you think

I think we need to put this app out there, In every place we can. The more places/platforms we have it available on, the more it will spread, the larger chance that someone will write one of those articles on it.

I suggest we publish to the microsoft store, and (I'm not familiar with it at all) flatpack. If we could it would be cool if we could even put it in the linux repositories.

@terreng
Copy link
Owner

terreng commented Aug 15, 2021

We can publish this a variety of places once it's ready for release. 👍

@ethanaobrien
Copy link
Collaborator Author

@terreng
I've compiled for some (not all) platforms and uploaded them to the folder here. I've tested and they all seem to work

Do you have a macOS you can use to compile .dmg packages?

https://drive.google.com/drive/folders/1MmJYRceI1g1ZLNvANZ3AlnG9KB8GF3_h?usp=sharing

@terreng
Copy link
Owner

terreng commented Aug 27, 2021

Yeah, I have both macOS and Windows

@terreng
Copy link
Owner

terreng commented Nov 7, 2021

@ethanaobrien What platforms do you have to test on? I have both macOS and Windows. Do you have a Linux machine? Windows 7? 10? Let me know.

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented Nov 7, 2021

@terreng
I have windows. I also have a linux vm, a windows 7 vm, and it would be easy to make a new one if needed. The one thing I do not have is macOS

@terreng
Copy link
Owner

terreng commented Nov 7, 2021

Okay great. I can fine tune for macOS and Windows a bit. And you can test on Windows and Linux.

@ethanaobrien ethanaobrien changed the title Platforms Releases Dec 30, 2021
@ethanaobrien
Copy link
Collaborator Author

@terreng Can we delete the dist folder. This seems to insanely increase the file size when packing

@terreng
Copy link
Owner

terreng commented Dec 30, 2021

@terreng Can we delete the dist folder. This seems to insanely increase the file size when packing

The folder should be excluded from packaging, not deleted.

@terreng
Copy link
Owner

terreng commented Jan 25, 2022

@ethanaobrien I assume the installer will automatically update a previously installed version?

@ethanaobrien
Copy link
Collaborator Author

I assume the installer will automatically update a previously installed version?

I would assume so, but not sure

@terreng
Copy link
Owner

terreng commented Jan 25, 2022

I would assume so, but not sure

Could you test to find out? I would assume, just want to check.

By the way, I'm going to route all downloads from the website to the GitHub releases download URL. The download stats are publicly available through the GitHub API. So once the new version is released, you should send people the website/GitHub and not a Google Drive link. I do not want the program to have any kind of analytics/telemetry, other than update checking.

@terreng
Copy link
Owner

terreng commented Feb 6, 2022

I looked in to code signing, and found that it might not be as straightforward as I thought for an open source project. Code signing and macOS App Store would be $99 from Apple. Looks like Microsoft Store is $19 but also requires us to purchase a code signing cert separately. Looks like Microsoft Store allows any publisher name, but Apple requires a legal name or registered business. I also looked at some alternative app stores like Setapp.

I've concluded that we should just publish an unsigned app on our website for now. On Windows, this means users have to click past the UAC prompt. macOS doesn't like users installing unsigned apps either. So we'll need to provide instructions on the website for how to install on both OSes.

Let's look in to proper signing and further distribution after our initial release. I'm wondering if we might find an organization that provides signing / distribution for open source apps.

@terreng
Copy link
Owner

terreng commented Apr 25, 2022

@ethanaobrien Let's release this next month. Sound like a plan?

@ethanaobrien
Copy link
Collaborator Author

Yeah, I get back from vacation in 2 days should be able to fix the https thing then

@ethanaobrien
Copy link
Collaborator Author

@terreng

I went ahead and opened and issue in the electron forge repository seeing if there was a way to pack all the files, apparently this is implemented!

This is the link to the documentation

@terreng
Copy link
Owner

terreng commented May 13, 2022

I just switched from electron-forge to electron-builder, which uses asar by default.

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented May 13, 2022

Yeah, I saw, sounds good. Do you have an eta of when we can release?

@terreng
Copy link
Owner

terreng commented May 13, 2022

Do you have an eta of when we can release?

I'm currently working on building. So very soon.

@ethanaobrien
Copy link
Collaborator Author

Are we going to put #83 in the first release? We could at least add it to the documentation and have the config needed to be edited manually (or just document it later and release it as a "hidden" feature?)

@terreng
Copy link
Owner

terreng commented May 13, 2022

I'm not going to include it in the initial release. I have some ideas about it that I will share with you soon.

@terreng
Copy link
Owner

terreng commented May 20, 2022

@ethanaobrien Good news. It turns out that you actually don't need to sign appx packages for the Microsoft store. I'm working on the submission for the MS store, hopefully it goes through / gets accepted. The direct download from the website / GitHub still won't be signed, but it's less of an issue.

@ethanaobrien
Copy link
Collaborator Author

Awesome! Could you let me know when/if it gets approved?

@terreng
Copy link
Owner

terreng commented May 21, 2022

Awesome! Could you let me know when/if it gets approved?

Of course! I'll send the link, and put it on the website.

@terreng
Copy link
Owner

terreng commented May 23, 2022

@ethanaobrien Good news! Simple Web Server is officially on the Microsoft Store. At the moment, it comes up first when you search "web server". Here's the link: https://apps.microsoft.com/store/detail/simple-web-server/9PC6682RJCDD

I noticed that the app icon doesn't look great in a few places on Windows, either low resolution or with a gray border. I'll look in to how to fix that. I probably just need to add more icon sizes for the appx package.

Screen Shot 2022-05-23 at 10 57 08 AM

Screen Shot 2022-05-23 at 10 57 20 AM

Screen Shot 2022-05-23 at 10 57 29 AM

Next up is the macOS App Store...

@ethanaobrien
Copy link
Collaborator Author

Awesome!

@ethanaobrien
Copy link
Collaborator Author

@terreng could you remind me why we aren't distributing pre built files for Linux distributions?

@terreng
Copy link
Owner

terreng commented Sep 11, 2023

IIRC I just couldn't get the build to work for some reason. That's it, it could be really simple thing. #89

@ethanaobrien
Copy link
Collaborator Author

@terreng 2 things.

While simple web server is technically unsupported on chromeos, do we want to note that on any modern chromebook (since chrome 84) has a linux console that you can enable, and simple web server installs and runs quite perfectly in it?
Screenshots:
image
image

and it works and operates as it would on a normal debian computer.

Second thing, if you think its worth it, it wouldnt be difficult to host a debian repository to update the server debian image from, instead of having to re-download and install it manually every time. For an example of how this would look you can see https://ethanthesleepy.one/debian/, and if youd be interested in it I could tell you more.

@terreng
Copy link
Owner

terreng commented Oct 25, 2023

While simple web server is technically unsupported on chromeos, do we want to note that on any modern chromebook (since chrome 84) has a linux console that you can enable, and simple web server installs and runs quite perfectly in it?
Screenshots:

Incredible! That's fantastic. I had no idea Chromebooks could do that! (They probably couldn't back when I used them in middle school)

Does everything work okay? Specifically I'm wondering if it can access the filesystem and if the file picker works. What about options like "Keep running when closed"?

I don't have a Chromebook to test with, so it would be great if you could try everything out and see if everything works or not.

If it all works or all mostly works, then can you draft some instructions on how to install it? It would be great if you could take some screenshots of how to enable the Linux console and install the app.

Thanks again for bumping #89 a few weeks ago. Very cool that finishing that also gave us ChromeOS support for free.

Second thing, if you think its worth it, it wouldnt be difficult to host a debian repository to update the server debian image from, instead of having to re-download and install it manually every time. For an example of how this would look you can see https://ethanthesleepy.one/debian/, and if youd be interested in it I could tell you more.

I just opened #169 to solve this problem. I used electron-updater for another project and it worked great. I can't remember why I didn't use it before (I think I thought it required a Windows signing certificate?). Once I switch over to it, the app will be able to update itself automatically so users won't ever have to download new versions from the website ever again. I used it for Windows and macOS, but it looks like it supports Linux too via AppImage! Why don't we wait for me to try it out and we can see how well it works for Linux. Otherwise I would certainly be interested in hearing more about hosting a debian repository. I know very little about how Linux stuff works, so I would certainly want your recommendation on which options work best.

By the way, I just enabled GitHub Sponsors for my account and this repository.
Screenshot 2023-10-25 at 10 47 13 AM
I'm going to propose that we have it set up just for my account for now, since I'm the one who paid to get the app on the Microsoft Store and Mac App Store. I don't suspect we'll get much community funding if at all, but if we do then we can definitely set it up to split it later. Let me know if this sounds good.

@ethanaobrien
Copy link
Collaborator Author

ethanaobrien commented Oct 25, 2023

Does everything work okay? Specifically I'm wondering if it can access the filesystem and if the file picker works.

With the way chromeos works, the linux container has its own file system. You can go into the files app, right click on "share with linux" and it will be mounted under /mnt/chromeos/. Although I'd say most of the time the users site will be in the linux file system

What about options like "Keep running when closed"?

Just tested, yes and no. The app runs when closed, but does not seem to want to re-appear when clicked, but the server is still on. This is very likely a chromeos security thing. I just tested this in a debian vm and was incorrect, this seems to be an issue with linux as a whole. This is not chromeos specific.

Im sure you already know, but the debian app doesnt correctly display the app image.

I think I thought it required a Windows signing certificate

Yeah, thats correct. I was incorrect about that, sorry about that.

Once I switch over to it, the app will be able to update itself automatically so users won't ever have to download new versions from the website ever again. I used it for Windows and macOS, but it looks like it supports Linux too via AppImage!

Thats really nice!

Why don't we wait for me to try it out and we can see how well it works for Linux. Otherwise I would certainly be interested in hearing more about hosting a debian repository. I know very little about how Linux stuff works, so I would certainly want your recommendation on which options work best.

I would say in the long run, a simple debian repo would just be a convenience for debian (and ubuntu?) users, to update from the built-in package manager.

I'm going to propose that we have it set up just for my account for now, since I'm the one who paid to get the app on the Microsoft Store and Mac App Store. I don't suspect we'll get much community funding if at all, but if we do then we can definitely set it up to split it later. Let me know if this sounds good.

That is definitely good, youre the one whos paid for the domain/mac store/microsoft store/etc, and thank you so much for that.

@terreng
Copy link
Owner

terreng commented Oct 25, 2023

You can go into the files app, right click on "share with linux" and it will be mounted under /mnt/chromeos/.

This would be something to mention in the instructions. I think we should create a new page on the website just for explaining how to use it on Chrome OS.

@ethanaobrien
Copy link
Collaborator Author

Sounds good, I'll try to do this when I get the chance

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

Successfully merging a pull request may close this issue.

3 participants