
Our search provider API has to be asynchronous to support remote providers. It doesn't have to be based on callbacks though, now that async functions provide a nicer alternative. That is particularly true after gjs's D-Bus wrapper started to generate promise-based method variants. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2344>