I just published an unsigned TiddlySaver.jar to my
TW GitHub fork that should work for everyone. Jeremy suggested we label this as an Alpha until it is tested and signed. A signed version should be coming fairly soon, along with a move to Beta status.
Recent Java updates broke TiddlySaver because some of the code uses instructions that Oracle has now made unavailable to applets. This version simply changes an existing flag, turning off the code that checks if the file being read or saved is in the same directory, or a subdirectory, of the Tiddlywiki file it is running in.
The fix works for me in all the browsers I've tested, but does open the TiddlySaver applet to potential abuse if one's java policy file is too permissive. It is a good idea, therefore, to create a restricted policy file for your TW files that specifies which directories the applet can write to. Personally, I leave reads wide open and restrict writes to the directories I want to be written to. So my policy file (for Windows; see the TW notes for *NIX variations), assuming my TW file is in C:\tw, looks something like:
grant codeBase "file:C:/tw/TiddlySaver.jar" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "C:${/}tw${/}*", "write";
};
with an extra write permission line for each additional subdirectory. Not ideal, but workable; I'm not aware of a way to include subdirectories, nor do I know if this is the best choice for a policy file; frankly, I'm not too worried about it, but still don't want to make writes generally available Just In Case.
I will be rewriting the Java code soon(ish) to re-implement the 'same directory' restriction with unblocked instructions. If anyone knows a good way to access the applet's directory using the current Java version please let me know; my current intent is to make the browser pass in the applet's directory as a parameter to either the applet or the Javascript calls, though this will obviously break backward compatibility.
Cheers, Paul.