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

Switching from Ferdi to Ferdium: pre-existing users will "lose" their config #4

Open
vraravam opened this issue Apr 16, 2022 · 24 comments
Milestone

Comments

@vraravam
Copy link
Contributor

With the merge of PR #2 , we now have a kind of broken system. Pre-existing users of Ferdi would have had their profiles in different location (for eg, in macos, the ferdi profile folder is: ~/Library/Application Support/Ferdi. With the new name, it will be ~/Library/Application Support/Ferdium. We might need to either have a page documenting how pre-existing users can move over without losing any data (just needs renaming of this folder) or provide an automated way to move them over. Just logging this bug ticket so that someone can take this up prior to our releasing any versions.

@vraravam vraravam changed the title Switching from Ferdi to Ferdium Switching from Ferdi to Ferdium: pre-existing users will "lose" their config Apr 17, 2022
@m1karii m1karii mentioned this issue Apr 17, 2022
30 tasks
@lheinke
Copy link

lheinke commented Apr 28, 2022

I tried to migrate from Ferdi to Ferdium on my computer, but was not able to. Since the migration script is for Windows only, I simply copied the contents of ~/.config/Ferdi to ~/.config/Ferdium but this did not work. Any helpful input on what could be the problem? My Ferdi instance is quite old, so the config folder takes up almost 7 GB.

@vraravam
Copy link
Contributor Author

Thanks for trying out Ferdium @lheinke !

If all you wanted to do was to migrate your local config folder from ferdi to ferdium, please check if these steps work:

  1. Open Ferdi.
  2. Go to Settings > Advanced and click on Open Profile folder. This should open the file explorer of your OS.

Screenshot 2022-04-28 at 5 20 15 AM

  1. Close Ferdi
  2. Back in the file explorer of your OS, rename the profile folder from Ferdi to Ferdium
  3. Start Ferdium

This should now start with your exact configurations from Ferdi.
Note: If you have any custom services, (not from the in-built services in Ferdium), you might need to edit them manually.

Please confirm if these steps help.

If you are trying to move away from the hosted server that holds your config/preferences, then please use the following guide

@krisrok
Copy link

krisrok commented Apr 28, 2022

I also copied manually from %appdata%\Ferdi to %appdata%\Ferdium and it also did not work for me. Config is being loaded (at least my GUI settings from Ferdi) but Ferdium only says "Could not load services and user information".

I was able to add my services by exporting my serverless profile with Ferdi and importing with Ferdium (using the web interface on http://localhost:45569). But then my GUI config was left behind. I did not find a way to make it both work.

@lheinke
Copy link

lheinke commented Apr 28, 2022

Thanks for the quick reply @vraravam! I am indeed trying to do the first thing. What you described corresponds exactly to what I was doing. Similarly to what @krisrok described I also just get the error but none of my workspaces/services were transferred. I am not using any custom services. This is a screenshot of the result:
Ferdium_Startup
I ran Ferdium from the terminal to check the output for any meaningful error messages but got nothing besides this unrelated error message:
[455915:0428/153048.878613:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.

@vraravam vraravam added this to the 6.0.0 milestone May 7, 2022
@Cknight70
Copy link

This is an issue for me too.

I have also tried importing my ferdi profile to ferdium localhost server while it has a clean local ferdium profile. I get the error request entity too large

@theretohere
Copy link

This is an issue for me too.

I have also tried importing my ferdi profile to ferdium localhost server while it has a clean local ferdium profile. I get the error request entity too large

I have the same issue:
I'm getting this error on import of a Ferdi backup into [Ferdium-linux-6.0.0-nightly.92-amd64.deb].

http://localhost:46569/transfer
request entity too large

@vraravam
Copy link
Contributor Author

As debugged with a sample file from another user, I noticed that the settings entry inside each of the services was a raw JSON (as opposed to a stringified representation of JSON). Changing that to stringified worked for me to upload a previously exported backup file.

Sample file that works:
Screenshot 2022-07-10 at 9 08 21 PM

Can someone else please confirm this? If so, then that's the bug that needs to be logged and solved

@real-or-random
Copy link

I just used the UNIX migration script on Linux (which essentially renames ~/.config/Ferdi to ~/.config/Ferdium and only got "Could not load services and user information" in Ferdium as others.

For me this did the trick:

If you want to switch to an offline account, just go to Settings > Logout/Exit Session > Use Ferdium without an account.

(from @SpecialAro in #249 (comment))

But I swear I had an offline account already in Ferdi. (I've just double-checked by restoring ~/.config/Ferdi from my backups and checking in Ferdi). So after the migration, Ferdium apparently assumed for some reason assumed that I have a Ferdi account but I don't.

People are just using the Server option without knowing...

(again @SpecialAro in #249)

I think this really may be due to the migration script not being perfect.

@SpecialAro
Copy link
Member

But I swear I had an offline account already in Ferdi.

Did you checked the Ferdi > Config > settings.json file if you had "server": "You are using Ferdi without a server" ?

I can see where the problem may be... this is probably because we changed Ferdi to Ferdium... and that's why it tries to connect to some non existent server.

@real-or-random
Copy link

real-or-random commented Jul 12, 2022

I checked the settings.json from my the Ferdi directory in my backup and it has this line, yes...

So I assume

export function serverName(): string {
const serverType = (window as any).ferdium.stores.settings.all.app.server;
const noServer = 'You are using Ferdium without a server';
is responsible here. It checks for the exact string with "Ferdium". Using the same string as UI string and as config options seems not ideal anyway. But I guess the quickfix is to accept the old string and also return No in that case.

@vraravam
Copy link
Contributor Author

@real-or-random - we implemented a fix the above comment and it is in the 6.0.0-nightly.99 nightly. Please test with this new version if possible. TIA

@theretohere
Copy link

It looks like there may be 2 separate issues here, but I'm still getting this error on import of a local Ferdi non-server backup into [Ferdium-linux-6.0.0-nightly.99-amd64.deb].

http://localhost:46569/transfer
request entity too large

@SpecialAro
Copy link
Member

It looks like there may be 2 separate issues here, but I'm still getting this error on import of a local Ferdi non-server backup into [Ferdium-linux-6.0.0-nightly.99-amd64.deb].

http://localhost:46569/transfer
request entity too large

That is another issue.. actually, there is already on opened here in GH (can't search right now).

@SpecialAro
Copy link
Member

SpecialAro commented Jul 13, 2022

@theretohere is your file bigger than 50mb?

@theretohere
Copy link

@theretohere is your file bigger than 80mb?

47kB

@vraravam
Copy link
Contributor Author

vraravam commented Jul 13, 2022

I was debugging with an exported file from another user - and found 1 issue: Can you please confirm if the settings key within each services array - can you please confirm if this is a JSON or a stringified JSON?
This file works for eg:
Screenshot 2022-07-13 at 9 50 32 AM

If this key's value is a JSON - then this error has been verified to occur.

@theretohere
Copy link

I saw that, but my export.ferdi-data looks different in vim. Not formatted at all, just a string of text with escape characters all over. What are you using to view the file?

@vraravam
Copy link
Contributor Author

I use visual studio code - and apply JSON formatting to make sense of the exported data.

@theretohere
Copy link

I use visual studio code - and apply JSON formatting to make sense of the exported data.

Okay, VSC installed, formatting selected. All my fields look like your example, except for the settings. That is just a jumble of escaped characters. I tried to convert to string, but nothing I found online works.

@vraravam
Copy link
Contributor Author

Okay, VSC installed, formatting selected. All my fields look like your example, except for the settings. That is just a jumble of escaped characters. I tried to convert to string, but nothing I found online works.

would you mind sharing your settings key here for at least 1 of the services?

@theretohere
Copy link

theretohere commented Jul 13, 2022

I just noticed the first 7 services have settings fields which are escaped text, and the last 4 services have settings fields which are readable strings.

I tried to stringify within VSC using 2 plugins: "JSON Parse & Stringify", and "Fix JSON", but neither worked. What are you using to fix these strings?

Can I DM a settings string to you?

@vraravam
Copy link
Contributor Author

sure - you can send it to me 1x1 in our discord chat

@cino
Copy link
Contributor

cino commented Jul 25, 2022

@vraravam Can we close this as well now 6.0.0 has been released or is this still an issue we need to solve?

@real-or-random
Copy link

@vraravam Can we close this as well now 6.0.0 has been released or is this still an issue we need to solve?

The problem with the different config strings still unresolved, see #473 (comment).

typoworx-de pushed a commit to typoworx-de/ferdium-app that referenced this issue Oct 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: New
Development

No branches or pull requests

8 participants