electron-release-server
electron-release-server copied to clipboard
[FR] support multiple apps
That would be great to be able to handle multiple apps on one instance. Would make things a lot easier!
Thanks
@farfromrefug This would be super powerful. Sadly I don't have time to work on such features these days, but a PR would be wonderful!
@ArekSredzki I am not so good with sails :P But i think it could easily be done. I will look at it when i have time. Thanks
@farfromrefug I am a little familiar with Sails maybe I can help. I'm gonna look into the source code to see if I can do something to help.
Awesome, thanks!
Let me know if you have questions :)
I think the first question is what's the best model. I was thinking about adding an App
model.
Then each Version
/ Channel
/ Asset
would have a link to it .
I think it needs to be a 1tomany from App
. Do you agree?
When we have this it should be straight forward. When the user wants to add a Version, we propose him a list of Apps, or create one.
Now i am not sure how to handle the routes from here There should be routes starting with the app name for each app. That's out of my Sails knowledge :P
@farfromrefug I totally agree.
I think the route would be somenthing like this:
'GET /download/:app/version/:version/:platform?'
Where :app is a code the user will input when create the application in the server (maybe auto-generated?). The code should be something like "my-electron-app", avoiding spaces and special chars.
I think the main problem here is how the Squirrel-compatible endpoint will handle multiple apps.
Sounds great guys!
The endpoint format shouldn't be an issue for squirrel, the app can just use download/:app/:platform as the base string
And '/update/:app/:platform/:version/:channel' for checking updates.
Squirrel mostly just cares that the version is present in the download link
@ArekSredzki That's good to know. I've never used Squirrel, so it's kinda mysterious to me.
@farfromrefug Later I'm gonna try to do start some work on this. What you think of set up a Trello board to keep a To-do list ?
@renanvieira Yeah, personally I'm not a huge fan of it, it has a lot of quirks. The windows version parses the version number from the filename, which really sucks if you want to have multi-platform releases since you have to serve both architectures' artifacts with the same filename... which is another thing to fix. Thankfully the OS X version is better architected. The docs for it are here https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/naming.md
You guys can use trello, or just keep a todo list here :)
- [ ] like this
I prefer the todo here too. Trello might be overkill for this.
@farfromrefug @renanvieira Any progress on this? :)
Not yet, @ArekSredzki. I am finishing up a project this month and will have some free time to work on that after July 1st.
Same thing here, no such free time those weeks
Hi this is very interesting . You need help ?
@qneyrat It doesn't seem like anyone is working on this right now. If you could take it on, that'd be incredible. :)
yep i can :) follow my fork
@qneyrat @ArekSredzki sorry for not looking at this. I still really want it but i don't have free time those days @qneyrat will follow your fork ;)
Maybe e url like <DOMAIN>/:app/<CURRENT PATH PATTERN> could be easier to handle with angular router, every app can have a base page that act identicaly like current app. This way with some changes on actual app it can handle different apps. For the uploaded files also could be nice to have /path/to/upload/folder/:app/executable. And db can be handled by prefixing tables or extra table for apps or just a filed on assest.
What is the status on this?
While this may not be exactly what you are looking for, I have created a PR with the idea of "flavors" of an app. Our use case is different clients using nearly the same app but with slight changes for white labeling purposes. Maybe you can repurpose the code or use it as is to achieve your desired result.
https://github.com/ArekSredzki/electron-release-server/pull/202