It's a direct result of libindicator not following GObject naming conventions and various oddities in the API itself - because of that GObject Introspection creates bogus .gir (and probably .typelib) and vapigen creates wrong bindings. To fix that we would have to rewrite big parts of API or wait for vapigen to support .metadata for .gir files - not even sure if that's in plans, by definition gir should provide all the data needed for languages to create their own bindings.
It's a direct result of libindicator not following GObject naming conventions and various oddities in the API itself - because of that GObject Introspection creates bogus .gir (and probably .typelib) and vapigen creates wrong bindings. To fix that we would have to rewrite big parts of API or wait for vapigen to support .metadata for .gir files - not even sure if that's in plans, by definition gir should provide all the data needed for languages to create their own bindings.