greeny / SatisfactoryTools

Satisfactory Tools for planning and building the perfect base.
https://www.satisfactorytools.com/
MIT License
268 stars 57 forks source link

Update website to default U4 and retire U3 #69

Closed IanKemp closed 1 year ago

IanKemp commented 3 years ago

If you go to https://www.satisfactorytools.com/ it defaults to update 3:

image

If you go to https://u4.satisfactorytools.com/ it defaults to update 4:

image

The default for https://www.satisfactorytools.com/ should be changed to update 4 as having it default to update 3 is confusing. The dropdown should be removed since there's no longer any reason to use U3 (but functionality should remain to handle U5 once that arrives). The U3 functionality (all recipes/code paths) should be completely removed.

greeny commented 3 years ago

Hi, the issue is that each domain has separate client-side storage for saving production lines, so if I'd make that change, people would lose their U4 saved setups. I'm working on a way to migrate the setups from https://u4.satisfactorytools.com/ to https://www.satisfactorytools.com/, but it takes time. I may put some notice on U3 version so people would switch to U4. If it was as easy as just switching the default version, then it'd be done by now ;)

IanKemp commented 3 years ago

Local storage migration should be as simple as using the old cross-domain-PostMessage-with-frames trick: https://stackoverflow.com/a/33957989/70345 (not trying to tell you how to do it, just throwing that up there in case it's helpful). Although, you actually need to do two migrations: one for pulling the u4 local storage across to the www subdomain, and one for migrating existing u3 setups on www to u4 (due to blueprint changes from u3 to u4). A little painful!

A notice on www suggesting people go to u4 would be an acceptable stopgap solution, but you could also consider auto-redirecting someone landing on www to u4 if they don't have anything in their local storage.

I'll leave it up to you as to how you want to handle this ticket (leave it open until you've added a notice, leave it open until migrations are done, or ...).

greeny commented 3 years ago

Yeah, I do have some ways that I could solve this. It's just a bit complicated and I also want to change the save data format due to upcomming changes, so it takes time.

I'll close this when it's implemented :)

gthemean commented 3 years ago

I cant wait for this to happen as hopefully it will solve a problem I'm having at work. https://www.satisfactorytools.com/ works fine but https://u4.satisfactorytools.com/ get blocked as "Suspicious". This means I actually have to do work instead of planning my next mega build lol

Thanks for this amazing tool.

SimonSapin commented 2 years ago

I started using the calculator/production tool again and it took me several minutes of seeing unexpected results to realize I was using the wrong version. Until a full migration is possible, a more visible warning when using Update 3 tools would be appreciated.

alexanderpas commented 2 years ago

A solution for the local storage issue would be to have https://satisfactorytools.com/ and https://www.satisfactorytools.com/ redirect to https://u4.satisfactorytools.com/ using a 302 redirect, when dropping support for Update 3, and introduce support for Update 5 on https://u5.satisfactorytools.com/

This allows https://satisfactorytools.com/ and https://www.satisfactorytools.com/ to always point to the latest stable version, since it is redirected using a 302 redirect, while the localstorage is preserved since the data is stored on the update specific domains

In case you want to keep the update 3 designs made on https://www.satisfactorytools.com/, you could provide a migration path to https://u3.satisfactorytools.com/ for those that have LocalStorage data on the https://www.satisfactorytools.com/ domain.

Update 5 is expected to release on Experimental in just a couple of days on the 26th of October.

greeny commented 2 years ago

A solution for the local storage issue would be to have https://satisfactorytools.com/ and https://www.satisfactorytools.com/ redirect to https://u4.satisfactorytools.com/ using a 302 redirect, when dropping support for Update 3, and introduce support for Update 5 on https://u5.satisfactorytools.com/

In the planned future update (which I may or may not get in time for U5 launch) I plan to support multiple game versions on a single domain, by changing how data is handled a bit.

In case you want to keep the update 3 designs made on https://www.satisfactorytools.com/, you could provide a migration path to https://u3.satisfactorytools.com/ for those that have LocalStorage data on the https://www.satisfactorytools.com/ domain.

This migration is indeed the only thing I'm having slight issues with. I do have some ideas on how to migrate it properly, I'm just super busy with trying to finish the big update.

Thanks for the suggestions though! If I won't make the update before U5 hits us, then I'll do some quick fix, maybe similar to what you've suggested.

greeny commented 2 years ago

This is now "fixed" and U3 is no longer alive. I'll close this when I finish merging U4 and U5 (or when U5 goes to EA)

greeny commented 1 year ago

Closing as U4 is no longer supported