Very impressive stuff! I'll have to play around with it this weekend.
On the subject of the UUIDs, if they're to make sure your actions can always be uniquely identified (which is why you're using them, I assume?), wouldn't a shorter UUID be both easier to read and quicker to search on?
A mix of six upper and lower case letters has something like one in 19 billion odds of generating the same code twice; change that to seven characters, and the odd are one in a trillion. Add in the digits, and it's one in 3.5 trillion. And you can generate such things with one shell command:
$ openssl rand -base64 6 | tr -dc 'a-zA-Z0-9' | head -c 7
eAz31tw
I found the above, sort of, in this GitHub repository. As I experimented with each of those commands, I found that the openssl
version was the only one that returned a string of guaranteed letters, so I just munged together different parts of the various commands there to make mine work :). I just now added the numbers to the tr
command's input to get an even more unique ID.
(I went looking for is for this recent macro that generates Obsidian note files using TextEdit; the random bit assures each file is unique.)
If this doesn't apply to your needs, I apologize for the wasted ink :).
-rob.