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,653 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1653 commits
Select commit Hold shift + click to select a range
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
050c2cb
Refactor OpenDirectory method to improve path handling and streamline…
onesounds May 17, 2025
b5bbd9f
Refactor OpenDirectory method to standardize parameter naming and imp…
onesounds May 17, 2025
003df04
add dedicated clear result indicator for query and non-query usage
jjw24 May 17, 2025
b4955f7
add subscriber for show history result toggle in settings
jjw24 May 17, 2025
2941e03
add logging and method summaries
jjw24 May 17, 2025
50fced9
remove async warning
jjw24 May 17, 2025
073594f
formatting
jjw24 May 17, 2025
0b44097
fix encapsulation for show results
jjw24 May 17, 2025
7399d11
Add whitespace for if
Jack251970 May 17, 2025
b5a17b4
Improve logic
Jack251970 May 17, 2025
95eaa79
Improve code logic
Jack251970 May 17, 2025
87d11c0
Remove code comments
Jack251970 May 17, 2025
ac8a979
Merge pull request #3552 from onesounds/250517-FixZombieExplorer
jjw24 May 18, 2025
8aed36e
New Crowdin updates (#3531)
jjw24 May 18, 2025
f38bf67
add publish to Chocolatey dispatch event
jjw24 May 18, 2025
ec7ab00
fix typo
jjw24 May 18, 2025
60de423
Merge pull request #3554 from Flow-Launcher/add_chocolatey_publish_on…
jjw24 May 18, 2025
2770c6a
Merge branch 'dev' into fix_result_clearing_nonquery
jjw24 May 18, 2025
3abb2f0
Merge pull request #3553 from Flow-Launcher/fix_result_clearing_nonquery
jjw24 May 19, 2025
b878532
unify plugin versions to flow main version
jjw24 May 19, 2025
94cec8a
move plugin version bump to build step
jjw24 May 20, 2025
2b9529d
set all of plugins' version to default 1.0.0
jjw24 May 20, 2025
037b800
Add file manager path validation and error handling in SelectFileMana…
onesounds May 20, 2025
b4a3e06
Merge pull request #3558 from Flow-Launcher/unify_plugin_versions
jjw24 May 20, 2025
2c7fb93
Add error handling and validation for custom file manager paths
onesounds May 20, 2025
cc80221
Version bump for release
jjw24 May 20, 2025
aadfde0
Add tips for file manager usage and improve error messages
onesounds May 20, 2025
94b0f2e
Merge branch 'dev' into 250520-FixFilesConfig
onesounds May 20, 2025
f262263
Add hyperlink to learn more about file manager usage in settings dialog
onesounds May 20, 2025
3fa9259
Merge remote-tracking branch 'origin/250520-FixFilesConfig' into 2505…
onesounds May 20, 2025
c0eaf1c
Remove unused function
Jack251970 May 20, 2025
3beb4e9
Use api functions instead
Jack251970 May 20, 2025
af4375b
Improve code quality
Jack251970 May 20, 2025
d23f88d
Make sure vertically center
Jack251970 May 20, 2025
5626ab7
Log information when failed to execute
Jack251970 May 20, 2025
89fdd48
typo
jjw24 May 20, 2025
6e36b08
Use api functions instead
Jack251970 May 21, 2025
152ad2f
Remove setter for observable collection & Add blank line for code qua…
Jack251970 May 21, 2025
d0f0edb
Merge branch '250520-FixFilesConfig' of https://github.com/onesounds/…
Jack251970 May 21, 2025
6ce2cf9
Refactor with MVVM
Jack251970 May 21, 2025
5578daa
Remove files tip button
Jack251970 May 21, 2025
45b8181
Fix potential issue with index boundary in Delete command
Jack251970 May 21, 2025
9a692a8
Add whitespace
Jack251970 May 21, 2025
07f77f0
move calls to viewmodel
jjw24 May 21, 2025
e2d50cd
update wording
jjw24 May 21, 2025
41b9cd4
move code to viewmodel
jjw24 May 21, 2025
ac61469
Merge pull request #3561 from onesounds/250520-FixFilesConfig
onesounds May 21, 2025
edae432
Add FocusQueryTextBox method to set focus on the query text box in Ma…
onesounds May 21, 2025
3718ae5
Improve code quality & Improve code comments
Jack251970 May 22, 2025
8aae92e
Fix main window null when checking exitting
Jack251970 May 22, 2025
2beab53
Merge pull request #3568 from onesounds/20250522-FixWinR
Jack251970 May 22, 2025
087a45c
New Crowdin updates (#3559)
jjw24 May 22, 2025
dc0454b
Merge pull request #3570 from Flow-Launcher/exitting_null
Jack251970 May 22, 2025
2026bb7
Merge pull request #3560 from Flow-Launcher/version_bump
jjw24 May 22, 2025
90ad72c
Diff Time in Created At and LastModifiedAt
01Dri May 23, 2025
35e71c6
Relative Date checkbox
01Dri May 24, 2025
02ddcaa
Function name changed to GetRelativeDate
01Dri May 24, 2025
a711ce4
Translate pt br
01Dri May 24, 2025
f6103b1
Relative Date -> File Age
01Dri May 24, 2025
d726455
Relative Date - FileAge
01Dri May 24, 2025
2ff0fc8
Disable ShowFileAgeInPreviewPanel by default
onesounds May 24, 2025
03d3c92
Fix blnak lie
Jack251970 May 24, 2025
65e0a02
Revert changes in pt-br.xaml
Jack251970 May 24, 2025
0f718e5
Code quality
Jack251970 May 24, 2025
62d7256
Support transaltion for preview information
Jack251970 May 24, 2025
6333cd3
Merge pull request #3579 from 01Dri/display-the-File-age-in-preview-p…
onesounds May 24, 2025
47878f3
Fix file explorer invocation to ensure correct file selection behavior
onesounds May 27, 2025
41c5b36
Enhance OpenDirectory method to support folder opening and file selec…
onesounds May 27, 2025
086aeab
Use PInvoke to improve code quality
Jack251970 May 27, 2025
eb69ce9
Add url comments
Jack251970 May 27, 2025
6144d4a
Merge pull request #3590 from onesounds/250527-FixOpenContaining
onesounds May 27, 2025
c33e9de
Update delete confirmation message for folder link in context menu
onesounds May 30, 2025
ebb74da
Refactor key press handling in MessageBoxEx to improve result assignm…
onesounds May 30, 2025
05486ea
Add OpenHistory hotkey functionality and binding
onesounds May 30, 2025
e6eb8c0
Revert key press handling
onesounds May 30, 2025
7c718ce
Add code comments
Jack251970 May 30, 2025
94a7dbc
Merge pull request #3596 from onesounds/250530-AdjustDeleteMessageBox
onesounds May 30, 2025
d159adb
Merge pull request #3597 from onesounds/250530-HistoryHotkey
onesounds May 30, 2025
abef617
Change delete confirmation dialog from Yes/No to OK/Cancel
onesounds May 30, 2025
31cba99
Merge pull request #3598 from onesounds/DeleteByESC
onesounds May 30, 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/dotnet-project-version-updater@v1.7
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/assign-pr-creator-action@v1.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
uses: toshimaru/auto-author-assign@v2.1.1
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
34 changes: 34 additions & 0 deletions .github/workflows/release_deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---

name: New Release Deployments
on:
release:
types: [published]
workflow_dispatch:

jobs:
deploy-website:
runs-on: ubuntu-latest
steps:
- name: Trigger dispatch event for deploying website
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 website failed, HTTP status code is $http_status"; exit 1; fi

publish-chocolatey:
runs-on: ubuntu-latest
steps:
- name: Trigger dispatch event for publishing to Chocolatey
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.Publish_Chocolatey }}" \
https://api.github.com/repos/Flow-Launcher/chocolatey-package/dispatches \
-d '{"event_type":"publish"}')
if [ "$http_status" -ne 204 ]; then echo "Error: Publish Chocolatey package failed, HTTP status code is $http_status"; exit 1; fi
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
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