appstream: Short-circuit search of all apps
Otherwise it results into tens of AppStream::Pool::componentsByCategories for a similar result.
Here's the list of apps that aren't being listed by the former approach, seems like it's largely because they don't have a category assigned or it's a mistyped one.
"Public Transport" "com.gitlab.maevemi.publictransport" QList()
"86Box" "net._86box._86Box" QList("Emulator")
"Tambourine Music Player" "io.github.mmarco94.tambourine" QList("Audio")
"DroidStar" "io.github.nostar.DroidStar" QList("HamRadio")
"Ticket Booth" "me.iepure.Ticketbooth" QList()
"Dynamic Wallpaper" "me.dusansimic.DynamicWallpaper" QList()
"Tonbrett" "dev.schlaubi.Tonbrett" QList("Audio")
"JJazzLab" "org.jjazzlab.JJazzLab" QList()
"Norka" "com.github.tenderowl.norka" QList("TextEditor")
"PassVault" "de.finnik.PassVault" QList()
"Recordbox" "ca.edestcroix.Recordbox" QList("Audio")
"Odin2" "com.thewavewarden.Odin2" QList("Audio")
"Speedtest" "xyz.ketok.Speedtest" QList()
"Calls" "org.gnome.Calls" QList("Audio")
"Journable" "net.daase.journable" QList()
"Projectpad" "com.github.emmanueltouzery.projectpad" QList()
"Tandem" "chat.tandem.Client" QList("InstantMessaging")
"PropellerIDE" "com.parallax.PropellerIDE" QList()
"Qcm" "io.github.hypengw.Qcm" QList("Audio")
"ASHPD Demo" "com.belmoussaoui.ashpd.demo" QList()
"TheGates" "io.itch.nordup.TheGates" QList("WebBrowser")
"Invoicer" "com.gitlab.adnan338.Invoicer" QList()
"Sync Passwd" "org.adishatz.syncpasswd.desktop" QList()
"Notify" "com.ranfdev.Notify" QList()
"Puddletag" "net.puddletag.puddletag" QList("Audio")
"Keyring" "me.orszulak.keyring" QList()
"Rav-Kav Online" "il.co.ravkavonline.RavKavOnline" QList()
"Taigo" "com.github.appadeia.Taigo.desktop" QList()
"Headlamp" "io.kinvolk.Headlamp" QList("Building", "Viewer", "IDE", "DataVisualization")
"MagicSetEditor" "io.github.twanvl.MagicSetEditor2" QList()
"Podcasts" "org.gnome.Podcasts" QList("Audio")
"Meridius" "io.github.purplehorrorrus.Meridius" QList("Audio")
"Soundscape" "io.github.ddanilov.soundscape" QList("Audio")
"ColorMate" "de.wwwtech.ColorMate.desktop" QList()
"Whakarere" "com.mudeprolinux.whakarere" QList()
"Radio" "io.github.alexkdeveloper.radio" QList("Audio", "Music", "Player")
"YAFC" "com.github.petebuffon.yafc" QList()
"Cigale" "com.github.emmanueltouzery.cigale" QList()
"Jogger" "xyz.slothlife.Jogger.desktop" QList("Sports")
"Waveform11" "com.tracktion.Waveform" QList("Audio", "AudioVideoEditing")
"Cassette" "io.github.Rirusha.Cassette" QList("Audio")
"Virtual Puppet Project" "pro.vpup.vpuppr" QList()
"Light Video" "org.sigxcpu.Livi" QList("Video")
"CuteMarkEd" "io.github.cloose.CuteMarkEd" QList()
"Qt Linguist" "io.qt.Linguist" QList("Translation", "Qt")
"Kleaner" "io.github.najepaliya.kleaner" QList()
"DOSBox Staging" "io.github.dosbox-staging" QList("Emulator")
"BYOD" "com.chowdsp.BYOD" QList("Audio")
"Hotwire" "com.github.emmanueltouzery.hotwire" QList()
"Logisim-evolution" "com.github.reds.LogisimEvolution" QList("Electronics")
"BlockLoader" "io.blockloader.BlockLoader" QList()
"Playlifin" "net.krafting.Playlifin" QList("Audio")
"Mixin Messenger" "one.mixin.messenger" QList("InstantMessaging")
"Mepo" "com.milesalan.mepo" QList()
"libretile" "io.gitlab.celleron56.libretile.desktop" QList()
"Loop" "net.danigm.loop.desktop" QList("Music")
"XnRetro" "com.xnview.XnRetro" QList("RasterGraphics", "2DGraphics", "Photography")
"Supersonic" "io.github.dweymouth.supersonic" QList("Audio")
"Random Number Five" "io.github.FailurePoint.RandomNumberFive.desktop" QList()
"Vector Slicer" "org.gnome.design.VectorSlicer" QList()
"Gssh" "io.github.gssh_linux.gssh" QList()
"Open Cloud Save" "io.github.daviddesimone.opencloudsaves" QList()
"Lemonade" "ml.mdwalters.Lemonade" QList()
"Short Circuit" "in.bharatkalluri.shortcircuit" QList()
"Pocket Casts" "tech.feliciano.pocket-casts" QList("Audio")
"Hackgregator" "de.gunibert.Hackgregator.desktop" QList("News")
"Resonance" "io.github.nate_xyz.Resonance.desktop" QList("Audio", "Music")
"Rockarrolla" "ar.com.softwareperonista.Rockarrolla.desktop" QList("Audio", "Music")
"QtSpim" "net.sourceforge.QtSpim" QList()
"UDPLogger" "com.gitlab.Murmele.UDPLogger" QList("Electronics")
"Electrip" "net.sourceforge.electrip.Electrip.desktop" QList()
"pwvucontrol" "com.saivert.pwvucontrol" QList("Audio")
"ldbfx" "cn.navclub.ldbfx" QList()
"CubeTimer" "xyz.aguno.CubeTimer" QList()
"GnuCash" "org.gnucash.GnuCash" QList("Finance")
"Othman" "com.github.ojubaorg.Othman" QList()
"AudioStellar" "xyz.audiostellar.AudioStellar" QList("Music")
"Pleasure DVR" "net.krafting.PleasureDVR" QList("Video", "Recorder")
"Atoms" "pm.mirko.Atoms.desktop" QList()
"SonoBus VST3" "org.freedesktop.LinuxAudio.Plugins.SonoBus" QList()
"Nixwriter" "com.gitlab.adnan338.Nixwriter" QList()
"Datcord" "io.github.gamingdoom.Datcord" QList("Chat")
"BrickBuster" "com.claudiocambra.brickbuster" QList("Games")
"CoyoteTM" "io.github.igaldino.CoyoteTM" QList()
"CoyoteTM" "io.github.igaldino.CoyoteTM" QList()
"Tonbrett" "dev.schlaubi.Tonbrett" QList("Audio")
"Soundscape" "io.github.ddanilov.soundscape" QList("Audio")
"86Box" "net._86box._86Box" QList("Emulator")
"Pleasure DVR" "net.krafting.PleasureDVR" QList("Video", "Recorder")
"Tandem" "chat.tandem.Client" QList("InstantMessaging")
"PassVault" "de.finnik.PassVault" QList()
"SonoBus VST3" "org.freedesktop.LinuxAudio.Plugins.SonoBus" QList()
"Meridius" "io.github.purplehorrorrus.Meridius" QList("Audio")
"ldbfx" "cn.navclub.ldbfx" QList()
"Kleaner" "io.github.najepaliya.kleaner" QList()
"Projectpad" "com.github.emmanueltouzery.projectpad" QList()
"Logisim-evolution" "com.github.reds.LogisimEvolution" QList("Electronics")
"Notify" "com.ranfdev.Notify" QList()
"Calls" "org.gnome.Calls" QList("Audio")
"Loop" "net.danigm.loop.desktop" QList("Music")
"Waveform11" "com.tracktion.Waveform" QList("Audio", "AudioVideoEditing")
"Podcasts" "org.gnome.Podcasts" QList("Audio")
"Keyring" "me.orszulak.keyring" QList()
"Atoms" "pm.mirko.Atoms.desktop" QList()
"Lemonade" "ml.mdwalters.Lemonade" QList()
"Pocket Casts" "tech.feliciano.pocket-casts" QList("Audio")
"Radio" "io.github.alexkdeveloper.radio" QList("Audio", "Music", "Player")
"Hotwire" "com.github.emmanueltouzery.hotwire" QList()
"YAFC" "com.github.petebuffon.yafc" QList()
"Invoicer" "com.gitlab.adnan338.Invoicer" QList()
"ASHPD Demo" "com.belmoussaoui.ashpd.demo" QList()
"Hackgregator" "de.gunibert.Hackgregator.desktop" QList("News")
"Othman" "com.github.ojubaorg.Othman" QList()
"Playlifin" "net.krafting.Playlifin" QList("Audio")
"pwvucontrol" "com.saivert.pwvucontrol" QList("Audio")
"Vector Slicer" "org.gnome.design.VectorSlicer" QList()
"UDPLogger" "com.gitlab.Murmele.UDPLogger" QList("Electronics")
"Short Circuit" "in.bharatkalluri.shortcircuit" QList()
"BlockLoader" "io.blockloader.BlockLoader" QList()
"Virtual Puppet Project" "pro.vpup.vpuppr" QList()
"DroidStar" "io.github.nostar.DroidStar" QList("HamRadio")
"Mepo" "com.milesalan.mepo" QList()
"Open Cloud Save" "io.github.daviddesimone.opencloudsaves" QList()
"Rockarrolla" "ar.com.softwareperonista.Rockarrolla.desktop" QList("Audio", "Music")
"Random Number Five" "io.github.FailurePoint.RandomNumberFive.desktop" QList()
"PropellerIDE" "com.parallax.PropellerIDE" QList()
"XnRetro" "com.xnview.XnRetro" QList("RasterGraphics", "2DGraphics", "Photography")
"AudioStellar" "xyz.audiostellar.AudioStellar" QList("Music")
"Mixin Messenger" "one.mixin.messenger" QList("InstantMessaging")
"Supersonic" "io.github.dweymouth.supersonic" QList("Audio")
"Sync Passwd" "org.adishatz.syncpasswd.desktop" QList()
"QtSpim" "net.sourceforge.QtSpim" QList()
"Rav-Kav Online" "il.co.ravkavonline.RavKavOnline" QList()
"Qt Linguist" "io.qt.Linguist" QList("Translation", "Qt")
"BrickBuster" "com.claudiocambra.brickbuster" QList("Games")
"JJazzLab" "org.jjazzlab.JJazzLab" QList()
"Gssh" "io.github.gssh_linux.gssh" QList()
"Speedtest" "xyz.ketok.Speedtest" QList()
"Electrip" "net.sourceforge.electrip.Electrip.desktop" QList()
"Recordbox" "ca.edestcroix.Recordbox" QList("Audio")
"Odin2" "com.thewavewarden.Odin2" QList("Audio")
"DOSBox Staging" "io.github.dosbox-staging" QList("Emulator")
"Journable" "net.daase.journable" QList()
"Tambourine Music Player" "io.github.mmarco94.tambourine" QList("Audio")
"Qcm" "io.github.hypengw.Qcm" QList("Audio")
"Public Transport" "com.gitlab.maevemi.publictransport" QList()
"Light Video" "org.sigxcpu.Livi" QList("Video")
"CubeTimer" "xyz.aguno.CubeTimer" QList()
"TheGates" "io.itch.nordup.TheGates" QList("WebBrowser")
"GnuCash" "org.gnucash.GnuCash" QList("Finance")
"Puddletag" "net.puddletag.puddletag" QList("Audio")
"BYOD" "com.chowdsp.BYOD" QList("Audio")
"Headlamp" "io.kinvolk.Headlamp" QList("Building", "Viewer", "IDE", "DataVisualization")
"Whakarere" "com.mudeprolinux.whakarere" QList()
"MagicSetEditor" "io.github.twanvl.MagicSetEditor2" QList()
"Taigo" "com.github.appadeia.Taigo.desktop" QList()
"Cassette" "io.github.Rirusha.Cassette" QList("Audio")
"Resonance" "io.github.nate_xyz.Resonance.desktop" QList("Audio", "Music")
"Datcord" "io.github.gamingdoom.Datcord" QList("Chat")
"ColorMate" "de.wwwtech.ColorMate.desktop" QList()
"Ticket Booth" "me.iepure.Ticketbooth" QList()
"Dynamic Wallpaper" "me.dusansimic.DynamicWallpaper" QList()
"libretile" "io.gitlab.celleron56.libretile.desktop" QList()
"Jogger" "xyz.slothlife.Jogger.desktop" QList("Sports")
"Cigale" "com.github.emmanueltouzery.cigale" QList()
"CuteMarkEd" "io.github.cloose.CuteMarkEd" QList()
"Norka" "com.github.tenderowl.norka" QList("TextEditor")
"Nixwriter" "com.gitlab.adnan338.Nixwriter" QList()
"Barcode Scanner" "org.kde.qrca" QList()
"KItinerary Workbench" "org.kde.kitinerary-workbench.desktop" QList()
"Screen Record" "org.kde.screenrecord.desktop" QList()
"KItinerary Command Line Extractor" "org.kde.kitinerary-extractor" QList()
"Okular Mobile" "org.kde.okular.kirigami.desktop" QList()
Edited by Aleix Pol Gonzalez