Homebrew RELEASE JKSV (save manager) for Switch

  • Thread starter Thread starter JK_
  • Start date Start date
  • Views Views 202,676
  • Replies Replies 633
  • Likes Likes 27
Seriously, if you're trying to test your RAM, why are you surprised that the ram tester requires access to ALL OF IT, and why wouldn't you want to test all of it? This is now getting a bit ridiculous. The only thing I said was running in applet mode was jksv. The latest commits warn that applet mode won't let you use some feature, but it keeps running (no crash).
 
  • Haha
Reactions: impeeza
can we let the discussion here, you HAVE to use the FULL TITLE Override to run Homebre PERIOD. Applet mode is only for very special procedures.
@impeeza you're right,some apps work in applet mode like: Tinwooinstaller,HB app Store,NX Shell,Goldleaf etc... others require full Ram mode.
Post automatically merged:

I wanted to clarify for everyone that i had that problem and I didn't come here to make fun of or troll anyone👌👋.
 
Last edited by NeoGranzon,
  • Love
Reactions: impeeza
  • Like
Reactions: Blythe93
@JK_ bro thus it matter if you use JKSV in applet mode or full memory mode? by the way thanks for this great tool!
If you're in applet mode, Google drive is a no go because of needing the web browser to log in. Your milage may vary depending on how many saves you have. I put a warning, but I didn't feel like completely disabling it was the right move because most of it still works fine.

Rewrite didn't like to start in applet mode last time I was working on it, but I pinned that down to the account service.
 
So, once the rewrite is done, on first boot I think JKSV is going to walk you through configuring it and explaining things better. It seems a lot of people don't even look past the first few options or users on the main menu and don't realize how configurable JKSV actually is. Some of the stuff I'd consider really, really extra might not make it right away. I'm talking about things like filtering out certain files and directories from being backed up. Basically stuff most people don't even know exists in it.
 
@JK_ I read in another thread that there are problems with certain savegames and that this can be fixed by creating zip saves. I hope I have understood this correctly. Wouldn't it make sense to set the corresponding option in the settings to “ON” by default?
 
  • Like
Reactions: impeeza
@Muxi
You are right. I'm kind of torn on the issue because leaving it as-is allows easier access to the files themselves for editing and research. Having to unzip them and re-zip makes it more of a pain to do simple things with them. I'll explain below.

So, something I'm not sure most people know is that the Switch save file containers can handle UTF-8 paths no problem, but the SD card can't. The SD card only likes ASCII. Due to recent events we now know that case sensitivity is an issue too. There's an issue that arises with just changing the default config value in JKSV's code: Most people have been using JKSV for years without realizing it supports ZIP, and even if I did change the default in code the config is going to load the previous false from the config anyway. This is why I mentioned earlier having an old school config wizard type deal in the rewrite. JKSV's rewrite is going to drop my old file parsing class and just use JSON. I can easily detect if the config JSON file exists on boot and walk you through it.

I don't want to start anything. I really mean this by the way. I've seen a few people ask questions about it on other places. Spread the word if need be: If you've been the victim of recent events and your save file ZIPs from a certain other app are obfuscated to prevent me from debugging JKSV with them: Use 7zip on Windows. I was using unzip on Linux and it told me what he did right away. That's why it didn't work and I didn't fall for it. Again, this isn't to start more nonsense. People need to know this so they can use their save data. They are the victims of a massive lie. The need to know.

Have a great day everyone. Take it easy.
 
Thank you for your comments. Would it at least be possible to save the settings in an ini or config file in the folder where JKSV.nro is located? So far, the settings seem to be stored in the tool itself. I could not find such a file in the JKSV folder of the SD card root. This would save me having to set the options again after an update, as all settings would then be reset to the default.
 
Thank you for your comments. Would it at least be possible to save the settings in an ini or config file in the folder where JKSV.nro is located? So far, the settings seem to be stored in the tool itself. I could not find such a file in the JKSV folder of the SD card root. This would save me having to set the options again after an update, as all settings would then be reset to the default.
They're stored in the config folder in your SD card's root. It should be in "sdmc:/config/JKSV/". It was requested years ago. It was previously stored in the JKSV folder itself, but people didn't like that because it would get deleted if they wanted to start fresh.

I should also mention that you need to quit JKSV with plus for your settings to save correctly. It's saved on quitting and closing it any other way will make this fail.
 
  • Like
Reactions: Blythe93 and Muxi
Ah, OK! Thanks for the tip! I wasn't looking for it there.

Edit:
Then my suggestion to set the Zip option as the default is superfluous.
 
Last edited by Muxi,
  • Like
Reactions: impeeza
Then my suggestion to set the Zip option as the default is superfluous.
Not really. I've noticed a lot of people never seem to venture further than the users and system type saves in the first menu with the icons.

You know those little prompts that make you hold the buttons to confirm things? Those actually drive me nuts and wouldn't be there if it weren't for people accidentally deleting their backups or overwriting their saves and coming to me to complain that there should be a better way to prevent it. Solution: Make you hold the button for 3 seconds or so to confirm. What happens then? People complain about having to hold the button and how much extra time it takes. Another solution: Dump the save automatically before restoring another. What happens then? People complain about all the extra backups. Hahaha. You really can't win or please everybody. So, I did my best. The problem is, it's sort of hidden. I'm not perfect and never claimed to be. They aren't immediately obvious or visible when you first start JKSV. They get pushed down and hidden because JKSV's first priority is being a save manager. I thought it would be best to have users and saves first. Unintended side effect: People can't see the settings option. It also doesn't help that LibNX doesn't really work the same as ctrulib in certain aspects too. The config saving being the best example. On 3DS, once aptMainLoop or the isRunning function returned false, it meant JKSM was closed either by pressing start or the home button. On Switch, this isn't true so now you have the issue of the config not saving unless JKSV is closed with the plus button and allowed to cleanup properly. Maybe I'm wrong, so someone can correct me if that isn't the case anymore.

I'm also always open to constructive criticism and suggestions too. I'm not going to get mad, throw a fit, and storm off like I'm God's gift to you all that can't be challenged. I know I'm not perfect. It's just a hobby for me that I do in my free time. Believe me when I say this, because it's 100% true: If you had any idea how many times I've looked at JKSV's old code and thought to myself, "What in the world was I thinking back then?" when I was rewriting it...
 
@Muxi
You are right. I'm kind of torn on the issue because leaving it as-is allows easier access to the files themselves for editing and research. Having to unzip them and re-zip makes it more of a pain to do simple things with them. I'll explain below.

So, something I'm not sure most people know is that the Switch save file containers can handle UTF-8 paths no problem, but the SD card can't. The SD card only likes ASCII. Due to recent events we now know that case sensitivity is an issue too. There's an issue that arises with just changing the default config value in JKSV's code: Most people have been using JKSV for years without realizing it supports ZIP, and even if I did change the default in code the config is going to load the previous false from the config anyway. This is why I mentioned earlier having an old school config wizard type deal in the rewrite. JKSV's rewrite is going to drop my old file parsing class and just use JSON. I can easily detect if the config JSON file exists on boot and walk you through it.

I don't want to start anything. I really mean this by the way. I've seen a few people ask questions about it on other places. Spread the word if need be: If you've been the victim of recent events and your save file ZIPs from a certain other app are obfuscated to prevent me from debugging JKSV with them: Use 7zip on Windows. I was using unzip on Linux and it told me what he did right away. That's why it didn't work and I didn't fall for it. Again, this isn't to start more nonsense. People need to know this so they can use their save data. They are the victims of a massive lie. The need to know.

Have a great day everyone. Take it easy.
Do not forget that game which creates a folder with no name and the files inside! that was crazy.
Post automatically merged:

@Muxi
You are right. I'm kind of torn on the issue because leaving it as-is allows easier access to the files themselves for editing and research. Having to unzip them and re-zip makes it more of a pain to do simple things with them. I'll explain below.

So, something I'm not sure most people know is that the Switch save file containers can handle UTF-8 paths no problem, but the SD card can't. The SD card only likes ASCII. Due to recent events we now know that case sensitivity is an issue too. There's an issue that arises with just changing the default config value in JKSV's code: Most people have been using JKSV for years without realizing it supports ZIP, and even if I did change the default in code the config is going to load the previous false from the config anyway. This is why I mentioned earlier having an old school config wizard type deal in the rewrite. JKSV's rewrite is going to drop my old file parsing class and just use JSON. I can easily detect if the config JSON file exists on boot and walk you through it.

I don't want to start anything. I really mean this by the way. I've seen a few people ask questions about it on other places. Spread the word if need be: If you've been the victim of recent events and your save file ZIPs from a certain other app are obfuscated to prevent me from debugging JKSV with them: Use 7zip on Windows. I was using unzip on Linux and it told me what he did right away. That's why it didn't work and I didn't fall for it. Again, this isn't to start more nonsense. People need to know this so they can use their save data. They are the victims of a massive lie. The need to know.

Have a great day everyone. Take it easy.
I personally uses Total Commander to handle ZIP files and as Total Commander can full handle UTF-8 ZIP names and NTFS doit too is a little more easy to handle on my setup.
 
  • Like
Reactions: Blythe93
If the issue happens for only a few corner cases, doesn't have more sense just proceed as usual?
While doing operations, keep a list of all the files handled, do a case insensitive comparison (or any other ways to detect problems), and warn the user if something is wrong, eventually.
 
I should also mention that you need to quit JKSV with plus for your settings to save correctly. It's saved on quitting and closing it any other way will make this fail.
That is a important piece of information, I normally exit pressing the home button. I don't know if will be easy to save a changed config also when home is pressed.
Post automatically merged:

Those actually drive me nuts and wouldn't be there if it weren't for people accidentally deleting their backups or overwriting their saves and coming to me to complain that there should be a better way to prevent it. Solution: Make you hold the button for 3 seconds or so to confirm. What happens then? People complain about having to hold the button and how much extra time it takes
You will never have people pleased, people loves to whine about everything.
 
  • Like
Reactions: Blythe93
If the issue happens for only a few corner cases, doesn't have more sense just proceed as usual?
While doing operations, keep a list of all the files handled, do a case insensitive comparison (or any other ways to detect problems), and warn the user if something is wrong, eventually.
This is something that is 100% my fault. It'd actually be really difficult to do this with the way the master branch is written. I wrote this threaded task system during covid so I could update the screen and display progress or what is happening over top of the app in the background. For reference, in older builds of JKSV once you started a backup you were locked in a loop that only updated the screen on every write operation so you knew what was going on. Like I said in the post before, I've facepalmed quite a lot looking at the master branch. I'm surprised someone managed to add WebDav to it at all now. I know I'm not perfect.

For case sensitivity you run into a different issue: How does JKSV know it's the one who added something to the file's name or if it was put there by a developer? Let's say I program a workaround for Selfloss that adds '_1' to the end of the names of the files to prevent the clashing. What happens when another game's saves are like this: save_1, save_2, save_3? JKSV is going to clip off the end of one of those files. Basically, the answer is to make ZIP the default so the average user doesn't run into these problems to begin with. If someone is using JKSV to research or edit a save, they can toggle it off for old-school JKSM folder style backups. That, or walking you through a setup with a description of the pros & cons of each option to let the user decide. I'm not a fan of needing to edit files on PC at all. Besides Google drive and WebDav, my goal is always on console without a PC needed.
 
This is something that is 100% my fault. It'd actually be really difficult to do this with the way the master branch is written. I wrote this threaded task system during covid so I could update the screen and display progress or what is happening over top of the app in the background. For reference, in older builds of JKSV once you started a backup you were locked in a loop that only updated the screen on every write operation so you knew what was going on. Like I said in the post before, I've facepalmed quite a lot looking at the master branch. I'm surprised someone managed to add WebDav to it at all now. I know I'm not perfect.
ha ha ha, but you are a great coder, that type of things trend to happen with code spread along the years, you wroth and you learn, then looking back to old code is funny.
 
  • Like
Reactions: Blythe93

Site & Scene News

Popular threads in this forum