Flow-Launcher/Flow.Launcher

BUG: A lot of third-party plugins not working on portable version

Open

#2880 opened on Aug 7, 2024

View on GitHub
 (15 comments) (0 reactions) (0 assignees)C# (14,678 stars) (598 forks)batch import
bughelp wantedkeep-fresh

Description

Checks

  • I have checked that this issue has not already been reported.

  • I am using the latest version of Flow Launcher.

Problem Description

Not sure why this is happening, but a lot of my third-party plugins don't work, and changing any setting on these plugins just resets itself on restart of Flow Launcher. Also, the default settings for those plugins are not auto-populated, they are just empty.

The errors I get all give the same thing: FileNotFoundError: Unable to locate Launcher directory I don't understand why it would be unable to locate the files? The log I attached is from trying to use Emoji+.

Reinstalling the plugins didn't work.

For some reason, Dictionary is working fine, so it's not all third-party plugins I have but I think most.

To Reproduce

  1. Download Portable Version
  2. Install third-party plugins (examples: Emoji+, Github Notifications, CurrencyPP, General Converter)
  3. Try to run them, or change settings.
  4. ???
  5. idk, it gives errors for me

Screenshots

image

image

Flow Launcher Version

1.18.0

Windows Build Number

10.0.19045.4717

Error Log


Flow Launcher version: 1.18.0
OS Version: 19045.4717
IntPtr Length: 8
x64: True

Python Path: C:\Users\heldheld\AppData\Local\Programs\Python\Python312\pythonw.exe
Node Path: 
Date: 08/07/2024 17:30:19
Exception:
Emoji+ Exception: 
Websites: https://github.com/Garulf/emoji-plus
Author: Garulf
Version: 2.0.0
Flow.Launcher.Core.ExternalPlugins.FlowPluginException: Traceback (most recent call last):
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\run.py", line 9, in <module>
    from plugin.emoji import Emoji
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\plugin\emoji.py", line 7, in <module>
    from flox import Flox, utils, ICON_BROWSER, ICON_COPY
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\lib\flox\__init__.py", line 46, in <module>
    raise FileNotFoundError("Unable to locate Launcher directory")
FileNotFoundError: Unable to locate Launcher directory

 ---> System.IO.InvalidDataException: Traceback (most recent call last):
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\run.py", line 9, in <module>
    from plugin.emoji import Emoji
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\plugin\emoji.py", line 7, in <module>
    from flox import Flox, utils, ICON_BROWSER, ICON_COPY
  File "C:\Users\heldheld\Documents\Portable Programs\Flow Launcher Portable\app-1.18.0\UserData\Plugins\Emoji+-2.0.0\lib\flox\__init__.py", line 46, in <module>
    raise FileNotFoundError("Unable to locate Launcher directory")
FileNotFoundError: Unable to locate Launcher directory

   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 249
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.ExecuteAsync(ProcessStartInfo startInfo, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 249
   at Flow.Launcher.Core.Plugin.JsonRPCPlugin.QueryAsync(Query query, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\JsonRPCPlugin.cs:line 264
   at Flow.Launcher.Core.Plugin.PluginManager.<>c__DisplayClass23_0.<<QueryForPluginAsync>b__0>d.MoveNext() in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 196
--- End of stack trace from previous location ---
   at Flow.Launcher.Infrastructure.Stopwatch.DebugAsync(String message, Func`1 action) in C:\projects\flow-launcher\Flow.Launcher.Infrastructure\Stopwatch.cs:line 40
   at Flow.Launcher.Core.Plugin.PluginManager.QueryForPluginAsync(PluginPair pair, Query query, CancellationToken token) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 230
   --- End of inner exception stack trace ---
   at Flow.Launcher.Core.Plugin.PluginManager.<>c__DisplayClass23_1.<QueryForPluginAsync>b__1(ActionContext _) in C:\projects\flow-launcher\Flow.Launcher.Core\Plugin\PluginManager.cs:line 224
   at Flow.Launcher.Plugin.Result.ExecuteAsync(ActionContext context) in /_/Flow.Launcher.Plugin/Result.cs:line 246
   at Flow.Launcher.ViewModel.MainViewModel.OpenResultAsync(String index) in C:\projects\flow-launcher\Flow.Launcher\ViewModel\MainViewModel.cs:line 307
   at CommunityToolkit.Mvvm.Input.AsyncRelayCommand.AwaitAndThrowIfFailed(Task executionTask)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Contributor guide