That's good to hear Mark. I wasn't looking forward to having to debug this if it was still an issue with the newer code.
I'm still actively working on this, in fact I put in a little time on it even today, so there isn't any documentation as things are apt to change as I explore different implementation approaches.
One caveat to be aware of: The way the code now works is that it saves the imported image as a normal base 64 tiddler in the wiki tiddler store in memory, while uploading it to the files folder in the background. Once it has been uploaded and successfully saved to the files folder, the base 64 image tiddler is converted into a _canonical_uri tiddler. All of this happens without any user interaction and doesn't seem to disrupt normal usage in any manner. This workflow guards against losing data because of any issues writing the file to the files folder, and also works around the fact that import process in TW is designed to be synchronous.
Working on a local node.js server it is all almost instantaneous and you don't notice that the tiddler is first saved as base 64, but just a heads up that this is what happens in the background. On a remote server over a slow connection, or with very large media files, this could be an issue as the normal sync mechanism may start saving the base 64 tiddler while the file is uploading to the files folder. However, best dealing with that may require some core modifications and support in the file saving adaptor. The long term goal is to identify what changes would be needed and hopefully get support for saving to the files folder in the core.
Not present in the version I uploaded for you this morning but now implemented, is a toolbar button and a tm-externalise-tiddler message that can be used to convert an existing base 64 image into a _canonical_uri tiddler with the actual image saved in the files folder. If that's something you need, I can publish that.
Saq