Commit graph

90 commits

Author SHA1 Message Date
Jack251970
2e0db3b90f Add MinimumAppVersion support for plugins
Introduced MinimumAppVersion property to PluginMetadata, enabling plugins to specify required Flow Launcher version. Plugin installation now checks this requirement and prompts users if unsatisfied. Minimum app version logic moved to PluginManager and applied to manifest updates. Added localized strings for user prompts. Refactored SameOrLesserPluginVersionExists to accept PluginMetadata.
2026-02-27 18:30:29 +08:00
Jack251970
2adbc334a2 Improve semaphore lock handling and code robustness
Added `lockAcquired` flags in `PluginsManifest.cs` and `Main.cs`
to ensure semaphore locks are only released if successfully
acquired, preventing potential runtime errors. Updated `finally`
blocks to conditionally release locks based on these flags.

Removed redundant cancellation check in `EverythingAPI.cs` to
simplify code, assuming cancellation is handled elsewhere. These
changes enhance reliability and maintainability of the codebase.
2025-11-07 15:30:07 +08:00
Jack251970
88fd1e56d0 Handle OperationCanceledException gracefully
Added a `catch` block for `OperationCanceledException` in
`PluginsManifest.cs` to ignore canceled operations. Updated
`EverythingAPI.cs` to use cancellation tokens with `_semaphore.WaitAsync`
and handle cancellations by exiting the method cleanly with `yield break`.
2025-11-06 20:47:54 +08:00
Jack251970
0a7ed3b52f Add AbstractPluginEnvironment.API back 2025-09-23 17:52:49 +08:00
Jack251970
0e366a6269 Use PublicApi.Instance instead of private one 2025-09-23 17:40:54 +08:00
Jack251970
7350c1d4d5 Use Flow.Launcher.Localization to improve code quality 2025-09-23 17:14:30 +08:00
Jack251970
7a5e55e5f0 Use Debug instead of Info 2025-09-18 21:06:18 +08:00
dcog989
f3998a190c explicit exception logging 2025-09-13 17:04:32 +01:00
dcog989
e63c4f3b6e Catch scary exception, print friendly log
Rather than showing the user `EXCEPTION OCCURS: System.Threading.Tasks.TaskCanceledException...`, print not scary log msg
2025-09-13 16:30:13 +01:00
Jeremy Wu
5d297c1f19
update to log info for plugin version requirement failure 2025-09-04 22:36:43 +10:00
Jeremy
80b0b6031e handle version parse fail and reorder last manifest fetch date 2025-09-04 21:49:16 +10:00
Jeremy
ffb7c25635 switch PluginsManifest download URL to be from main branch 2025-09-03 21:02:07 +10:00
Jeremy Wu
8392a025f3
fix typo 2025-09-02 22:46:37 +10:00
Jeremy
563ae0eeaf add manifest handling of plugin's MinimumAppVersion property 2025-09-02 22:11:08 +10:00
Jack251970
4cbc9f18c7 Add error handler for DroplexPackage.Drop 2025-08-14 14:24:54 +08:00
Jack251970
0682e9bed1 Improve code quality for public api 2025-07-20 11:38:44 +08:00
Jack251970
dd61ab43cb Use null as flag to report community source error 2025-04-18 07:17:33 +08:00
Jack251970
20d2661380 Code quality 2025-04-13 18:04:50 +08:00
Jack251970
50130e4b00 Use class name instead 2025-04-13 17:59:39 +08:00
Jack251970
dde933a96b Use api functions instead 2025-04-13 17:26:21 +08:00
Jack251970
230df80b87 Improve CommunityPluginSource http exception handler 2025-04-13 16:44:14 +08:00
Jack251970
0d9ec48e58 Code quality 2025-04-13 16:36:34 +08:00
Jack251970
b9c0eb7b78 Code quality 2025-04-04 15:56:18 +08:00
Jack251970
e2d9148702 Move user plugin to plugin project 2025-04-04 15:52:57 +08:00
Jack251970
a9dfd1b377 Code quality 2025-04-01 09:57:04 +08:00
Jack251970
6a2b3495a0 Ask reselect environment path until it is valid 2025-04-01 09:26:39 +08:00
Jack251970
eeb9ea78fd Code quality 2025-03-31 21:27:59 +08:00
Jack Ye
7975ab5882
Merge branch 'dev' into plugin_settings_cache_path 2025-03-01 08:51:06 +08:00
Jack251970
3106b025e3 Support plugin directory update & validate 2025-02-24 13:46:58 +08:00
Jack251970
3efe550b7f Use context plugin settings path 2025-02-24 13:28:58 +08:00
Jack251970
b50db58673 Add assembly name & plugin settings path & plugin cache path in meta data for non-csharp plugins 2025-02-24 12:37:08 +08:00
Jack Ye
25684a92ae
Merge branch 'dev' into dev4 2025-02-17 14:54:06 +08:00
Jack251970
319f016ced Remove unnessary list refresh 2025-02-10 12:01:21 +08:00
Jack251970
d8f3280632 Fix unneccessary plugin result update 2025-02-10 11:54:09 +08:00
Jack251970
864402704d Fix an issue that user plugins cannot be updated when reupdating the plugins manifest 2025-02-09 21:54:02 +08:00
Jack251970
3cb9d1dce4 Remove IApp & AppExtensions and use dependency injection instead 2025-01-12 20:04:44 +08:00
Jack251970
88e84378da Use api in app extensions to call api functions 2025-01-09 21:44:24 +08:00
Jack251970
897fd7aaba Replace Flow.Launcher.Core.MessageBoxType & MessageBoxImage with System.Windows.MessageBoxButton & MessageBoxImage
Remove useless warning file
2024-11-26 21:31:13 +08:00
Jack251970
b30cc4fc38 Replace System.Windows.MessageBox with MessageBoxEx 2024-11-25 10:38:43 +08:00
Yusyuriv
ca970bbe75
Localize startup messages about missing Python/NodeJS 2024-06-09 18:45:23 +06:00
Jeremy Wu
1bbe0302fa
Merge pull request #2520 from flooxo/local_install
Feature: Add support for local plugin installation
2024-05-20 08:44:47 +10:00
Jeremy
2606faae17 minor fixes & refactor 2024-05-16 21:22:08 +10:00
Hongtao Zhang
d5622367cc ignore null datetimes for pluginstoreitem 2024-01-13 23:49:08 -06:00
Hongtao Zhang
f5b1b4f830 rename and add js/ts v2 2023-11-03 21:16:51 -05:00
Hongtao Zhang
3c2ea382ea Merge branch 'dev' of https://github.com/Flow-Launcher/Flow.Launcher into jsonrpc_v2 2023-10-31 08:39:51 -05:00
Jeremy
9dacfb145a Merge remote-tracking branch 'origin/dev' into jsonrpc_v2 2023-08-07 13:16:26 +10:00
Jeremy Wu
0b95277aa4 update install folder name 2023-08-03 21:41:35 +10:00
Jeremy Wu
a74fdccaa2 Update Python to v3.11.4 2023-08-03 21:16:58 +10:00
Ioannis G
df149fae8a
increase plugin manifest fetch timeout to 2m 2023-07-08 13:41:52 +03:00
Ioannis G
2d6b476685
use Ctrl+R to fetch primary manifest source
from a `pm install` or `pm update` query

should help with #2048
2023-07-05 17:01:55 +03:00