Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.20.0 | Plugin 4.5.0 #3269

Draft
wants to merge 385 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
385 commits
Select commit Hold shift + click to select a range
54f02e0
Use public api for ProgressBoxEx & Add support for force close event
Jack251970 Jan 4, 2025
d0bab86
Improve code quality
Jack251970 Jan 4, 2025
f69dd0f
Improve documents
Jack251970 Jan 4, 2025
56069e6
Improve code quality
Jack251970 Jan 5, 2025
c06ba59
Add support for cancelling download
Jack251970 Jan 5, 2025
07bb16c
Improve code quality
Jack251970 Jan 5, 2025
c907c29
Fix plugin install issue
Jack251970 Jan 5, 2025
3ccd8b4
Move SystemLanguageCode to constant
Jack251970 Jan 6, 2025
6febbe7
Use system language as default in settings
Jack251970 Jan 6, 2025
46c2c1f
Change system language code to lowercase
Jack251970 Jan 6, 2025
675ee9e
Add translation for progress box title
Jack251970 Jan 6, 2025
0fabe31
Improve code quality
Jack251970 Jan 6, 2025
cc0fb66
Extract duplicate cleanup code into a method
Jack251970 Jan 6, 2025
bc84910
Use static HttpClient instance for heavy load issue
Jack251970 Jan 6, 2025
aff6b1a
Perserve prgBox value when force close
Jack251970 Jan 6, 2025
7cccbb0
Merge pull request #3168 from Jack251970/dev1
taooceros Jan 8, 2025
8aebf95
Check ui thread when calling close function & Update documents
Jack251970 Jan 9, 2025
122887e
Await close event from non-ui thread
Jack251970 Jan 9, 2025
6220b34
Fix dulplicated close event
Jack251970 Jan 9, 2025
5016334
Avoid cancelling all pending requests on shared HttpClient instance
Jack251970 Jan 9, 2025
ad02700
Use System.Text.Json to replace Newtonsoft.Json for better performance
Jack251970 Jan 9, 2025
381e64e
Move ProgressBoxEx to main project for better development experience
Jack251970 Jan 9, 2025
20ffff6
Use api to call api functions
Jack251970 Jan 9, 2025
8b91050
Add IApp & AppExtensions for accessing the properties & functions fro…
Jack251970 Jan 9, 2025
88e8437
Use api in app extensions to call api functions
Jack251970 Jan 9, 2025
d36aef5
Change ProgressBoxEx namespace
Jack251970 Jan 9, 2025
2716c40
Move MessageBoxEx to main project for better development experience
Jack251970 Jan 9, 2025
a62b222
resolve link before using File.Replace
taooceros Jan 9, 2025
cfc0534
Bump SemanticVersioning from 3.0.0-beta2 to 3.0.0 (#3172)
dependabot[bot] Jan 10, 2025
ed7265d
Remove override close event
Jack251970 Jan 10, 2025
f1746b0
New Crowdin updates (#3149)
jjw24 Jan 10, 2025
95b4c4c
Improve code quality
Jack251970 Jan 10, 2025
5f4d24a
Merge pull request #3174 from Jack251970/dev1
taooceros Jan 10, 2025
297d191
Use function to delegate the progress task
Jack251970 Jan 10, 2025
cc921c7
Improve progress box when exception happens
Jack251970 Jan 10, 2025
4b38e0e
properly dispose the filestream
taooceros Jan 10, 2025
2a1d502
fix build error
taooceros Jan 10, 2025
a9d77d8
Bump Mages from 2.0.2 to 3.0.0 (#3154)
dependabot[bot] Jan 10, 2025
e7ff369
Merge remote-tracking branch 'origin/remove-result-caching' into remo…
taooceros Jan 10, 2025
2de63f7
change equality related testing
taooceros Jan 10, 2025
df3cb58
Improve code quality
Jack251970 Jan 11, 2025
029cb38
Fix progress box action under ui thread
Jack251970 Jan 11, 2025
8eb5a4d
Improve HttpDownloadAsync function & Use it in PluginManager plugin
Jack251970 Jan 11, 2025
32cac76
Improve Settings management
Jack251970 Jan 12, 2025
1b76a2b
Use dependency injection for all services
Jack251970 Jan 12, 2025
a748141
Use IPublicAPI instead
Jack251970 Jan 12, 2025
3cb9d1d
Remove IApp & AppExtensions and use dependency injection instead
Jack251970 Jan 12, 2025
2a423f0
Improve code quality
Jack251970 Jan 13, 2025
ff110b3
Fix test project build issue
Jack251970 Jan 13, 2025
c3f71c2
Revert "Fix test project build issue"
Jack251970 Jan 13, 2025
3bebb69
Fix unitest build issue
Jack251970 Jan 13, 2025
8d83849
Improve dependency injection in updater & settings view model & setti…
Jack251970 Jan 13, 2025
cdc5f0e
Merge branch 'dev' into dev4
Jack251970 Jan 13, 2025
43965f4
Bump BitFaster.Caching from 2.5.2 to 2.5.3
dependabot[bot] Jan 13, 2025
484578d
Merge pull request #3183 from Flow-Launcher/dependabot/nuget/BitFaste…
jjw24 Jan 18, 2025
8e5d778
remove equality test
jjw24 Jan 18, 2025
0b8db59
Merge pull request #3112 from Flow-Launcher/remove-result-caching
jjw24 Jan 18, 2025
abe943b
Fix system language code fetch issue
Jack251970 Jan 18, 2025
66b3f5a
Merge branch 'dev' into dev2
Jack251970 Jan 19, 2025
1bf045f
Make fileMode usage between progress and non-progress paths consistent
Jack251970 Jan 19, 2025
fc2ce73
Merge branch 'dev' into dev3
Jack251970 Jan 19, 2025
c32435f
Use api to call download function & Add message box for all download …
Jack251970 Jan 19, 2025
d21b936
do not try catch the error for jsonrpc v2
taooceros Jan 20, 2025
0beb0b3
Merge branch 'dev' into jsonrpc-v2-error
taooceros Jan 20, 2025
5d16429
Bump FSharp.Core from 9.0.100 to 9.0.101
dependabot[bot] Jan 20, 2025
1984426
Add support for record key
Jack251970 Jan 21, 2025
ed39937
Initialize App.API earlier & Improve code quality
Jack251970 Jan 21, 2025
8b290a6
Merge branch 'dev' into dev4
Jack251970 Jan 21, 2025
f9983b5
Move dependency injection codes to constructor
Jack251970 Jan 22, 2025
fec553c
Improve uninstaller check function
Jack251970 Jan 24, 2025
71dad9f
Add support for more uninstaller prefixs
Jack251970 Jan 24, 2025
0c7dc07
fix typo
jjw24 Jan 25, 2025
a0c915e
Merge pull request #3197 from Jack251970/hide_uninstallers
jjw24 Jan 25, 2025
0e700cd
rename GetSystemLanguageCode method + add comment
jjw24 Jan 25, 2025
32bedde
Merge pull request #3161 from Jack251970/dev2
jjw24 Jan 25, 2025
bb25774
Merge branch 'dev' into dev4
Jack251970 Jan 26, 2025
1562c88
Improve context menu item action response
Jack251970 Jan 26, 2025
ae5186d
Remove context menu cache
Jack251970 Jan 26, 2025
00de861
Remove useless obsolete constructor
Jack251970 Jan 26, 2025
95c8475
Fix null exception when result is from context menu & Add documents
Jack251970 Jan 26, 2025
80f54ba
Fix more possible origin query null exception & Remove useless load f…
Jack251970 Jan 26, 2025
cc6dca5
Merge pull request #3190 from Flow-Launcher/jsonrpc-v2-error
taooceros Jan 27, 2025
1c7e290
Fix setting window freeze issue & Improve singleton window opener
Jack251970 Jan 27, 2025
23a1e5b
Initialize public api instance in constructor so that we can use App.…
Jack251970 Jan 27, 2025
ed16d34
Improve code quality
Jack251970 Jan 27, 2025
6a2389f
Fix test project build issue
Jack251970 Jan 27, 2025
64441a2
Merge pull request #3191 from Flow-Launcher/dependabot/nuget/FSharp.C…
jjw24 Jan 27, 2025
94728e0
Merge pull request #3204 from Jack251970/settings_window_freeze
jjw24 Jan 27, 2025
9932316
Merge branch 'dev' into merge_back_1.19.5
jjw24 Jan 27, 2025
6cf7674
Merge pull request #3206 from Flow-Launcher/merge_back_1.19.5
jjw24 Jan 27, 2025
9a8eabd
Bump Microsoft.Data.Sqlite from 9.0.0 to 9.0.1
dependabot[bot] Jan 27, 2025
208e4a8
Bump VirtualizingWrapPanel from 2.1.0 to 2.1.1
dependabot[bot] Jan 27, 2025
3260fab
Add support for changing startup to logon task for faster startup exp…
Jack251970 Jan 31, 2025
3f93d18
Move string to resources
Jack251970 Jan 31, 2025
3d9a6b2
Fix issue when checking logon task
Jack251970 Jan 31, 2025
e320ca1
Add support for deleting plugin settings when uninstalling plugins
Jack251970 Feb 1, 2025
bb7900c
Add PyWin32-related directories to path for Python plugins
Yusyuriv Feb 2, 2025
f708ad9
Add Windows Terminal to Shell Plugin
Azakidev Feb 4, 2025
ff2f0c3
Fix typos
Azakidev Feb 4, 2025
3596a77
Fix the rest of my mistakes
Azakidev Feb 4, 2025
5bb3d72
Use a checkbox instead of separate entries
Azakidev Feb 5, 2025
0e02a6f
Revert changes in non-English language files
Jack251970 Feb 5, 2025
71b79da
Revert auto format
Jack251970 Feb 5, 2025
1ff8c36
Revert changes in non-English language files
Jack251970 Feb 5, 2025
7598a6a
Revert auto format
Jack251970 Feb 6, 2025
1f1b319
Improve argument name to avoid possible confusion
Jack251970 Feb 6, 2025
69bf7c6
add BackToQueryResults to JsonRPCPublicAPI
cibere Feb 7, 2025
38eb07a
Merge pull request #3230 from cibere/fix
taooceros Feb 7, 2025
646bad6
Use parameter for function for readability
Jack251970 Feb 7, 2025
a3cc5e2
Fix unix directory seperator issue
Jack251970 Feb 7, 2025
3ee3528
Revert "Fix unix directory seperator issue"
Jack251970 Feb 7, 2025
5ee110b
Fix unix directory seperator issue
Jack251970 Feb 7, 2025
1a39af3
Fix main window resize boarder thickness issue
Jack251970 Feb 7, 2025
e463292
Merge pull request #3231 from Jack251970/unix_directory_seperator
taooceros Feb 8, 2025
0e4cf57
Revert blank lines
Jack251970 Feb 8, 2025
f0e74a2
Fix issue that plugin manager will save settings for the uninstalled …
Jack251970 Feb 8, 2025
37837e7
Fix possible exception when deleting local folder
Jack251970 Feb 8, 2025
6c081e1
Revert the translation files
Azakidev Feb 8, 2025
54a0f3d
Add support for delete plugin directory for non-dotnet plugins
Jack251970 Feb 9, 2025
8644027
Fix an issue that user plugins cannot be updated when reupdating the …
Jack251970 Feb 9, 2025
d8f3280
Fix unneccessary plugin result update
Jack251970 Feb 10, 2025
319f016
Remove unnessary list refresh
Jack251970 Feb 10, 2025
585b701
Add uninstallation tooltip for logon task settings item
Jack251970 Feb 10, 2025
980795b
Improve explorer path parse when path ends with backslash
Jack251970 Feb 12, 2025
ddbbd69
Make sure back to query results from context menu before changing query
Jack251970 Feb 12, 2025
cd52c0f
Merge pull request #3208 from Flow-Launcher/dependabot/nuget/Microsof…
jjw24 Feb 12, 2025
502129d
Merge pull request #3209 from Flow-Launcher/dependabot/nuget/Virtuali…
jjw24 Feb 12, 2025
5313229
perf: hide main window from alt tab program switcher #2356
ZGGSONG Feb 14, 2025
829dbaa
Use CSWin32 for code quality
Jack251970 Feb 14, 2025
dc07e76
Add error handling for Get & SetWindowLong failure & Combine get styl…
Jack251970 Feb 14, 2025
0893134
Merge pull request #3241 from ZGGSONG/perf_alt_tab_not_show
VictoriousRaptor Feb 15, 2025
2a445e3
Merge branch 'dev' into logon_task
VictoriousRaptor Feb 15, 2025
cc57027
Fix get thumbnail exception
Jack251970 Feb 16, 2025
38b2850
Improve documents
Jack251970 Feb 16, 2025
d73f3a1
Fix custom hotkey preview issue
Jack251970 Feb 16, 2025
418270f
Merge pull request #3233 from Jack251970/plugins_manifest_reupdate
Jack251970 Feb 17, 2025
741ddfe
Merge pull request #3170 from Jack251970/dev3
taooceros Feb 17, 2025
25684a9
Merge branch 'dev' into dev4
Jack251970 Feb 17, 2025
e0d2af2
Merge pull request #3238 from Jack251970/active_explorer_path
taooceros Feb 17, 2025
81c068e
Merge pull request #3194 from Jack251970/record_key
taooceros Feb 17, 2025
0611340
Invoke visibility changed event when previewing
Jack251970 Feb 17, 2025
2978226
Merge branch 'dev' into dev
Jack251970 Feb 17, 2025
e502ebc
Merge pull request #3110 from Flow-Launcher/modify-pythonpath-for-plu…
jjw24 Feb 17, 2025
6084d07
Merge branch 'dev' into dev
Jack251970 Feb 17, 2025
71f1acd
Revert com expcetion & Add thumbnail only check
Jack251970 Feb 17, 2025
9917de9
Merge pull request #3225 from Azakidev/dev
Jack251970 Feb 17, 2025
827b6ed
Improve code quality
Jack251970 Feb 17, 2025
ffa3038
Replace process commands with PInvoke
Jack251970 Feb 17, 2025
e93699b
Add shutdown reason
Jack251970 Feb 17, 2025
1809314
Enable shutdown privilege before calling PInvoke for shutdown and start
Jack251970 Feb 17, 2025
648e3f2
Improve code quality
Jack251970 Feb 18, 2025
a065179
Use PInvoke for const
Jack251970 Feb 18, 2025
3bd4ca4
Replace hiberate with PInvoke
Jack251970 Feb 18, 2025
6b032b3
Revert changes and use api function instead
Jack251970 Feb 18, 2025
9284c55
Use api function to hide window
Jack251970 Feb 18, 2025
6c22aea
Merge pull request #3251 from Jack251970/hide_window
VictoriousRaptor Feb 18, 2025
23f6342
Merge branch 'dev' into dev4
Jack251970 Feb 18, 2025
735cc14
Merge pull request #3203 from Jack251970/context_menu_back_to_query
jjw24 Feb 18, 2025
27d7ef5
Merge branch 'dev' into back_query_results_before_change_query
Jack251970 Feb 18, 2025
0370c96
Merge pull request #3232 from Jack251970/resize_boarder_thickness
Jack251970 Feb 19, 2025
3dade8b
Don't restart the jsonrpc process when reloading data.
taooceros Feb 19, 2025
f0cb036
Merge pull request #3246 from Jack251970/get_thumbnail_exception
Jack251970 Feb 19, 2025
1a54eed
Merge pull request #3250 from Jack251970/sys_shutdown_restart_hibernate
Jack251970 Feb 19, 2025
2843236
Improve documents & Improve code quality
Jack251970 Feb 19, 2025
8b6dcd0
Merge branch 'dev' into dev4
Jack251970 Feb 19, 2025
ccf8d87
Add support for hiding dulplicated windows apps
Jack251970 Feb 20, 2025
b4bffb1
Use null as default value for record key
Jack251970 Feb 20, 2025
4f41be6
Improve code quality
Jack251970 Feb 20, 2025
2ffe170
Use deep clone for result updating
Jack251970 Feb 20, 2025
9850e9d
Fix issue that plugin will cannot cache records
Jack251970 Feb 20, 2025
7ccfbca
Add hide dulplicated windows apps into settings panel
Jack251970 Feb 20, 2025
097633e
Fix typos
Jack251970 Feb 21, 2025
79bcf8b
Use system environment for Windows app path
Jack251970 Feb 21, 2025
5fc8ed1
Remove useless settings control & project reference
Jack251970 Feb 21, 2025
c472239
Fix unneccessary black lines when settings control is null
Jack251970 Feb 21, 2025
8ae53a2
Merge pull request #3260 from Jack251970/blank_settings_panel
Jack251970 Feb 21, 2025
c137091
Merge pull request #3248 from Jack251970/custom_hotkey_preview
Jack251970 Feb 21, 2025
54a49d6
Enable the use of Win hotkey to trigger flow (#3262)
jjw24 Feb 21, 2025
4173361
Improve code quality
Jack251970 Feb 21, 2025
44aa17d
Improve report window with dark theme & localization support
Jack251970 Feb 21, 2025
2b9716a
Fix message box window topmost issue when disabling hide FL when loss…
Jack251970 Feb 22, 2025
dd73e4b
Fix topmost score issue
Jack251970 Feb 22, 2025
b469228
Add max value check
Jack251970 Feb 22, 2025
156668e
Add minimize & background option for progress box ex
Jack251970 Feb 22, 2025
70396bc
add exception handling for register & unregister hotkey (#3263)
jjw24 Feb 22, 2025
9665619
Merge pull request #3257 from Jack251970/result_copy
Jack251970 Feb 22, 2025
c7218fb
Merge pull request #3266 from Jack251970/message_window_topmost
Jack251970 Feb 22, 2025
abc13b7
Adjust minimize button style
Jack251970 Feb 22, 2025
942ea3e
Set progress box topmost
Jack251970 Feb 22, 2025
aee5856
Remove back to query result and call this function in ChangeQuery & R…
Jack251970 Feb 22, 2025
6f55e8a
Add BackToQueryResults api function back
Jack251970 Feb 22, 2025
a6f3340
Add BackToQueryResults in json prc api
Jack251970 Feb 22, 2025
64eb4a7
Improve documents
Jack251970 Feb 22, 2025
e028ed3
Merge pull request #3259 from Jack251970/remove_duplicated_programs
jjw24 Feb 22, 2025
61cd536
Apply suggestions from code review
jjw24 Feb 22, 2025
0f82246
Update Flow.Launcher.Plugin/Interfaces/IPublicAPI.cs
Jack251970 Feb 22, 2025
2d90481
Merge branch 'dev' into dependabot/nuget/nunit-4.3.2
Jack251970 Feb 22, 2025
81d479c
Fix build issue for nunit 4.3.2 & Improve code quality
Jack251970 Feb 22, 2025
00468a7
Merge pull request #3153 from Flow-Launcher/dependabot/nuget/nunit-4.3.2
Jack251970 Feb 22, 2025
4b03aa4
Merge pull request #3240 from Jack251970/back_query_results_before_ch…
jjw24 Feb 22, 2025
cc463c8
Merge pull request #3081 from Flow-Launcher/taooceros-patch-1
jjw24 Feb 23, 2025
58f8aaa
Show message when failed to remove plugin settings & Improve code qua…
Jack251970 Feb 23, 2025
2bc9203
Merge pull request #3219 from Jack251970/delete_plugin_settings
jjw24 Feb 23, 2025
cdf02d5
Resolve conflicts
Jack251970 Feb 23, 2025
c072012
Fix parameter name issue.
Jack251970 Feb 23, 2025
39d7187
Use constructor injection for updater
Jack251970 Feb 23, 2025
39d34b1
Add circular dependency comments
Jack251970 Feb 23, 2025
e022ad6
Remove instance for StringMatcher
Jack251970 Feb 23, 2025
a3964f5
Remove instance for Internationalization & Theme
Jack251970 Feb 23, 2025
d4f9099
Improve constructor injection for updater
Jack251970 Feb 23, 2025
e989b5a
Add instance obsolete message
Jack251970 Feb 23, 2025
8496cfc
Use Ioc.Default in initialize function
Jack251970 Feb 23, 2025
ad63b0e
Improve code quality for field names
Jack251970 Feb 23, 2025
f5f0986
remove some usage of Ioc.GetRequiredService when injection is possible.
taooceros Feb 23, 2025
ef68ccb
Fix unit test issue
Jack251970 Feb 23, 2025
91490c0
Remove usage of _settingsVM._settings and make _settings private
Jack251970 Feb 23, 2025
3573580
Merge pull request #3177 from Flow-Launcher/symlink
VictoriousRaptor Feb 24, 2025
16798a0
use constructor injection for PublicAPIInstance.cs
taooceros Feb 24, 2025
e299721
Merge pull request #3175 from Jack251970/dev4
Jack251970 Feb 24, 2025
9630516
Improve function names for code quality
Jack251970 Feb 24, 2025
e9688d1
Fix dependency injection issue in installer
Jack251970 Feb 24, 2025
022cad0
Merge pull request #3274 from Jack251970/dependency_injection_installer
taooceros Feb 24, 2025
928ca47
Add preview background in welcome page 2
Jack251970 Feb 25, 2025
9aadc3a
Merge pull request #3277 from Jack251970/welcome_page_preview_background
Jack251970 Feb 25, 2025
fe48427
Log error for logon task
Jack251970 Feb 25, 2025
c143aa4
Merge pull request #3218 from Jack251970/logon_task
jjw24 Feb 25, 2025
1a6733e
Improve background wallpaper fetch
Jack251970 Feb 25, 2025
ff45f5f
Cache image brush & Invoke on UI thread
Jack251970 Feb 25, 2025
0fddb84
Add wallpaper path in cache dictionary
Jack251970 Feb 25, 2025
bf8f5d1
Downgrade dependency injection version
Jack251970 Feb 26, 2025
2e511b0
Merge branch 'Flow-Launcher:dev' into dependency_injection_installer
Jack251970 Feb 26, 2025
397c6ee
Add message box to show exception
Jack251970 Feb 26, 2025
7cc32f3
Fix build issue
Jack251970 Feb 26, 2025
3fa8806
Remove useless localization
Jack251970 Feb 26, 2025
30aa1fa
Merge pull request #3264 from Jack251970/report_window
jjw24 Feb 26, 2025
ed5e0bb
Improve documents
Jack251970 Feb 26, 2025
fb9980e
Upgrade nuget packages
Jack251970 Feb 27, 2025
a153bb6
Test Jack251970.TaskScheduler package
Jack251970 Feb 27, 2025
406b196
Test updated Jack251970.TaskScheduler package
Jack251970 Feb 27, 2025
5c48aca
Add loading api functions for all plugins
Jack251970 Feb 28, 2025
9329575
Merge pull request #3283 from Jack251970/dependency_injection_installer
taooceros Feb 28, 2025
65f85cf
Merge pull request #3267 from Jack251970/improve_progress_box
jjw24 Feb 28, 2025
c3a8a02
Merge branch 'dev' into loading_bar
Jack251970 Feb 28, 2025
9dbc174
Add cache size management & Add error handling
Jack251970 Feb 28, 2025
c06042f
Fix API instance create twice issue & Make PluginManager.API private
Jack251970 Feb 28, 2025
d8c547f
Improve code quality
Jack251970 Feb 28, 2025
dbf51a3
Merge pull request #3279 from Jack251970/wallpaper__retrieval
Jack251970 Feb 28, 2025
79d54d0
Merge pull request #3297 from Jack251970/dependency_injection_mainvm
Jack251970 Feb 28, 2025
cb48f81
Merge branch 'dev' into loading_bar
Jack251970 Mar 1, 2025
57f20ae
Merge pull request #3294 from Jack251970/loading_bar
Jack251970 Mar 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cm/gitstream.cm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# -*- mode: yaml -*-

Check failure on line 1 in .cm/gitstream.cm

View workflow job for this annotation

GitHub Actions / Check Spelling

`gitstream` is not a recognized word. (check-file-path)
# This example configuration for provides basic automations to get started with gitStream.
# View the gitStream quickstart for more examples: https://docs.gitstream.cm/examples/
manifest:
Expand All @@ -10,7 +10,7 @@
branch:
- l10n_dev
- dev
- r/(?i)(Dependabot|Renovate)/
- r/([Dd]ependabot|[Rr]enovate)/


automations:
Expand Down
12 changes: 5 additions & 7 deletions .github/workflows/pr_assignee.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
name: Assign PR to creator

# Due to GitHub token limitation, only able to assign org members not authors from forks.
# https://github.com/thomaseizinger/assign-pr-creator-action/issues/3

on:
pull_request:
pull_request_target:
types: [opened]
branches-ignore:
- l10n_dev

permissions:
pull-requests: write

jobs:
automation:
runs-on: ubuntu-latest
steps:
- name: Assign PR to creator
uses: thomaseizinger/[email protected]
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
uses: toshimaru/[email protected]
5 changes: 4 additions & 1 deletion .github/workflows/pr_milestone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@ name: Set Milestone
# Assigns the earliest created milestone that matches the below glob pattern.

on:
pull_request:
pull_request_target:
types: [opened]

permissions:
pull-requests: write

jobs:
automation:
runs-on: ubuntu-latest
Expand Down
24 changes: 14 additions & 10 deletions Flow.Launcher.Core/Configuration/Portable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin.SharedCommands;
using System.Linq;
using CommunityToolkit.Mvvm.DependencyInjection;
using Flow.Launcher.Plugin;

namespace Flow.Launcher.Core.Configuration
{
public class Portable : IPortable
{
private readonly IPublicAPI API = Ioc.Default.GetRequiredService<IPublicAPI>();

/// <summary>
/// As at Squirrel.Windows version 1.5.2, UpdateManager needs to be disposed after finish
/// </summary>
Expand All @@ -40,7 +44,7 @@ public void DisablePortableMode()
#endif
IndicateDeletion(DataLocation.PortableDataPath);

MessageBox.Show("Flow Launcher needs to restart to finish disabling portable mode, " +
API.ShowMsgBox("Flow Launcher needs to restart to finish disabling portable mode, " +
"after the restart your portable data profile will be deleted and roaming data profile kept");

UpdateManager.RestartApp(Constant.ApplicationFileName);
Expand All @@ -64,7 +68,7 @@ public void EnablePortableMode()
#endif
IndicateDeletion(DataLocation.RoamingDataPath);

MessageBox.Show("Flow Launcher needs to restart to finish enabling portable mode, " +
API.ShowMsgBox("Flow Launcher needs to restart to finish enabling portable mode, " +
"after the restart your roaming data profile will be deleted and portable data profile kept");

UpdateManager.RestartApp(Constant.ApplicationFileName);
Expand Down Expand Up @@ -95,13 +99,13 @@ public void RemoveUninstallerEntry()

public void MoveUserDataFolder(string fromLocation, string toLocation)
{
FilesFolders.CopyAll(fromLocation, toLocation);
FilesFolders.CopyAll(fromLocation, toLocation, (s) => API.ShowMsgBox(s));
VerifyUserDataAfterMove(fromLocation, toLocation);
}

public void VerifyUserDataAfterMove(string fromLocation, string toLocation)
{
FilesFolders.VerifyBothFolderFilesEqual(fromLocation, toLocation);
FilesFolders.VerifyBothFolderFilesEqual(fromLocation, toLocation, (s) => API.ShowMsgBox(s));
}

public void CreateShortcuts()
Expand Down Expand Up @@ -157,13 +161,13 @@ public void PreStartCleanUpAfterPortabilityUpdate()
// delete it and prompt the user to pick the portable data location
if (File.Exists(roamingDataDeleteFilePath))
{
FilesFolders.RemoveFolderIfExists(roamingDataDir);
FilesFolders.RemoveFolderIfExists(roamingDataDir, (s) => API.ShowMsgBox(s));

if (MessageBox.Show("Flow Launcher has detected you enabled portable mode, " +
if (API.ShowMsgBox("Flow Launcher has detected you enabled portable mode, " +
"would you like to move it to a different location?", string.Empty,
MessageBoxButton.YesNo) == MessageBoxResult.Yes)
{
FilesFolders.OpenPath(Constant.RootDirectory);
FilesFolders.OpenPath(Constant.RootDirectory, (s) => API.ShowMsgBox(s));

Environment.Exit(0);
}
Expand All @@ -172,9 +176,9 @@ public void PreStartCleanUpAfterPortabilityUpdate()
// delete it and notify the user about it.
else if (File.Exists(portableDataDeleteFilePath))
{
FilesFolders.RemoveFolderIfExists(portableDataDir);
FilesFolders.RemoveFolderIfExists(portableDataDir, (s) => API.ShowMsgBox(s));

MessageBox.Show("Flow Launcher has detected you disabled portable mode, " +
API.ShowMsgBox("Flow Launcher has detected you disabled portable mode, " +
"the relevant shortcuts and uninstaller entry have been created");
}
}
Expand All @@ -186,7 +190,7 @@ public bool CanUpdatePortability()

if (roamingLocationExists && portableLocationExists)
{
MessageBox.Show(string.Format("Flow Launcher detected your user data exists both in {0} and " +
API.ShowMsgBox(string.Format("Flow Launcher detected your user data exists both in {0} and " +
"{1}. {2}{2}Please delete {1} in order to proceed. No changes have occurred.",
DataLocation.PortableDataPath, DataLocation.RoamingDataPath, Environment.NewLine));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,18 @@
using Flow.Launcher.Plugin.SharedCommands;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows;
using System.Windows.Forms;
using Flow.Launcher.Core.Resource;
using CommunityToolkit.Mvvm.DependencyInjection;

namespace Flow.Launcher.Core.ExternalPlugins.Environments
{
public abstract class AbstractPluginEnvironment
{
protected readonly IPublicAPI API = Ioc.Default.GetRequiredService<IPublicAPI>();

internal abstract string Language { get; }

internal abstract string EnvName { get; }
Expand All @@ -25,7 +28,7 @@ public abstract class AbstractPluginEnvironment

internal virtual string FileDialogFilter => string.Empty;

internal abstract string PluginsSettingsFilePath { get; set; }
internal abstract string PluginsSettingsFilePath { get; set; }

internal List<PluginMetadata> PluginMetadataList;

Expand Down Expand Up @@ -57,7 +60,7 @@ internal IEnumerable<PluginPair> Setup()
EnvName,
Environment.NewLine
);
if (MessageBox.Show(noRuntimeMessage, string.Empty, MessageBoxButtons.YesNo) == DialogResult.No)
if (API.ShowMsgBox(noRuntimeMessage, string.Empty, MessageBoxButton.YesNo) == MessageBoxResult.No)
{
var msg = string.Format(InternationalizationManager.Instance.GetTranslation("runtimePluginChooseRuntimeExecutable"), EnvName);
string selectedFile;
Expand All @@ -82,7 +85,7 @@ internal IEnumerable<PluginPair> Setup()
}
else
{
MessageBox.Show(string.Format(InternationalizationManager.Instance.GetTranslation("runtimePluginUnableToSetExecutablePath"), Language));
API.ShowMsgBox(string.Format(InternationalizationManager.Instance.GetTranslation("runtimePluginUnableToSetExecutablePath"), Language));
Log.Error("PluginsLoader",
$"Not able to successfully set {EnvName} path, setting's plugin executable path variable is still an empty string.",
$"{Language}Environment");
Expand All @@ -98,7 +101,7 @@ private void EnsureLatestInstalled(string expectedPath, string currentPath, stri
if (expectedPath == currentPath)
return;

FilesFolders.RemoveFolderIfExists(installedDirPath);
FilesFolders.RemoveFolderIfExists(installedDirPath, (s) => API.ShowMsgBox(s));

InstallEnvironment();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ internal PythonEnvironment(List<PluginMetadata> pluginMetadataList, PluginsSetti

internal override void InstallEnvironment()
{
FilesFolders.RemoveFolderIfExists(InstallPath);
FilesFolders.RemoveFolderIfExists(InstallPath, (s) => API.ShowMsgBox(s));

// Python 3.11.4 is no longer Windows 7 compatible. If user is on Win 7 and
// uses Python plugin they need to custom install and use v3.8.9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ internal TypeScriptEnvironment(List<PluginMetadata> pluginMetadataList, PluginsS

internal override void InstallEnvironment()
{
FilesFolders.RemoveFolderIfExists(InstallPath);
FilesFolders.RemoveFolderIfExists(InstallPath, (s) => API.ShowMsgBox(s));

DroplexPackage.Drop(App.nodejs_16_18_0, InstallPath).Wait();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ internal TypeScriptV2Environment(List<PluginMetadata> pluginMetadataList, Plugin

internal override void InstallEnvironment()
{
FilesFolders.RemoveFolderIfExists(InstallPath);
FilesFolders.RemoveFolderIfExists(InstallPath, (s) => API.ShowMsgBox(s));

DroplexPackage.Drop(App.nodejs_16_18_0, InstallPath).Wait();

Expand Down
16 changes: 12 additions & 4 deletions Flow.Launcher.Core/ExternalPlugins/PluginsManifest.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using Flow.Launcher.Infrastructure.Logger;
using Flow.Launcher.Infrastructure.Logger;
using System;
using System.Collections.Generic;
using System.Threading;
Expand All @@ -21,7 +21,7 @@ public static class PluginsManifest

public static List<UserPlugin> UserPlugins { get; private set; }

public static async Task UpdateManifestAsync(CancellationToken token = default, bool usePrimaryUrlOnly = false)
public static async Task<bool> UpdateManifestAsync(CancellationToken token = default, bool usePrimaryUrlOnly = false)
{
try
{
Expand All @@ -31,8 +31,14 @@ public static async Task UpdateManifestAsync(CancellationToken token = default,
{
var results = await mainPluginStore.FetchAsync(token, usePrimaryUrlOnly).ConfigureAwait(false);

UserPlugins = results;
lastFetchedAt = DateTime.Now;
// If the results are empty, we shouldn't update the manifest because the results are invalid.
if (results.Count != 0)
{
UserPlugins = results;
lastFetchedAt = DateTime.Now;

return true;
}
}
}
catch (Exception e)
Expand All @@ -43,6 +49,8 @@ public static async Task UpdateManifestAsync(CancellationToken token = default,
{
manifestUpdateLock.Release();
}

return false;
}
}
}
4 changes: 2 additions & 2 deletions Flow.Launcher.Core/Flow.Launcher.Core.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,11 @@

<ItemGroup>
<PackageReference Include="Droplex" Version="1.7.0" />
<PackageReference Include="FSharp.Core" Version="8.0.401" />
<PackageReference Include="FSharp.Core" Version="9.0.101" />
<PackageReference Include="Meziantou.Framework.Win32.Jobs" Version="3.4.0" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
<PackageReference Include="squirrel.windows" Version="1.5.2" NoWarn="NU1701" />
<PackageReference Include="StreamJsonRpc" Version="2.19.27" />
<PackageReference Include="StreamJsonRpc" Version="2.20.20" />
</ItemGroup>

<ItemGroup>
Expand Down
14 changes: 12 additions & 2 deletions Flow.Launcher.Core/Plugin/JsonRPCPluginBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,10 @@ internal abstract class JsonRPCPluginBase : IAsyncPlugin, IContextMenu, ISetting
private string SettingConfigurationPath =>
Path.Combine(Context.CurrentPluginMetadata.PluginDirectory, "SettingsTemplate.yaml");

private string SettingPath => Path.Combine(DataLocation.PluginSettingsDirectory,
Context.CurrentPluginMetadata.Name, "Settings.json");
private string SettingDirectory => Path.Combine(DataLocation.PluginSettingsDirectory,
Context.CurrentPluginMetadata.Name);

private string SettingPath => Path.Combine(SettingDirectory, "Settings.json");

public abstract List<Result> LoadContextMenus(Result selectedResult);

Expand Down Expand Up @@ -159,5 +161,13 @@ public Control CreateSettingPanel()
{
return Settings.CreateSettingPanel();
}

public void DeletePluginSettingsDirectory()
{
if (Directory.Exists(SettingDirectory))
{
Directory.Delete(SettingDirectory, true);
}
}
}
}
2 changes: 1 addition & 1 deletion Flow.Launcher.Core/Plugin/JsonRPCPluginSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ public void Save()
public Control CreateSettingPanel()
{
if (Settings == null || Settings.Count == 0)
return new();
return null;

var settingWindow = new UserControl();
var mainPanel = new Grid { Margin = settingPanelMargin, VerticalAlignment = VerticalAlignment.Center };
Expand Down
56 changes: 20 additions & 36 deletions Flow.Launcher.Core/Plugin/JsonRPCPluginV2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,54 +26,33 @@ internal abstract class JsonRPCPluginV2 : JsonRPCPluginBase, IAsyncDisposable, I

protected override async Task<bool> ExecuteResultAsync(JsonRPCResult result)
{
try
{
var res = await RPC.InvokeAsync<JsonRPCExecuteResponse>(result.JsonRPCAction.Method,
argument: result.JsonRPCAction.Parameters);
var res = await RPC.InvokeAsync<JsonRPCExecuteResponse>(result.JsonRPCAction.Method,
argument: result.JsonRPCAction.Parameters);

return res.Hide;
}
catch
{
return false;
}
return res.Hide;
}

private JoinableTaskFactory JTF { get; } = new JoinableTaskFactory(new JoinableTaskContext());

public override List<Result> LoadContextMenus(Result selectedResult)
{
try
{
var res = JTF.Run(() => RPC.InvokeWithCancellationAsync<JsonRPCQueryResponseModel>("context_menu",
new object[] { selectedResult.ContextData }));
var res = JTF.Run(() => RPC.InvokeWithCancellationAsync<JsonRPCQueryResponseModel>("context_menu",
new object[] { selectedResult.ContextData }));

var results = ParseResults(res);
var results = ParseResults(res);

return results;
}
catch
{
return new List<Result>();
}
return results;
}

public override async Task<List<Result>> QueryAsync(Query query, CancellationToken token)
{
try
{
var res = await RPC.InvokeWithCancellationAsync<JsonRPCQueryResponseModel>("query",
new object[] { query, Settings.Inner },
token);
var res = await RPC.InvokeWithCancellationAsync<JsonRPCQueryResponseModel>("query",
new object[] { query, Settings.Inner },
token);

var results = ParseResults(res);
var results = ParseResults(res);

return results;
}
catch
{
return new List<Result>();
}
return results;
}


Expand Down Expand Up @@ -133,10 +112,15 @@ private void SetupJsonRPC()
RPC.StartListening();
}

public virtual Task ReloadDataAsync()
public virtual async Task ReloadDataAsync()
{
SetupJsonRPC();
return Task.CompletedTask;
try
{
await RPC.InvokeAsync("reload_data", Context);
}
catch (RemoteMethodNotFoundException e)
{
}
}

public virtual async ValueTask DisposeAsync()
Expand Down
Loading
Loading