Replies: 12 comments
-
When you say global plugin, you mean plugin with global action keyword? |
Beta Was this translation helpful? Give feedback.
-
Yes |
Beta Was this translation helpful? Give feedback.
-
I would say this feels more like a hack than a feature, because plugins should not take too longer to load (I consider more than 2 minutes as long) and if that is the case then should be addressed by the plugin developer. By just letting plugin to finish loading after a long wait, it is also not a good user experience. If the user wants to find something and the plugin is not ready then how will the user know for plugins that use global action keyword. When the query box appears, it should be ready to go, not a plugin maybe ready and user may have to wait. I would rather have plugins that take too long to load be logged, made known to the user and then addressed by developer than to just let it be. Great idea, but I don't think this solves the root of the problem. |
Beta Was this translation helpful? Give feedback.
-
Yeah you are right, this is more like a hack, but I have a thought that user may not need all plugin feature at the time they start up flow. What if we only wait for the global Plugins, so that user won't be confused about whether one of them are not initialized? This can also simplify some development burden to consider whether I need to reduce the Init time (e.g. In the Pluginsmanager plugin) that they just need to await it. |
Beta Was this translation helpful? Give feedback.
-
This is going to be hard to implement because how do we know what user actually needs at start up, you can also switch plugins from global to non-global. PluginsManager start up slow is a network thing, not really something we can solve with Flow itself. It may be slow for a small handful of users in different parts of the world. |
Beta Was this translation helpful? Give feedback.
-
Any init slowness that is non-network, then can be addressed by flow or plugin's developers. |
Beta Was this translation helpful? Give feedback.
-
That won't be a large issue, unless the user switch from non-global to global instantly after startup, because we can assume user wants the query from global plugins, and notify user by a customized result or by the progressbar for the non-global plugins that has not yet been loaded.
I mean that we can simply await the InitTask instead of writing logic to determine whether it has been downloaded successfully.
That's true, but that means extra logic like the PluginManager. |
Beta Was this translation helpful? Give feedback.
-
Yeah I think first cut could be just informing the user, this plugin has taken too long to load. I don't think our plugins take long to load anyway. |
Beta Was this translation helpful? Give feedback.
-
Yeah that's something that should be done
true |
Beta Was this translation helpful? Give feedback.
-
No, I want query from non-global plugins haha, for me, I use Explorer plugin which is non-global for me, and WebSearch which is global, and I use them a lot |
Beta Was this translation helpful? Give feedback.
-
Yeah, but I don't mean that we will stop loading them at startup, but don't await them before showing up the main window. If they take relatively short time to load, nothing will be affected. If they hasn't been loaded before startup, when querying on them, displaying the progressbar before loaded and queried successfully. |
Beta Was this translation helpful? Give feedback.
-
Probably progress bar is not going to be informative, needs to be more visual. |
Beta Was this translation helpful? Give feedback.
-
A thought from #371, what about let's stop awaiting the plugin initialization, but instead marking the task (so we won't query the secific plugin until it has been initialized), to improve the startup time (also avoidng potential 3rd party plugin that contains long start up time).
When plugin is not initialized, if it is a global plugin, we stop querying them without showing sign, but if it is a non-global plugin, we provide one result that is showing that it is still loading.
@Flow-Launcher/team What do you think?
Beta Was this translation helpful? Give feedback.
All reactions