Search functions in external plugins need a restart to work

Bug #327697 reported by yyoyo
8
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.

yyoyo (lionel.martin)
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
Olivier Tilloy (osomon)
Changed in elisa:
assignee: Olivier Tilloy (osomon) → nobody
milestone: none → 1.0.4
Olivier Tilloy (osomon)
Changed in elisa:
milestone: 1.0.4 → 1.0.5
Olivier Tilloy (osomon)
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
Olivier Tilloy (osomon)
Changed in elisa:
milestone: 1.0.5 → 1.0.6
Philippe Normand (philn)
description: updated
Revision history for this message
Philippe Normand (philn) wrote :

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 (ComponentsLoadedMessage) and scan all the enabled plugins at that moment.

Olivier Tilloy (osomon)
Changed in elisa:
assignee: nobody → Philippe Normand (philn)
milestone: 1.0.6 → none
Philippe Normand (philn)
Changed in elisa:
status: Confirmed → In Progress
Philippe Normand (philn)
Changed in elisa:
milestone: none → 1.0.7
Philippe Normand (philn)
Changed in elisa:
status: In Progress → Fix Committed
Changed in elisa:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.