Indeed does what do needs to be done...
Pretty incredible, and the design is quite elegant. One note - currently it doesn't support material nodes created through python, by scripts and addons - and I'm also pretty sure that such nodes also prevent the nodes downstream from rendering properly. I think you should be able to get around that by collapsing these custom nodes into regular node trees in a copy of the material you send for rendering. Either way, such change would be very welcome.
Thanks a lot for this report! The diagnosis was spot on, and it's fixed in v0.5.0, now live.
Root cause: the render worker runs with --factory-startup, so node types registered by other add-ons loaded as "undefined" there, no preview, and everything downstream evaluated flat, exactly as you described.
Your suggestion (collapsing custom nodes into regular groups in the shipped copy) was the right idea. I implemented it with a slightly different mechanism that gives the same result with less graph surgery: the worker now registers lightweight stub types for the custom node idnames before loading the material. Blender then binds the nodes by idname, and Cycles renders their internal tree natively so previews, and everything downstream of them, match what you see in your own render. This also works for custom nodes with per-instance node trees (two instances with different settings get distinct thumbnails) and for custom nodes nested inside groups.
One honest limitation: add-on nodes that aren't node-group based (pure-Python nodes, nodes for other render engines) can't be rendered by Cycles at all, in your own render either so those now show no thumbnail instead of a misleading flat one.
If your specific add-on still doesn't preview correctly, I'd love to know which one so I can test against it directly: https://github.com/mlstr0m/node-peek/issues
Thanks again, reports this precise make the add-on better for everyone.
Great addon! I would love to have the possibility to set a unified size for the thumbnails, instead of it being solely dependant on the node width.