[BETA 1.7] Your Help Is Needed!
as already announced on Twitter, I'm currently finalizing work on the promised new FSAL core that I've built for the past two months. It was an awful lot of work to do, but I'm very happy with how it has turned out. I'm currently wrapping up, cleaning the rooms and making everything nice and clutter-free within the codebase.
For all of you who have no idea what the FSAL is: It replaces the current logic that displays the files in Zettlr. The promising improvements are much faster boot (after the first initial boot), reliable file operations from within the application, and overall a much smoother work experience.
However, as what I've replaced has the capacity to add and remove files, it is of utmost importance to make sure there are no unwanted bugs remaining in the app. And this is where you come into play! I do test each and every file operation with as many use-cases I can think of, but it does not replace a test in the wild, obviously! Because it's hard to think of edge-cases (that is, problems that arise in very rare occasions) and test the app against. Therefore, as the community of Zettlr is growing bigger and bigger, I thought I'd give it a try and ask you for the favor of extensive testing. Don't worry: None of your files will be at risk!
What would I like you to help me out with?
I would like as many of you to participate in the coming beta test in order to find every single bug and make sure that new users don't have nightmares at some point. Therefore, I have compiled a list of things that need testing:
- Sorting directories (name asc, name desc, time asc, and time desc) — should persist upon reboots and not reset itself. Please also try the interplay with the various settings (sort after modification vs. creating time, ASCII vs. natural sorting, etc)
- Creating new file in every conceivable place: By right-clicking directories, using the shortcut, clicking the toolbar button. Also, try to do "wrong" things, such as: Only use special characters, leave out the filename altogether, try to make a directory by providing back and forward slashes — simply put: try to break it!
- Duplicate files: Same as creating new files: try to use every conceivable way to do so!
- Rename files: This includes the same attempts to break the engine by providing senseless file names, but also try to rename root files — does it work? Does it break? Think of every way you could try to break it!
- Remove files: Remove files that are currently open as a tab, open as the active file, not open, root files, etc.!
- Saving files: Does it work in every way? Does it work if you remotely edit the file, if you add an edit but immediately press
Cmd/Ctrl+Z? Try to get Zettlr not being able to save a file!
- Search files: Does it work as expected? Try to break this one as well! (Currently you can break it by hitting
Returntwice very fast, and this would be one thing to test if I forgot to fix that! )
- Create, update, remove projects, see if exporting projects works.
- But the same also applies to directories: There are numerous ways to break renaming or creating files, move them around and see what happens. Make sure to especially try to do a lot of things with root directories, because Zettlr needs to perform additional action when it comes to root directories, so the chances are higher that I forgot that at one point!
- While we are at moving: Moving is one of the most delicate part of the app, so the most prone to unwanted bugs. So throw around your files as if there's no morning after!
Note: It is important that you test all of these actions in succession, that is: Not one action, see if it works, and then reboot the application. Because any one of the mentioned actions may leave the internal application state in a volatile position which may break once the action is performed again while the app is still running. So, for instance, there are bugs that appear while renaming a file, but they will cause problems only after renaming the file again, so make sure to take care of this as well!
Alright, but dude: There's a lot of work in here! This is likely going to destroy my data, so I can't help you!
Don't worry! Because yes, it takes extra precaution, BUT: You can see all your loaded roots in the sidebar: Simply take all of them and copy them to a safe location. If one of your actions leads to data loss — simply copy back the affected roots and everything will be as before! This is one inconvenience, yes, because it involves manually copying stuff around, but I, and especially new and uninitiated users will be eternally grateful for this! Rest assured that Zettlr will never touch any file that you did not explicitly load into the app, so this will keep your data safe during testing!
Okay, cool, I'm going to help. But I don't have a GitHub/Forum/Twitter/Reddit-account and don't want to create one for this!
This is perfectly fine: During beta I'll be especially vigilant and monitor all communities closely for these kinds of bugs. Just ping me on any of the channels, that is: If you have a GitHub-account, please make sure to open an issue there. If you have a forum account, make sure to comment the bug here. If you have Twitter, you can ping me there, and with Reddit, simply post in the subreddit. In case you have no social media accounts, which is completely understandable (I envy you for not being exposed to that madness!), you can even hit me up on email@example.com.
Alright, tried it out, what info do you need from me?
The most useful info for me is definitely a screenshot where the error is visible (even if you need to say "There you can see this, and what I intended was that") — why? Because if you tell me the exact element where you can see what went wrong, I know exactly where the information is coming from and are much faster to pinpoint the bug. Of course, anything else you noticed will help. And if there's an error message, YAY (rather, not yay, but, hey, then I even got the bad file and line number!) Besides that, if you want to, you can look into the dev tools or open the logs (make sure the debug mode is on for that) and have a look if some error or warning is being spit out (yellow or red). There are some warnings and errors we can ignore because they come from a third party and can be ignored, and I will post screenshots of these errors here so you know that they are not a problem!
Any more caveats I should know about?
Only one: If you install this beta, and then want to switch back, you should definitely restore the file backup, because what the 1.7 will alter is that there will be no more
.ztr-project-files in the directories. While writing the new FSAL I also streamlined how the directories store their data, so the contents of the
.ztr-project-files will be migrated into the
.ztr-directory-files as soon as Zettlr 1.7 beta is started first. Afterwards, there's no turning back, because if you then start 1.6 again, it will not know about the
project-key in this file and simply remove it. So in case you wanna be extra vigilant, make sure to backup these
.ztr-project files (or the whole directories, which would be easier!)
I hope that many of you will participate in this so that we can be sure the app works! I guarantee you that I've tested normal operations extensively using my very own data (and I accidentally trashed all (!) my projects during the first testing, so I know that feeling ), so only the aforementioned edge cases remain!
Maybe I even got some goodies for the testers if 1.7 releases successfully
So much from me at this point, I hope we'll be having a great beta and that Zettlr 1.7 is what we all hope it will become!