Skip to content

Release 1.20.0 | Plugin 4.5.0 #3269

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

Draft
wants to merge 1,573 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1573 commits
Select commit Hold shift + click to select a range
d21ffce
Use get window to get owner
Jack251970 Apr 15, 2025
c382732
Improve windows exiting
Jack251970 Apr 15, 2025
8e51096
Improve log messages
Jack251970 Apr 15, 2025
a1b5941
Improve WindowsThumbnailProvider
Jack251970 Apr 15, 2025
83fa654
Improve constant name
Jack251970 Apr 15, 2025
81007f7
Remove mvvm command for code quality
Jack251970 Apr 15, 2025
1e603ea
Code quality
Jack251970 Apr 15, 2025
1d16b30
Suppress async void
Jack251970 Apr 15, 2025
abee9ba
Fix nullable warning
Jack251970 Apr 15, 2025
113bc58
Remove unused variable
Jack251970 Apr 15, 2025
5df5633
Code quality
Jack251970 Apr 15, 2025
222ef41
Fix nullabl warnings
Jack251970 Apr 15, 2025
a3daac6
Code quality
Jack251970 Apr 15, 2025
4768290
Adjust code comments
Jack251970 Apr 15, 2025
7d6fceb
Merge pull request #3467 from Flow-Launcher/warning_fix_tweak
Jack251970 Apr 15, 2025
f583041
Revert delegate to fields
Jack251970 Apr 15, 2025
652e3bd
Improve process killer performance
Jack251970 Apr 15, 2025
814afc7
Add option to let process killer show window title
Jack251970 Apr 15, 2025
0cbd7ba
Improve option logic
Jack251970 Apr 15, 2025
5cc3124
Merge pull request #3468 from Flow-Launcher/revert_property
Jack251970 Apr 15, 2025
9981fab
Merge branch 'dev' into 250412-ImportThemePreset
onesounds Apr 17, 2025
d97b9ed
Merge branch 'dev' into 250411-BlockMultipleKewordsPlugin
onesounds Apr 17, 2025
a28ee70
Add settingwindowfont config and menu
onesounds Apr 17, 2025
e869b0c
Add remarks for AddActionKeyword function
Jack251970 Apr 17, 2025
7797527
Improve API documents
Jack251970 Apr 17, 2025
a088e42
Merge pull request #3449 from onesounds/250411-BlockMultipleKewordsPl…
onesounds Apr 17, 2025
3eb9493
Remove unused usings
Jack251970 Apr 17, 2025
1b0c114
Fix possible window show issue during startup
Jack251970 Apr 17, 2025
d045c49
Merge branch 'dev' into 250412-ImportThemePreset
onesounds Apr 17, 2025
dd61ab4
Use null as flag to report community source error
Jack251970 Apr 17, 2025
1cd6998
Cleanup codes
Jack251970 Apr 17, 2025
5cea434
Merge branch '250412-ImportThemePreset' of https://github.com/onesoun…
Jack251970 Apr 17, 2025
0591970
Merge pull request #3458 from onesounds/250412-ImportThemePreset
onesounds Apr 17, 2025
d30fdbb
Merge pull request #3472 from Flow-Launcher/startup_window_popup
onesounds Apr 18, 2025
252753f
Merge pull request #2986 from Flow-Launcher/github-action
onesounds Apr 18, 2025
e70ce11
Change Search Window Position to Location
onesounds Apr 19, 2025
e60e117
Fix Color
onesounds Apr 19, 2025
f9e8139
Merge pull request #3477 from onesounds/250419-MinorStringFIx
onesounds Apr 19, 2025
9133f2f
Merge branch 'dev' into 250412-SettingWindowFont
Jack251970 Apr 19, 2025
8674fca
Resolve conflicts
Jack251970 Apr 19, 2025
a15b789
Cleanup codes
Jack251970 Apr 19, 2025
3f5e69b
Fix possible property change issue
Jack251970 Apr 19, 2025
647f2bb
Add String
onesounds Apr 19, 2025
942b290
Add FontFamily Style
onesounds Apr 19, 2025
4c54294
deploy website on release
jjw24 Apr 19, 2025
827c752
update token name
jjw24 Apr 19, 2025
026e934
Merge pull request #3478 from Flow-Launcher/add_website_deploy_on_pub…
jjw24 Apr 19, 2025
908d1b7
Fix typo
onesounds Apr 19, 2025
d5f48da
Fix typo
onesounds Apr 19, 2025
3637649
Merge remote-tracking branch 'origin/250420-MissTypo' into 250420-Mis…
onesounds Apr 19, 2025
5765baa
Fix Typo
onesounds Apr 19, 2025
f9a201a
"disable from displaying" to "Hide"
onesounds Apr 19, 2025
09f04bc
Merge remote-tracking branch 'origin/250420-MissTypo' into 250420-Mis…
onesounds Apr 20, 2025
31f2866
Adjust Badge Text and remove subtitle
onesounds Apr 20, 2025
09723c2
Merge pull request #3479 from onesounds/250420-MissTypo
onesounds Apr 20, 2025
e0768c6
Bump vers-one/dotnet-project-version-updater from 1.5 to 1.7
dependabot[bot] Apr 21, 2025
0a41072
Add animation option when showing the main window
onesounds Apr 22, 2025
dbe3bd5
Merge pull request #3481 from Flow-Launcher/dependabot/github_actions…
taooceros Apr 22, 2025
9b52cb6
Remove unused PropertyChanged event and OnPropertyChanged method from…
onesounds Apr 23, 2025
ca1786a
Merge branch 'dev' into 250412-SettingWindowFont
onesounds Apr 23, 2025
31ec4ea
Merge branch 'dev' into 250422-FixClockwhenStartUp
onesounds Apr 23, 2025
284fe2b
Cleanup codes
Jack251970 Apr 23, 2025
83e5654
Fix possible null exception
Jack251970 Apr 23, 2025
cdbe45d
Cleanup codes
Jack251970 Apr 23, 2025
c3509c3
Use property change event for settings & Use INotifyPropertyChanged i…
Jack251970 Apr 23, 2025
f4f8e9a
Make settings readonly
Jack251970 Apr 23, 2025
f79ef49
Remove background setter for disabled state and add placeholder color…
onesounds Apr 23, 2025
3da3c59
Merge pull request #3470 from onesounds/250412-SettingWindowFont
onesounds Apr 23, 2025
8ed0c47
Merge branch 'dev' into 250423-FixNumberboxColor
onesounds Apr 23, 2025
f50f2ff
Implement dynamic font settings for the setting window
onesounds Apr 24, 2025
25f39f6
Add dynamic font support for the setting window
onesounds Apr 24, 2025
8432fa3
Add SettingWindowFont definition to CustomControlTemplate
onesounds Apr 24, 2025
02252c2
Add SettingWindowFont to CustomControlTemplate for improved font styling
onesounds Apr 24, 2025
2d1e9ec
Add ContentControlThemeFontFamily to support dynamic font styling
onesounds Apr 24, 2025
82f23e5
Update ContentControlThemeFontFamily when setting changes
Jack251970 Apr 24, 2025
d867875
Format xaml styles
Jack251970 Apr 24, 2025
d01c67f
Improve code quality
Jack251970 Apr 24, 2025
94ff72c
Check startup only for Release
Jack251970 Apr 24, 2025
4df9c04
Update dynamic resource earilier
Jack251970 Apr 24, 2025
71ab7a6
Fix log message & Improve code comments
Jack251970 Apr 24, 2025
8912789
Use http client for code quality
Jack251970 Apr 24, 2025
8463304
Fix clock panel font issue & Improve preview performance & Improve co…
Jack251970 Apr 24, 2025
82d97fd
Improve code quality
Jack251970 Apr 24, 2025
686d106
Add todo
Jack251970 Apr 24, 2025
192e2ef
Remove property change
Jack251970 Apr 24, 2025
22fb5b1
Remove unused binding
Jack251970 Apr 24, 2025
cbcebad
Improve code quality
Jack251970 Apr 24, 2025
84b0393
Use dependency injection for setting page view models
Jack251970 Apr 24, 2025
7945292
Update context menu font when setting is changed
Jack251970 Apr 24, 2025
5665758
Add property change back
Jack251970 Apr 24, 2025
197e9c4
Improve code comments
Jack251970 Apr 25, 2025
e3573f3
Improve code quality
Jack251970 Apr 25, 2025
856346a
Always update main window position when window is loaded
Jack251970 Apr 25, 2025
defb283
Change setting window position & window state faster & Do not save se…
Jack251970 Apr 25, 2025
f0512d7
Add blank line
Jack251970 Apr 25, 2025
755ddb4
Fix typo
Jack251970 Apr 25, 2025
c35eca2
Fix logon task issue message box & Improve startup path check
Jack251970 Apr 25, 2025
25ae2da
Merge pull request #3487 from onesounds/250424-ImproveFontFamilyinCon…
onesounds Apr 25, 2025
c4b9922
Merge branch 'dev' into 250422-FixClockwhenStartUp
Jack251970 Apr 25, 2025
267b6d2
Improve code quality
Jack251970 Apr 25, 2025
4f39c0a
Add code comments
Jack251970 Apr 25, 2025
e3dbdae
Fix typo
Jack251970 Apr 25, 2025
95d82b3
Merge pull request #3482 from onesounds/250422-FixClockwhenStartUp
onesounds Apr 25, 2025
4055f07
Merge pull request #3485 from onesounds/250423-FixNumberboxColor
onesounds Apr 25, 2025
ba18755
Add cache folder button in dev tools
Jack251970 Apr 28, 2025
9de0eb2
Merge pull request #3491 from Flow-Launcher/cache_folder
Jack251970 Apr 28, 2025
6b69091
Support filtering dotnet, python, node.js, executable plugins
Jack251970 Apr 29, 2025
6cfd25c
Remove unused image
Jack251970 Apr 29, 2025
7e50eb5
Code quality
Jack251970 Apr 29, 2025
9b666d3
Add Flyout UI for Filter
onesounds Apr 29, 2025
1dd6993
Adjust margin & Improve ui
Jack251970 Apr 29, 2025
d0b4485
Set menu flyout to bottom
Jack251970 Apr 29, 2025
b36562a
Merge pull request #3494 from Flow-Launcher/plugin_filters
Jack251970 Apr 29, 2025
94a5c5d
Change function name to suppress warning
Jack251970 Apr 30, 2025
6b9a710
Set private assets all for PropertyChanged.Fody
Jack251970 Apr 30, 2025
f45e6ac
Merge pull request #3495 from Flow-Launcher/fody_property
Jack251970 Apr 30, 2025
a964150
Fix clean cache issue
Jack251970 Apr 30, 2025
c9e85a1
Use recursive false
Jack251970 Apr 30, 2025
7762c79
Explictly add recursive & Fix build
Jack251970 Apr 30, 2025
541e198
Fix code comments
Jack251970 Apr 30, 2025
950a7f5
Merge pull request #3499 from Flow-Launcher/clear_cache_freeze_page
Jack251970 Apr 30, 2025
980b792
Wrap operation in one class
Jack251970 May 1, 2025
0d61908
Support multiple topmost records
Jack251970 May 1, 2025
af087fb
Support multiple topmost records storage
Jack251970 May 1, 2025
845c331
Remove the bag from dictionary if the bag is empty
Jack251970 May 1, 2025
07f44f2
Add code comments
Jack251970 May 1, 2025
0673d07
Improve code comments & Make classes internal
Jack251970 May 1, 2025
4ecef47
Code quality
Jack251970 May 1, 2025
c49b3b7
Fix TryTake may remove the wrong element
Jack251970 May 1, 2025
58b9f0c
Improve remove logic
Jack251970 May 1, 2025
7103c8d
Mark old data as obsolete
Jack251970 May 2, 2025
b25777b
Use ConcurrentQueue to storage the data sequence & Put latter record …
Jack251970 May 2, 2025
1cf264a
Add code comments
Jack251970 May 2, 2025
8bb96d7
Fix copy to clipboard STA thread issue & Support retry for copy & Asy…
Jack251970 May 2, 2025
62e1252
Use BackToQueryResults for code quality
Jack251970 May 2, 2025
b119785
Do not query when back from the context menu
Jack251970 May 2, 2025
f935d5f
Improve code comments
Jack251970 May 2, 2025
247272c
Do not query when expanding builtin shortcuts
Jack251970 May 2, 2025
aa0f9b2
Update name
Jack251970 May 3, 2025
6a4fdcb
Merge branch 'dev' into empty_query
Jack251970 May 3, 2025
3089928
Support home query interface
Jack251970 May 3, 2025
0f09fea
Make async home query to be feature interface
Jack251970 May 3, 2025
17a0834
Support query for plugins with home query interface
Jack251970 May 3, 2025
54994dd
Initialize home query when window is loaded
Jack251970 May 3, 2025
e9ef26a
Change related setting names
Jack251970 May 3, 2025
e833333
Add ui in general page
Jack251970 May 3, 2025
a2a8c50
Merge pull request #3503 from Flow-Launcher/do_not_query_when_back_fr…
jjw24 May 3, 2025
d6704ed
Support history items
Jack251970 May 3, 2025
f2f4ebf
Support home state change & Add ui
Jack251970 May 3, 2025
96bb62a
Refresh interface when Home Page is changed
Jack251970 May 3, 2025
13cfbe5
Check query results
Jack251970 May 4, 2025
4500f1d
Fix history items context menu issue
Jack251970 May 4, 2025
19d7059
Add empty & global query for home page
Jack251970 May 4, 2025
4ed1dc3
Fix topmost issue in home page
Jack251970 May 4, 2025
35e4bfc
Improve code quality
Jack251970 May 4, 2025
ccb1bac
Merge branch 'dev' into empty_query
Jack251970 May 4, 2025
2ab007b
Fix typos
Jack251970 May 4, 2025
fe25764
Merge branch 'empty_query' of https://github.com/Jack251970/Flow.Laun…
Jack251970 May 4, 2025
eaea38c
Fix typos
Jack251970 May 4, 2025
78f606f
Fix typos
Jack251970 May 4, 2025
72bd1e6
Remove code comments with issues
Jack251970 May 4, 2025
0d9fb29
Improve code quality
Jack251970 May 4, 2025
67facb8
Use non-async version
Jack251970 May 4, 2025
21d6ec2
Use null to distinguish between home query and global query
Jack251970 May 4, 2025
28b8cb6
Improve distinguish between home query and global query
Jack251970 May 4, 2025
51fb151
Add more debug log info for query
Jack251970 May 4, 2025
1973163
Improve log info
Jack251970 May 4, 2025
e4ecea0
Merge pull request #3509 from Flow-Launcher/mainvm_more_log
Jack251970 May 4, 2025
135b9b5
Merge branch 'dev' into empty_query
Jack251970 May 5, 2025
b9aa5a8
Change variable name for code quality
Jack251970 May 5, 2025
2713c5b
Add code comments
Jack251970 May 5, 2025
41211e8
Improve code comments
Jack251970 May 5, 2025
16404bc
Improve log information
Jack251970 May 5, 2025
36a4f41
Do not need to clear the result when last and current query are home …
Jack251970 May 5, 2025
0882378
Add Glyph for history items & topmost items
Jack251970 May 5, 2025
7083849
Remove unused codes
Jack251970 May 5, 2025
6799b87
Merge pull request #3399 from Jack251970/empty_query
jjw24 May 5, 2025
b1a48e2
Improve code quality
Jack251970 May 6, 2025
639a5ae
Dispose _updateSource when creating new one & Use _updateToken instea…
Jack251970 May 6, 2025
265fd9c
Add update source lock
Jack251970 May 6, 2025
b156afe
Revert "Add update source lock"
Jack251970 May 6, 2025
2672512
Dispose the old CancellationTokenSource atomically to avoid races
Jack251970 May 6, 2025
788cb3c
Revert "Dispose the old CancellationTokenSource atomically to avoid r…
Jack251970 May 6, 2025
deb0c21
Remove unused initialization value
Jack251970 May 6, 2025
297643c
Revert all changes as master branch
Jack251970 May 6, 2025
2d2f7de
Merge pull request #3513 from Flow-Launcher/fix_result_missing
Jack251970 May 7, 2025
29f94d6
Fix startup flicker
Jack251970 May 9, 2025
2fdab61
Merge pull request #3521 from Flow-Launcher/startup_flicker
Jack251970 May 10, 2025
c64f3df
Merge branch 'dev' into multiple_topmost
Jack251970 May 10, 2025
7c8a437
fix clearing of results logic & minor adjustment to results update (#…
jjw24 May 10, 2025
0c7d0e9
Support copy file name
Jack251970 May 11, 2025
315de2b
Adjust margin in appearance page
Jack251970 May 11, 2025
4e6a07c
Check spelling workflow ignore PRs targeting dev branch
jjw24 May 11, 2025
99a7081
fix typo
jjw24 May 11, 2025
ac37e41
Merge pull request #3528 from Flow-Launcher/spell_check_ignore_dev
jjw24 May 11, 2025
25d985b
Fix Homepage with triggers history results on arrow up
Jack251970 May 11, 2025
fde6b2d
Merge pull request #3527 from Flow-Launcher/appearance_page_adjust
Jack251970 May 11, 2025
af5ff43
update comment
jjw24 May 11, 2025
1b2b49a
Merge pull request #3529 from Flow-Launcher/home_page_history
jjw24 May 11, 2025
6ed5308
Fix null origin query issue
Jack251970 May 11, 2025
0e6741c
Improve code quality
Jack251970 May 11, 2025
31c18b8
Merge pull request #3530 from Flow-Launcher/origin_query_null_issue
Jack251970 May 11, 2025
1775c0f
New Crowdin updates (#3430)
jjw24 May 11, 2025
63aabd5
Merge pull request #3526 from Flow-Launcher/copy_file_name
Jack251970 May 11, 2025
71b6cb2
Fix sound effect issue after sleep or hiberation
Jack251970 May 11, 2025
ea4360a
Merge pull request #3532 from Flow-Launcher/sound_effect_sleep_issue
Jack251970 May 11, 2025
165e498
Fix exception when deleteing temp files
Jack251970 May 12, 2025
4931a14
Validate the cache directory before loading all bookmarks
Jack251970 May 12, 2025
d2e63ab
Merge pull request #3535 from Flow-Launcher/temp_file_delete
Jack251970 May 12, 2025
ed14826
Do not show error message for initialization if plugin is already dis…
Jack251970 May 12, 2025
b96a69a
Fix Window Positioning with Multiple Montiors
Jack251970 May 12, 2025
7509a86
Use skip message for failed initialization when plugin is already dis…
Jack251970 May 13, 2025
810f7bb
Add disable information
Jack251970 May 13, 2025
58f8099
Fix results context menu display issue
Jack251970 May 13, 2025
fa350dd
Add code comments
Jack251970 May 13, 2025
8e7e173
Add code comments
Jack251970 May 13, 2025
03b558c
Fix typos
Jack251970 May 13, 2025
a73ff5f
update comment
jjw24 May 13, 2025
93a9a92
Fix typos
Jack251970 May 13, 2025
63a9770
Merge branch 'results_context_menu_display' of https://github.com/Flo…
Jack251970 May 13, 2025
a88f65a
Merge pull request #3536 from Flow-Launcher/error_message
Jack251970 May 13, 2025
e0ac6d5
Improve Program plugin delete button logic
Jack251970 May 13, 2025
284729a
Improve message noticification
Jack251970 May 13, 2025
a099935
Fix message
Jack251970 May 13, 2025
204d1d2
Improve string keys
Jack251970 May 13, 2025
e961ffa
Disable auto restart after plugin install by default
Jack251970 May 13, 2025
4b8bd92
Merge pull request #3540 from Flow-Launcher/auto_start
Jack251970 May 13, 2025
86a3b0b
Merge pull request #3538 from Flow-Launcher/results_context_menu_display
jjw24 May 13, 2025
7023f83
Merge pull request #3537 from Flow-Launcher/fix_right_top_position
Jack251970 May 14, 2025
c1ba81e
Merge pull request #3500 from Flow-Launcher/multiple_topmost
Jack251970 May 14, 2025
da77085
Fix logic & Improve code quality
Jack251970 May 14, 2025
f0aa285
Add theme change handler to refresh frame on application theme change
onesounds May 14, 2025
1e51bdc
Unsubscribe from theme change event to prevent memory leaks
onesounds May 14, 2025
c128a66
Manage handle in dispose
Jack251970 May 14, 2025
f29ccb3
Merge branch '250514-FixColorSchemeChanging' of https://github.com/on…
Jack251970 May 14, 2025
a75553f
Merge pull request #3543 from onesounds/250514-FixColorSchemeChanging
onesounds May 14, 2025
8325963
Fix size changed width issue
Jack251970 May 14, 2025
8522d78
Merge pull request #3544 from Flow-Launcher/width-issue
Jack251970 May 14, 2025
54c949b
Merge pull request #3539 from Flow-Launcher/program_plugin_delete_logic
Jack251970 May 14, 2025
e417a1d
Add dynamic font family to SettingWindow
onesounds May 15, 2025
c591011
Merge pull request #3545 from onesounds/250515-FixCardFont
onesounds May 15, 2025
57dccce
Fix setting window navigation update issue & Check view model null in…
Jack251970 May 15, 2025
1a67c89
Fix component initialization issue
Jack251970 May 15, 2025
5b17fad
Fix duplicated value change
Jack251970 May 15, 2025
d0e799b
Fix double navigation issue
Jack251970 May 15, 2025
ad94eba
Fix possible issue in welcome pages
Jack251970 May 15, 2025
e80d191
Merge pull request #3547 from Flow-Launcher/setting_window_navigation…
jjw24 May 16, 2025
7e3de02
initialize position before InitializeComponent
Jack251970 May 16, 2025
07ac325
Improve code comments
Jack251970 May 16, 2025
bb25c53
Merge pull request #3549 from Flow-Launcher/setting_window_position
Jack251970 May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
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 All @@ -24,7 +24,7 @@
- action: add-label@v1
args:
label: "{{ calc.etr }} min review"
color: {{ colors.red if (calc.etr >= 20) else ( colors.yellow if (calc.etr >= 5) else colors.green ) }}

Check warning on line 27 in .cm/gitstream.cm

View workflow job for this annotation

GitHub Actions / Check Spelling

`etr` is not a recognized word. (unrecognized-spelling)

Check warning on line 27 in .cm/gitstream.cm

View workflow job for this annotation

GitHub Actions / Check Spelling

`etr` is not a recognized word. (unrecognized-spelling)
# Post a comment that lists the best experts for the files that were modified.
explain_code_experts:
if:
Expand Down Expand Up @@ -60,7 +60,7 @@
# +----------------------------------------------------------------------------+

calc:
etr: {{ branch | estimatedReviewTime }}

Check warning on line 63 in .cm/gitstream.cm

View workflow job for this annotation

GitHub Actions / Check Spelling

`etr` is not a recognized word. (unrecognized-spelling)

colors:
red: 'b60205'
Expand Down
3 changes: 2 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ updates:
- package-ecosystem: "nuget" # See documentation for possible values
directory: "/" # Location of package manifests
schedule:
interval: "weekly"
interval: "daily"
open-pull-requests-limit: 3
ignore:
- dependency-name: "squirrel-windows"
reviewers:
Expand Down
91 changes: 91 additions & 0 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net

name: Build

on:
workflow_dispatch:
push:
branches:
- dev
- master
pull_request:

jobs:
build:

runs-on: windows-latest
env:
FlowVersion: 1.19.5
NUGET_CERT_REVOCATION_MODE: offline
BUILD_NUMBER: ${{ github.run_number }}
steps:
- uses: actions/checkout@v4
- name: Set Flow.Launcher.csproj version
id: update
uses: vers-one/[email protected]
with:
file: |
"**/SolutionAssemblyInfo.cs"
version: ${{ env.FlowVersion }}.${{ env.BUILD_NUMBER }}
- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: 7.0.x
# cache: true
# cache-dependency-path: |
# Flow.Launcher/packages.lock.json
# Flow.Launcher.Core/packages.lock.json
# Flow.Launcher.Infrastructure/packages.lock.json
# Flow.Launcher.Plugin/packages.lock.json
- name: Install vpk
run: dotnet tool install -g vpk
- name: Restore dependencies
run: nuget restore
- name: Build
run: dotnet build --no-restore -c Release
- name: Initialize Service
run: |
sc config WSearch start= auto # Starts Windows Search service- Needed for running ExplorerTest
net start WSearch
- name: Test
run: dotnet test --no-build --verbosity normal -c Release
- name: Perform post_build tasks
shell: powershell
run: .\Scripts\post_build.ps1
- name: Upload Plugin Nupkg
uses: actions/upload-artifact@v4
with:
name: Plugin nupkg
path: |
Output\Release\Flow.Launcher.Plugin.*.nupkg
compression-level: 0
- name: Upload Setup
uses: actions/upload-artifact@v4
with:
name: Flow Installer
path: |
Output\Packages\Flow-Launcher-*.exe
compression-level: 0
- name: Upload Portable Version
uses: actions/upload-artifact@v4
with:
name: Portable Version
path: |
Output\Packages\Flow-Launcher-Portable.zip
compression-level: 0
- name: Upload Full Nupkg
uses: actions/upload-artifact@v4
with:
name: Full nupkg
path: |
Output\Packages\FlowLauncher-*-full.nupkg

compression-level: 0
- name: Upload Release Information
uses: actions/upload-artifact@v4
with:
name: RELEASES
path: |
Output\Packages\RELEASES
compression-level: 0
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
5 changes: 2 additions & 3 deletions .github/workflows/spelling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,8 @@ on:
# tags-ignore:
# - "**"
pull_request_target:
branches:
- '**'
# - '!l10n_dev'
branches-ignore:
- master
tags-ignore:
- "**"
types:
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/website_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---

name: Deploy Website On Release
on:
release:
types: [published]
workflow_dispatch:

jobs:
dispatch:
runs-on: ubuntu-latest
steps:
- name: Dispatch event
run: |
http_status=$(curl -L -f -s -o /dev/null -w "%{http_code}" \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.DEPLOY_FLOW_WEBSITE }}" \
https://api.github.com/repos/Flow-Launcher/flow-launcher.github.io/dispatches \
-d '{"event_type":"deploy"}')
if [ "$http_status" -ne 204 ]; then echo "Error: Deploy trigger failed, HTTP status code is $http_status"; exit 1; fi
79 changes: 37 additions & 42 deletions Flow.Launcher.Core/Configuration/Portable.cs
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
using Microsoft.Win32;
using Squirrel;
using System;
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Windows;
using CommunityToolkit.Mvvm.DependencyInjection;
using Flow.Launcher.Infrastructure;
using Flow.Launcher.Infrastructure.Logger;
using Flow.Launcher.Infrastructure.UserSettings;
using Flow.Launcher.Plugin;
using Flow.Launcher.Plugin.SharedCommands;
using System.Linq;
using Microsoft.Win32;
using Squirrel;

namespace Flow.Launcher.Core.Configuration
{
public class Portable : IPortable
{
private static readonly string ClassName = nameof(Portable);

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>
/// <returns></returns>
private UpdateManager NewUpdateManager()
private static UpdateManager NewUpdateManager()
{
var applicationFolderName = Constant.ApplicationDirectory
.Split(new[] { Path.DirectorySeparatorChar }, StringSplitOptions.None)
Expand All @@ -40,14 +45,14 @@ 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);
}
catch (Exception e)
{
Log.Exception("|Portable.DisablePortableMode|Error occurred while disabling portable mode", e);
API.LogException(ClassName, "Error occurred while disabling portable mode", e);
}
}

Expand All @@ -64,54 +69,48 @@ 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);
}
catch (Exception e)
{
Log.Exception("|Portable.EnablePortableMode|Error occurred while enabling portable mode", e);
API.LogException(ClassName, "Error occurred while enabling portable mode", e);
}
}

public void RemoveShortcuts()
{
using (var portabilityUpdater = NewUpdateManager())
{
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.StartMenu);
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Desktop);
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Startup);
}
using var portabilityUpdater = NewUpdateManager();
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.StartMenu);
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Desktop);
portabilityUpdater.RemoveShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Startup);
}

public void RemoveUninstallerEntry()
{
using (var portabilityUpdater = NewUpdateManager())
{
portabilityUpdater.RemoveUninstallerRegistryEntry();
}
using var portabilityUpdater = NewUpdateManager();
portabilityUpdater.RemoveUninstallerRegistryEntry();
}

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()
{
using (var portabilityUpdater = NewUpdateManager())
{
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.StartMenu, false);
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Desktop, false);
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Startup, false);
}
using var portabilityUpdater = NewUpdateManager();
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.StartMenu, false);
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Desktop, false);
portabilityUpdater.CreateShortcutsForExecutable(Constant.ApplicationFileName, ShortcutLocation.Startup, false);
}

public void CreateUninstallerEntry()
Expand All @@ -125,18 +124,14 @@ public void CreateUninstallerEntry()
subKey2.SetValue("DisplayIcon", Path.Combine(Constant.ApplicationDirectory, "app.ico"), RegistryValueKind.String);
}

using (var portabilityUpdater = NewUpdateManager())
{
_ = portabilityUpdater.CreateUninstallerRegistryEntry();
}
using var portabilityUpdater = NewUpdateManager();
_ = portabilityUpdater.CreateUninstallerRegistryEntry();
}

internal void IndicateDeletion(string filePathTodelete)
private static void IndicateDeletion(string filePathTodelete)
{
var deleteFilePath = Path.Combine(filePathTodelete, DataLocation.DeletionIndicatorFile);
using (var _ = File.CreateText(deleteFilePath))
{
}
using var _ = File.CreateText(deleteFilePath);
}

///<summary>
Expand All @@ -157,13 +152,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 +167,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 +181,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
Loading
Loading