I just love to revive the dead: https://github.com/Linux-statt-Windows/nodebb-plugin-topic-events
I've changed the storing logics a bit, so every un/lock, un/pin, delete/restore and move event gets recorded; not only a single instance of each which gets overwritten by every new of the same type. action:topic.purge finally deletes all events.
Please always refer to the forked repo above, not my original one, since I'm still a git-noob and bound to mess up my own repo there, sooner or later.
This will break in 0.7.0 again, but I've already made out the differences. It'll be updated as soon as I got my head around require.js.
For now I'm working on an entry for the ThreadTools, so admins/moderators can hide the events (they still get recorded, just not shown). This will come in very handy for e.g. moderated FAQ topics, which are re-opened - updated - closed several times.
Please have a closer look at https://github.com/Linux-statt-Windows/nodebb-plugin-events-topic/blob/master/threadTools.patch !
(I guess) I had to introduce new hooks in order to not break other plugins which expect the topicID on the callback, only. I'd love to see that merged into 0.7.0; would also be just consistent with the other action:topic-hooks, which already receive a data-object instead of only the tid.