@cryptix that looks great!
question: is the path a path to an executable? I was considering maybe it should be a path to a directory, with a executable and manifest inferred by a convention, OR, have a path to an executable + manifest. Hmm, have a think about how to specify it's permissions?
When I was writing this, I remember thinking that a plugin wouldn't "know it's own name" it would export {foo, bar, baz}
and then get loaded as the fbb
plugin. calls to sbot.fbb.foo
would get routed to fbb
, but fbb
would be stripped from the call path before written to the plugin. so the sbot receives fbb.foo
but the plugin just sees foo
. I think this is important for security and for modularity, because it gives the server the ability to rewire plugin dependencies.
I think it would be good to have a plugins2 method to load/reload/kill a plugin on demand, though I think I recall only implementing plugins at startup?