Commit graph

11226 commits

Author SHA1 Message Date
Jack Ye
f10f716619
Fix logic inversion bug
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
2026-03-01 12:43:29 +08:00
Jack251970
88ac19af76 Refactor non-global plugin retrieval for performance optimization
Refactored plugin lookup in ValidPluginsForQuery to use a new
TryGetNonGlobalPlugins method, which safely copies plugin lists
using a lock. This improves thread safety and performance
when accessing non-global plugins.
2026-03-01 12:39:49 +08:00
Jack Ye
baa3a690a3
Fix potential race condition in the uninstall logic
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 17:38:21 +08:00
Jack251970
e103d649ed Update test to mark exclusive plugin as disabled
ExclusivePluginQueryIgnoreDisabledTest now sets the ">" plugin's Disabled property to true in PluginMetadata. This verifies that QueryBuilder correctly ignores disabled exclusive plugins.
2026-02-26 17:37:15 +08:00
Jack Ye
a90c787b4a
Improve obsolete description
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 17:37:05 +08:00
Jack251970
211eb8a747 Refactor plugin enabled check with thread safety
Extract plugin enabled check into a new CheckPlugin method, adding a lock for thread safety. Update the if statement to use this method instead of inline logic.
2026-02-26 17:24:41 +08:00
Jack251970
17d675e5ce Update QueryBuilder tests for new nonGlobalPlugins type
Refactored QueryBuilderTest.cs to use Dictionary<string, List<PluginPair>> for nonGlobalPlugins, updating test cases to use lists of PluginPair. Also replaced empty dictionary instantiation with shorthand [] where appropriate.
2026-02-26 17:22:00 +08:00
Jack251970
4537013cde Clean up empty plugin lists from _nonGlobalPlugins
After removing plugins, also remove dictionary entries if their
associated lists become empty. This prevents unused empty lists
from accumulating and keeps the plugin manager's state clean.
2026-02-26 17:19:36 +08:00
Jack251970
2529efeed1 Filter out disabled plugins from valid plugin list
Previously, the code only excluded modified plugins from the valid plugin list. This update adds an additional check to also exclude plugins marked as disabled in their metadata, ensuring that disabled plugins are not considered valid or processed further.
2026-02-26 17:15:29 +08:00
Jack Ye
43a74ba8e6
Fix code comments
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-26 17:13:49 +08:00
Jack251970
1294d722f2 Improve action keyword management in plugin metadata
Prevent duplicate action keywords by checking for existence before adding. Remove all instances of an old action keyword instead of just the first. Ensures action keyword lists remain unique and consistent.
2026-02-26 17:12:46 +08:00
Jack251970
3b771d155d Add locking for thread safety in GetNonGlobalPlugins
Wrap kvp.Value access in a lock when copying to nonGlobalPlugins
to prevent race conditions and ensure thread safety during
concurrent access.
2026-02-26 17:07:41 +08:00
Jack251970
452e60f3b5 Use GetNonGlobalPlugins() instead of field access
Replaced direct _nonGlobalPlugins field access with the GetNonGlobalPlugins() method to improve encapsulation and ensure up-to-date plugin data is used when retrieving non-global plugins by action keyword. No other logic was changed.
2026-02-26 17:07:09 +08:00
Jack251970
8760fe29ee Return deep copy in GetNonGlobalPlugins to protect state
GetNonGlobalPlugins now returns a new dictionary with copied lists,
preventing external modification of the internal _nonGlobalPlugins
collection. This change improves encapsulation and safeguards
plugin manager state integrity.
2026-02-26 17:05:12 +08:00
Jack251970
b8bc7fa82d Support multiple plugins per action keyword
Refactor non-global plugin storage to allow multiple plugins to share the same action keyword by using ConcurrentDictionary<string, List<PluginPair>>. Update all relevant methods to handle lists of plugins, ensure thread safety, and adjust the QueryBuilder logic accordingly. This change improves extensibility and flexibility in plugin management.
2026-02-26 16:54:03 +08:00
Jack251970
f05d31a1c1 Add ActionKeywordAssigned method and new using directives
Expanded using directives for .NET collections and diagnostics.
Added ActionKeywordAssigned to PublicAPIInstance, using obsolete PluginManager.ActionKeywordRegistered with warning suppression.
2026-02-26 16:43:55 +08:00
Jack251970
39b2869cae Deprecate ActionKeywordRegistered, update API docs
Mark ActionKeywordRegistered as obsolete and always return false, reflecting support for multiple plugins per action keyword. Update IPublicAPI docs to clarify ActionKeywordAssigned is for legacy compatibility.
2026-02-26 16:33:39 +08:00
Jeremy Wu
10fcbb9990
Merge pull request #4292 from Flow-Launcher/merge_2_1_0
Some checks failed
Build / build (push) Has been cancelled
Merge v2.1.0 back to dev
2026-02-25 22:54:55 +11:00
Jeremy Wu
980c1a1060
Merge branch 'dev' into merge_2_1_0 2026-02-25 22:45:03 +11:00
Jeremy Wu
cd9825380d
Release 2.1.0 | Plugin 5.2.0 (#4276)
Some checks failed
Publish Default Plugins / publish (push) Has been cancelled
Build / build (push) Has been cancelled
2026-02-24 22:52:23 +11:00
Jack Ye
3b3a59fd62
Fix process priority for logon startup task set to BelowNormal by default (#4283)
Some checks are pending
Build / build (push) Waiting to run
2026-02-24 21:17:22 +11:00
Jack Ye
73f657f84e
Merge pull request #4279 from Flow-Launcher/websearch_ui
Some checks are pending
Build / build (push) Waiting to run
Enable TwoWay binding for MaxSuggestions NumberBox
2026-02-24 14:25:10 +08:00
Jack Ye
c9baab7ac9
Merge branch 'dev' into websearch_ui 2026-02-24 00:08:25 +08:00
Jack251970
72269db8e6 Enable TwoWay binding for MaxSuggestions NumberBox
Changed NumberBox binding for Settings.MaxSuggestions from OneWay to TwoWay, allowing user input in the UI to update the underlying setting. This ensures changes made by users are saved back to the settings model.
2026-02-24 00:07:36 +08:00
Jack Ye
ffa974b4e5
Merge pull request #4277 from Flow-Launcher/websearch_ui
Some checks are pending
Build / build (push) Waiting to run
Downgrade iNKORE.UI.WPF.Modern to 0.10.1 for WebSearch Plugin
2026-02-23 17:09:43 +08:00
Jack Ye
727aac4b82
Merge pull request #4278 from Flow-Launcher/SkiaSharp_runtimes
Some checks are pending
Build / build (push) Waiting to run
Remove Skia sharp unnecessary runtimes from packages
2026-02-23 17:01:00 +08:00
Jack251970
9e66f71774 Revert version bump of SkiaSharp package 2026-02-23 16:36:08 +08:00
Jack Ye
d511872c00
Ensure runtimes folder
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-22 21:29:01 +08:00
Jack251970
c46a52d1ca Remove SkiaSharp .pdb files after build and publish
Added MSBuild targets to delete unnecessary SkiaSharp .pdb files from output and publish directories after build and publish steps, reducing artifact size.
2026-02-22 21:22:17 +08:00
Jack251970
c04da3ab83 Add RISC-V 64-bit runtime support to project config
Included linux-musl-riscv64 and linux-riscv64 in both OutputPath and PublishDir of Flow.Launcher.Plugin.BrowserBookmark.csproj to ensure runtime files for RISC-V 64-bit architectures are available during build and publish.
2026-02-22 21:13:38 +08:00
Jack251970
cb60492657 Downgrade iNKORE.UI.WPF.Modern to 0.10.1
The package reference for iNKORE.UI.WPF.Modern in Flow.Launcher.Plugin.WebSearch.csproj was changed from version 0.10.2.1 to 0.10.1.
2026-02-22 12:38:17 +08:00
Jack Ye
118d6e2a73
Fix incomplete plugin directory deletion on uninstall (#4250)
Some checks failed
Build / build (push) Has been cancelled
2026-02-21 22:34:53 +11:00
Jeremy Wu
918eb0f4a9
New Crowdin updates (#4181) 2026-02-21 12:51:21 +02:00
DB P
11e0f8c3a4
Merge pull request #4273 from onesounds/20250220_SkipConfirm
Some checks are pending
Build / build (push) Waiting to run
Add option to skip confirmation for power actions (Sys Plugin)
2026-02-21 16:01:06 +09:00
Jack251970
a99b8399fe Improve code quality 2026-02-21 14:51:20 +08:00
DB P
7e9a626891 style: fix indentation and tab spacing 2026-02-20 17:40:27 +09:00
DB P
cecd90e675 Refactor: Improve power action logic and property setter
- Add braces for better readability in shutdown/reboot logic (Main.cs).
- Prevent redundant OnPropertyChanged calls in _skipPowerActionConfirmation setter (Settings.cs).
2026-02-20 17:34:37 +09:00
DB P
2d7d025682 Add Skip logic in command 2026-02-20 17:18:21 +09:00
DB P
12fc597b56 Add Checkbox for Skip Confirm 2026-02-20 17:06:31 +09:00
Jack Ye
886cd75ad2
Merge pull request #4272 from umutKaracelebi/fix/readme-drag-drop-typo
Some checks are pending
Build / build (push) Waiting to run
Fix/readme drag drop typo
2026-02-20 12:32:40 +08:00
Jack251970
2b50c4faae README Polish: fixed Flow 2026-02-20 12:22:44 +08:00
umutKaracelebi
9c3dfcd09f README Polish: fixed grammar, consistency, and phrasing 2026-02-19 21:50:29 +03:00
umutKaracelebi
cb52fa6ab7 Fix typo: 'can be change' -> 'can be changed' in Drag & Drop section 2026-02-19 21:29:39 +03:00
Jack Ye
faeba8119a
Merge pull request #4263 from Flow-Launcher/dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/Microsoft.Data.Sqlite-10.0.3
Some checks failed
Build / build (push) Has been cancelled
Bump Microsoft.Data.Sqlite from 10.0.2 to 10.0.3
2026-02-11 10:07:49 +08:00
Jack Ye
89b338fb86
Merge pull request #4264 from Flow-Launcher/dependabot/nuget/Flow.Launcher.Plugin/Microsoft.SourceLink.GitHub-10.0.103
Bump Microsoft.SourceLink.GitHub from 10.0.102 to 10.0.103
2026-02-11 10:07:35 +08:00
dependabot[bot]
60ef8e648c
Bump Microsoft.SourceLink.GitHub from 10.0.102 to 10.0.103
---
updated-dependencies:
- dependency-name: Microsoft.SourceLink.GitHub
  dependency-version: 10.0.103
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 22:45:26 +00:00
dependabot[bot]
498913e71d
Bump Microsoft.Data.Sqlite from 10.0.2 to 10.0.3
---
updated-dependencies:
- dependency-name: Microsoft.Data.Sqlite
  dependency-version: 10.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 22:45:10 +00:00
Jack Ye
6c1f7fade8
Merge pull request #4260 from Flow-Launcher/dependabot/nuget/Plugins/Flow.Launcher.Plugin.BrowserBookmark/SkiaSharp-3.119.2
Some checks are pending
Build / build (push) Waiting to run
Bump SkiaSharp from 3.119.1 to 3.119.2
2026-02-10 11:44:48 +08:00
dependabot[bot]
0f829d0b91
Bump SkiaSharp from 3.119.1 to 3.119.2
---
updated-dependencies:
- dependency-name: SkiaSharp
  dependency-version: 3.119.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-10 01:07:13 +00:00
Jack Ye
0717933459
Fix progress query management and thread safety (#4135)
Some checks failed
Build / build (push) Has been cancelled
2026-02-08 12:49:12 +11:00