bayleeadamoss / zazu

:rocket: A fully extensible and open source launcher for hackers, creators and dabblers.
http://zazuapp.org
MIT License
2.09k stars 168 forks source link

All plugin results are overridden by the file finder plugin #288

Open khawarizmus opened 7 years ago

khawarizmus commented 7 years ago

Expected Behavior

when typing a keyword to use a plugin the result should be of the plugin and not of the file finder

Actual Behavior

Zazu displays results for the file finder only as if the other plugins don't exist when i tried to run a debugging session i can see the results returned by the plugins but they don't show in Zazu and i can't use them for example if i type kill code to kill VSCode using the zazu-fkill plugin i receive this responce:

INFO: [16:17:32] [chrishelgert/zazu-fkill :Process]
Script Results
{
  "block": "Process",
  "level": "info",
  "message": "Script Results",
  "plugin": "chrishelgert/zazu-fkill",
  "results": [
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 19888,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 8560,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 9120,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 16984,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 3912,
        "name": "Code.exe"
      }
    },
    {
      "id": "CodeHelper.exe",
      "subtitle": "CodeHelper.exe",
      "title": "CodeHelper.exe",
      "value": {
        "force": false,
        "id": 1284,
        "name": "CodeHelper.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 10280,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 3548,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 19380,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 6764,
        "name": "Code.exe"
      }
    },
    {
      "id": "Code.exe",
      "subtitle": "Code.exe",
      "title": "Code.exe",
      "value": {
        "force": false,
        "id": 17872,
        "name": "Code.exe"
      }
    }
  ],
  "time": "2017-04-21T08:17:32.019Z"
}

but when i press enter it opens an application that best matches the file finder plugin result

Steps to reproduce the behavior

i don't really know how to reproduce this as this si my first time using Zazu

Versions

Please, include a link to gist of most applicable ~/.zazu/log/ file.

bayleedev commented 7 years ago

Can I have a copy of your zazurc.json file? Thank you for reporting the issue

khawarizmus commented 7 years ago

@blainesch yes sure

{
  "hotkey": "alt+space",
  "theme": "Eric-Jackson/zazu-clement-theme",
  "displayOn": "detect",
  "plugins": [
    "tinytacoteam/zazu-calculator",
    "tinytacoteam/zazu-file-finder",
    "tinytacoteam/zazu-template",
    "tinytacoteam/zazu-system",
    "tinytacoteam/zazu-package-manager",
    {
      "name": "tinytacoteam/zazu-fallback",
      "variables": {
        "rootSearches": [
          "google"
        ]
      }
    },
    {
      "name": "tinytacoteam/zazu-clipboard",
      "variables": {
        "ClipboardKey": "cmd+shift+v"
      }
    },
    "brpaz/zazu-hash",
    "iansinnott/zazu-emoji",
    "chrishelgert/zazu-fkill",
    "sagold/zazu-dict",
    "danielbayerlein/zazu-devdocs"
  ]
}
khawarizmus commented 7 years ago

@blainesch any news about this bug? any possible solutions how to overcome this ?

bayleedev commented 7 years ago

I can't reproduce the issue myself. I have zazu open and typing in "kill code" returns results from both file finder and fkill. However the "fkill" results are on top since it's a prefix block and the file finder is a root script.

Is it possible you have old versions of the file finder or fkill plugins?

khawarizmus commented 7 years ago

@blainesch how do i know if i have an old version it's not versioned in the .zazurc file? And i don't think so since it's a fresh install and i have already tried to delete all the plugins folder and load them again . Also the fkill was just an example i am talking about all the plugins here

non of them is working all of them are overridden by the file finder plugin.

bayleedev commented 7 years ago

@gimyboya are you getting file results back or just app results back when you type in "kill code" ? Another issue (tinytacoteam/zazu-file-finder#36) it getting at the file finder returning files at the incorrect times. In theory "kill code" should only return apps that have some form of that inside of their name, and not files.

khawarizmus commented 7 years ago

@blainesch File finder will return files and applications by default but mostly application ( i guess that's how it works because it priorities applications) but i don't think the issue there. And please why are you still on the kill code example when i am saying that it was an example and all the plugins are not working?

If needed i can give more examples and it's an unlimited number since all the plugins are not working:

npm, devdocs, emoji, clipboard, ... anything you name it

bayleedev commented 7 years ago

@gimyboya this is a bug, I'll look into it more.

bayleedev commented 7 years ago
msedge_-_win10_preview__running_

@gimyboya I'm not able to reproduce this. I'm on a Windows 10 VM with your configuration and this is what I'm seeing, which is what I'd expect.

khawarizmus commented 7 years ago

@blainesh I see.. no problem then. if i find a solution i will post it here

bayleedev commented 7 years ago

@gimyboya is it possible to screenshare to help me debug this? Or did you want to try and debug it?

khawarizmus commented 7 years ago

@blainesh what do you want me to screen share exactly? a debugging session or the app in use ?

bayleedev commented 7 years ago

Right, if we were in a shared screen I could hopefully try and figure out the issue with it. Maybe there are some more steps to reproduce this for me locally?

Evil-Coder commented 7 years ago

I too has thise problem. But and many plagine don't work.

Sniperkillerut commented 7 years ago

HI, I just installed Zazu, no config no nothing, just fresh install and the search is overriding all other features, when in the config I turn finder off it works just "fine", runing from Windows 10 64bits

bayleedev commented 7 years ago

Do you think we should reduce how many results are shown from the file finder? Or do you think they should just always be ranked last?

Sniperkillerut commented 7 years ago

I believe that ranking the searches after the plugins should be preferible, that seems to be how other launchers work. I am currently trying them all to pick the best one that I will recommend my friends to use, currently using:

Zazu Wox Cerebro Keypirinha Farr executor launchy everything (I like to use it as a plugin for the searchers)

the ui I like the most is cerebro but uses electron, the fastest, lighter, 0 cpu usage seems to be keypirinha but config is anoying and not much plugins, the better skin support on launchy but no plugins, wox seems confortable except for no tab completing, just enter, and zazu I have not been able to try properly because of the search bug so no ranking yet

bayleedev commented 7 years ago

@Sniperkillerut we do sort them after getting them from the plugins.

There is a score based on the block type, so more specific blocks get better scores. For example a prefix script shows up before a root script. In this case we are talking about a root script.

Second, we give blocks higher priority if they have an id for results. You'd add an id to a result if it's possible for it to show up again.

This brings us to the last sort, if a user clicks on a result with an id we store that id for a given period (maybe 30 days?) and bump that single result higher.

If we want the file finder to have lower results, I'd suggest dropping the id field that this plugin returns. Or change the sorting algorithm approach.

Thoughts?

Edit: https://github.com/tinytacoteam/zazu/blob/master/app/transforms/resultSorter.js

Sniperkillerut commented 7 years ago

probably the id approach would be better I think that would make all plugins to take precedence over the search and statistically the plugins results should always be fewer than the search results so it would be easy to get to the search anyway. or pheraphs a mixed approach could be beter too? to make something like: 1) Recent 2) Plugins 3) Search

here is a quick comparison betwen some of the launchers and their approach on plugins and searches

OscarBarrett commented 7 years ago

I ran into this with a fresh install on a new computer. Running Reload Config and then Update Plugins fixed it.

flexchar commented 6 years ago

Same issue. New user, Win10 1709, all plugin results were at the end of the list.

@OscarBarrett suggestion solves the problem. Anyway, I have disabled file finder as it's not necessary.

However, the tool itself appears to be slow. After I finish actual writing the word is yet to appear. The computer is decent/OS optimized, and therefore, should not be a reason.