I identified 2 problems, when using this as a component
First, instead of requesting the server's disco items and features, the upload service searches for items in the component itself. Maybe this should be fixed in xep_0030.get_info_from_domain but this plugin is quite complex and I don't feel confident modifying anything in it.
Secondly, the info['disco_info']['identities']
of the component is an empty string, raising an exception at the line for identity in info['disco_info']['identities']:
. This might be due to a (silent) misuse of xep_0030.add_identity
in xep_0100
All in all, these fixes are required for slidge to work, but maybe they are not in the right place.