Back in the Saddle

When we left off last I was stuck in two places, not really sure where I wanted to tack off to next. The first was trying to beat a memory leak into place with the app and the second was getting into the hoary mess of the pdf metadata database. Naturally, I chickened out and tried to solve the memory problem.

I really wasn’t sure where to go; the error wasn’t helpful and I didn’t find a lot of people with the same issue. Unable to narrow it down, I decided to try and rebuild the app as a single-page app on the chance the problem had to do with all of the sundry bits needed to use multiple browser windows. It may be no shock to you that this yielded no real results. In the process, I worked in some other changes, such as using Tablulator to build and manage tables despite it being a bodged together non-framework. I was confident my issue was garbage collection but I could not find a way to resolve, mitigate, or end-run my problem. Eventually, I drunk dialed through enough “memory problems in electron/node.js” articles that I came upon a switch I hadn’t tried. Setting –max-old-space-size to 2048 ( 2 Gb ) seemed to make sure there was enough space available that garbage collection and the speed at which PDFs were being opened and analyzed were not at loggerheads. So Yay!

But now what?

Well, to start with the refactor is UGLY. Several windows worth of preloading Javascript are slammed together in a single file. This needs to be fixed. Secondly, Interactive Mass-import needs to be implemented. Currently, editing on a PDF is done one at a time either on single-item import or after the fact. There are still some incongruencies with the CCS themes, but it is not hideous.

What’s left to add?

At this point, I think I have three features and a plugin left before I try and find volunteers to test this monstrosity. The first is a “reimport” option on an existing title entry. This would “wipe” edits and restore the stored metadata to the original values. The second is a plugin installer interface so users don’t need to manually drop files. Third, I want metadata searching to work. Lastly, I want a filesystem-oriented plugin that uses the publisher, product line, and tags system data to construct a symlink file tree for when I look for a file in a Filesystem browser, such as a Cloud Drive.

I suppose an installer.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *