Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Enable saving own world on headless #1557

Open archer007 opened 7 months ago

archer007 commented 7 months ago

Is your feature request related to a problem? Please describe.

I am frustrated when you cannot save your own world that you have created when the session is hosted by a headless account

Describe the solution you'd like

Enable the "Save Changes" button to work in Session options when you are the world creator/publisher, have Admin in the world, and the session is hosted by someone else

Describe alternatives you've considered

Additional Context

This behavior essentially negates the advantages of headless for people who want to carefully manage and update their worlds - forcing them to set up a convoluted system to manage their worlds through a headless account, or worse, forcing them to use "Save As" and deal with manual version management and/or frequent world re-publishing

For an enthuisiant Resonite user who gets the Patreon headless tier, getting the headless set up may already be difficult. Dealing with the outlined problems in addition to that adds further complexity that can drive people away.

Furthermore, the way this is handled contributes towards a sense of brittleness and lack of confidence in the world saving and management system. If world saving - the culmination of hours of work per session, and easily more than that over longer running and larger projects - is not rock solid and reliable, then people begin to question if investing time in Resonite is worth it. Effectively forcing people to forgo the stability advantage of headless to simply be able to save their own worlds easily is something that needlessly damages trust and confidence in the platform

Requesters

Archer42

Frooxius commented 7 months ago

How are you loading the world on the headless? It sounds like you're using different account for headless than your normal account?

I see this as a bit tricky to handle for a few reasons:

There are solutions around this - perhaps a mechanism that would let you have the headless account "co-own" stuff, but that might also require more setup on user side.

Using your main account might be the best solution here. Instead of disregarding this solution, we could perhaps look into addressing the problems with it, to make it into a more viable solution.

archer007 commented 7 months ago

Using your main account might be the best solution here. Instead of disregarding this solution, we could perhaps look into addressing the problems with it, to make it into a more viable solution.

I don't really have the specific technical backend knowledge to recommend an approach, but Gmail handles a somewhat similar problem by using app-specific passwords - see https://support.google.com/accounts/answer/185833?hl=en and https://myaccount.google.com/apppasswords if you have a Gmail account.

If you have a long randomly generated "alternate" password on your main account for headless use, and any problems with using your main account on headless are fixed, then this may be a good solution. Your main/primary password doesn't need to be stored on a server and then the headless password could be easily changed if it was ever compromised. In addition, it could probably be implemented as bot commands like /GetCurrentHeadlessPassword and /SetNewHeadlessPassword. You would also be able to limit access to the account to only what a headless needs.

Maybe also add a headless user command of /SaveChangesToWorld if you can't enable the Save button or it's simpler not to