Search functions in external plugins need a restart to work
Bug #327697 reported by
yyoyo
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Elisa Grooveshark plugin |
Confirmed
|
Undecided
|
Unassigned | ||
Elisa Yes.fm Plugin |
Confirmed
|
High
|
Unassigned | ||
Moovida |
Fix Released
|
High
|
Philippe Normand |
Bug Description
Since 0.5.27, yes.fm is an external plugin.
The 0.5.27 does not contain the yes.fm plugin. it's installed from the repository at first boot as a recommended plugin.
When it's installed, a reboot is needed in order to have yes.fm search engine part working.
Step to reproduce:
1. remove the .moovida/plugins directory
2. Launch Moovida
3. Go in "Available Plugins"
4. install the yesfm plugin
5. wait until yes.fm egg is downloaded
6. go to music => search and search for ABBA
Expected result:
The yes.fm plugin should return some items available
current result:
Yes.fm does not return any results. we have to restart Elisa in order to have a working search engine.
Changed in elisa: | |
importance: | Undecided → High |
assignee: | nobody → osomon |
Changed in elisa-plugin-yesfm: | |
importance: | Undecided → High |
status: | New → Confirmed |
Changed in elisa: | |
status: | New → Confirmed |
Changed in elisa: | |
assignee: | Olivier Tilloy (osomon) → nobody |
milestone: | none → 1.0.4 |
Changed in elisa: | |
milestone: | 1.0.4 → 1.0.5 |
Changed in elisa-plugin-grooveshark: | |
status: | New → Confirmed |
summary: |
- Yes.fm plugin first installation need reboot + Search functions in external plugins need a restart to work |
Changed in elisa: | |
milestone: | 1.0.5 → 1.0.6 |
description: | updated |
Changed in elisa: | |
assignee: | nobody → Philippe Normand (philn) |
milestone: | 1.0.6 → none |
Changed in elisa: | |
status: | Confirmed → In Progress |
Changed in elisa: | |
milestone: | none → 1.0.7 |
Changed in elisa: | |
status: | In Progress → Fix Committed |
Changed in elisa: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The bug is in the "search meta resource_provider". It loads its searchers at initialize time so if a plugin is enabled *after* moovida startup, the resource_provider won't know about it.
The proposed fix is to monitor the message bus for the PluginStatusMessage and when a plugin is enabled: load its searchers (if it has the searchers entry point in its egg-info). When a plugin is disabled, cleanup its searcher(s) if it has any. The meta_resource provider should also be notified at moovida startup (ComponentsLoad edMessage) and scan all the enabled plugins at that moment.