Don't assume icon is a str
Currently, ResultMetadata assumes that the icon is going to be a str but it's not usually the case per the specs. Here's how things are implemented Shell side https://gitlab.gnome.org/GNOME/gnome-shell/blob/master/js/ui/remoteSearch.js#L215-234
so we should have an
-
icon
-> Variant -
gicon
-> String -
icon-data
-> Array