Skip to content

Commit b614341

Browse files
authored
Merge branch 'main' into d2/f_compress
2 parents 33af4ec + 973a3f8 commit b614341

File tree

199 files changed

+8934
-1873
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

199 files changed

+8934
-1873
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ type: 'Bug'
44
title: 'Bug: '
55
body:
66

7+
# Tip to warn of checking for existing issues
8+
- type: markdown
9+
attributes:
10+
value: |
11+
> [!TIP]
12+
> Have you checked for similar issues? There's a possibility the bug you are experiencing has already been reported. Please do a thorough search before creating a new issue.
13+
714
# Description
815
- type: textarea
916
attributes:
@@ -24,16 +31,6 @@ body:
2431
validations:
2532
required: true
2633

27-
# Requirements
28-
- type: textarea
29-
attributes:
30-
label: Requirements
31-
description: describe the expected behavior (eg. Fix crash that occurs when...). If left blank, the issue will likely be closed without discussion.
32-
value: |
33-
- e.g. Fix crash that occurs when...
34-
validations:
35-
required: true
36-
3734
# Files Version
3835
- type: input
3936
id: files_version
@@ -54,7 +51,7 @@ body:
5451
validations:
5552
required: true
5653

57-
# User ID
54+
# User ID
5855
- type: input
5956
id: user_id
6057
attributes:
@@ -64,6 +61,15 @@ body:
6461
validations:
6562
required: false
6663

64+
# Note that the user should always upload the report rather than pasting it.
65+
- type: markdown
66+
attributes:
67+
value: |
68+
> [!IMPORTANT]
69+
> Please **upload** the log file by clicking "Attach files".
70+
>
71+
> Feel free to remove sensitive information such as your usernames or drive names.
72+
6773
# Log File
6874
- type: textarea
6975
attributes:

.github/ISSUE_TEMPLATE/code_quality_issue.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,31 @@ description: Create a code quality issue to help Files keep a clean codebase
33
type: 'Code quality'
44
title: 'Code Quality: '
55
body:
6+
7+
# Tip to warn of checking for existing issues
8+
- type: markdown
9+
attributes:
10+
value: |
11+
> [!TIP]
12+
> Have you checked for similar code quality issues? There's a possibility your suggestion is already being tracked. Please do a thorough search before creating a new issue.
13+
14+
# Issue body
615
- type: textarea
716
attributes:
817
label: Description
918
description: A clear and concise description of what the code quality issue is.
1019
validations:
1120
required: true
21+
22+
# Related code
1223
- type: textarea
1324
attributes:
1425
label: Concerned code
1526
description: A list of the different files and/or areas of the code concerned by the issue.
1627
validations:
1728
required: true
29+
30+
# Gains
1831
- type: textarea
1932
attributes:
2033
label: Gains
@@ -25,6 +38,8 @@ body:
2538
- eg. Clarifying the responsibility of class C.
2639
validations:
2740
required: true
41+
42+
# Requirements
2843
- type: textarea
2944
attributes:
3045
label: Requirements
@@ -33,6 +48,8 @@ body:
3348
- eg. Using a specific design pattern.
3449
- eg. Separating Interface I into three new interfaces I1, I2 and I3.
3550
- eg. Regrouping the duplicated process into a new helper.
51+
52+
# Remarks
3653
- type: textarea
3754
attributes:
3855
label: Comments

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ type: 'Feature request'
44
title: 'Feature: '
55
body:
66

7+
# Tip to warn of checking for existing issues
8+
- type: markdown
9+
attributes:
10+
value: |
11+
> [!TIP]
12+
>Have you checked for similar feature requests? There's a possibility your suggestion is already being tracked. Please do a thorough search before creating a new issue.
13+
714
# Description
815
- type: textarea
916
attributes:

.github/PRIVACY.md

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,3 @@
11
# Privacy Policy
22

3-
###### Effective date: June 2, 2024
4-
5-
This Privacy Policy ("Policy") for Files ("we", "us", or "our") describes how and why we collect, store, use, and disclose information about users ("you", "your") when you use our services ("Services"), and our desktop application (the "Application", "Files"). By using our Services, you acknowledge and consent to the practices described in this Policy.
6-
7-
## Table of Contents
8-
9-
1. Information We Collect
10-
2. How We Use Your Information
11-
3. Changes to This Privacy Policy
12-
13-
## Information We Collect
14-
15-
**Diagnostic Information.** Our Application collects non-personably identifiable diagnostic data such as fault analysis and performance logs. This information may include technical details about your device, such as its make, model, operating system, and Application version. In addition, Files may store log files containing diagnostic information on the user's device. These files are not shared with us by default.
16-
17-
**Usage Information.** We collect non-identifiable information about your use of our Services, including but not limited to interactions within the Application, enabled user preferences (Application settings), and usage patterns. Our Application uses Sentry for error reporting, please review the Sentry Privacy Policy here: https://sentry.io/privacy/.
18-
19-
Furthermore, we use certain Microsoft services such as Microsoft Partner Center to collect usage data, to learn more about how data is collected, used, and disclosed by Microsoft and its subsidiaries, please review the Microsoft Privacy Policy Statement available here: https://privacy.microsoft.com/privacystatement
20-
21-
Please note that any information we collect is non-identifiable and does not include any personal data. We do not share collected information with any third parties.
22-
23-
## How We Use Collected Information
24-
25-
**Mitigate Reliability Issues.** We may use the aggregated information to diagnose and address any unexpected issues that may arise during the use of our Application. This may include analyzing diagnostic data, such as fault analysis and performance logs, to identify the root cause of the issue and develop a solution to resolve it.
26-
27-
**Identify Usage Trends.** We may use the information to identify and analyze usage trends for our Services and Application. This may include analyzing aggregated usage data to understand how users interact with our Services and to measure their utilization intensity. We may use this analysis to improve the functionality, usability, and performance of our Services and to inform future development decisions.
28-
29-
## Changes to This Privacy Policy
30-
31-
We may modify, update, or amend this Privacy Policy from time to time to reflect changes made to our Application. When we change this Policy in a material manner, we will inform you of such changes by updating the 'Effective date' notice. It is your responsibility to review this Privacy Policy periodically to stay informed of any updates. Your continued use of the Services after any modifications to this Policy constitutes your acceptance of such changes.
3+
The privacy policy has been moved to here https://files.community/privacy

.github/workflows/cd-store.yml

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
# Copyright (c) 2024 Files Community
2+
# Licensed under the MIT License. See the LICENSE.
3+
4+
# Abstract:
5+
# Deploys Files (Store).
6+
#
7+
# Workflow:
8+
# 1. Configure manifest, logo and secrets
9+
# 2. Restore, build and package Files
10+
# 3. Generate a msixupload file
11+
# 4. Publish the msixupload to GitHub Actions
12+
13+
name: Files CD (Store)
14+
15+
on:
16+
workflow_dispatch:
17+
18+
jobs:
19+
build:
20+
runs-on: windows-latest
21+
environment: Deployments
22+
strategy:
23+
fail-fast: false
24+
matrix:
25+
configuration: [Store]
26+
platform: [x64]
27+
env:
28+
SOLUTION_NAME: 'Files.sln'
29+
CONFIGURATION: '${{ matrix.configuration }}'
30+
PLATFORM: '${{ matrix.platform }}'
31+
APPX_BUNDLE_PLATFORMS: 'x64|arm64'
32+
WORKING_DIR: '${{ github.workspace }}' # D:\a\Files\Files\
33+
ARTIFACTS_STAGING_DIR: '${{ github.workspace }}\artifacts'
34+
APPX_PACKAGE_DIR: '${{ github.workspace }}\artifacts\AppxPackages'
35+
PACKAGE_PROJECT_DIR: '${{ github.workspace }}\src\Files.App (Package)'
36+
PACKAGE_PROJECT_PATH: '${{ github.workspace }}\src\Files.App (Package)\Files.Package.wapproj'
37+
PACKAGE_MANIFEST_PATH: '${{ github.workspace }}\src\Files.App (Package)\Package.appxmanifest'
38+
39+
steps:
40+
- name: Checkout the repository
41+
uses: actions/checkout@v4
42+
- name: Setup MSBuild
43+
uses: microsoft/setup-msbuild@v2
44+
- name: Setup NuGet
45+
uses: NuGet/setup-nuget@v2
46+
- name: Setup .NET 8
47+
uses: actions/setup-dotnet@v4
48+
with:
49+
global-json-file: global.json
50+
51+
- name: Configure the package manifest, logo, and secrets
52+
shell: pwsh
53+
run: |
54+
. './.github/scripts/Configure-AppxManifest.ps1' `
55+
-Branch "$env:CONFIGURATION" `
56+
-PackageManifestPath "$env:PACKAGE_MANIFEST_PATH" `
57+
-Publisher "$env:STORE_PUBLISHER_SECRET" `
58+
-WorkingDir "$env:WORKING_DIR" `
59+
-SecretBingMapsKey "$env:SECRET_BINGMAPS_KEY" `
60+
-SecretSentry "$env:SECRET_SENTRY" `
61+
-SecretGitHubOAuthClientId "$env:SECRET_GITHUB_OAUTH_CLIENT_ID"
62+
env:
63+
STORE_PUBLISHER_SECRET: ${{ secrets.STORE_PUBLISHER_SECRET }}
64+
SECRET_BINGMAPS_KEY: ${{ secrets.BING_MAPS_SECRET }}
65+
SECRET_SENTRY: ${{ secrets.SENTRY_SECRET }}
66+
SECRET_GITHUB_OAUTH_CLIENT_ID: ${{ secrets.GH_OAUTH_CLIENT_ID }}
67+
68+
- name: Use Windows SDK Preview
69+
shell: cmd
70+
run: |
71+
for /f %%a in ('dir /b /a:d %localappdata%\Microsoft\VisualStudio\17*') do echo UsePreviews=True>%localappdata%\Microsoft\VisualStudio\%%a\sdk.txt
72+
73+
- name: Restore NuGet
74+
shell: pwsh
75+
run: 'nuget restore $env:SOLUTION_NAME'
76+
77+
- name: Restore Files
78+
shell: pwsh
79+
run: |
80+
msbuild $env:SOLUTION_NAME `
81+
-t:Restore `
82+
-p:Platform=$env:PLATFORM `
83+
-p:Configuration=$env:CONFIGURATION `
84+
-p:PublishReadyToRun=true
85+
86+
- name: Build & package Files
87+
shell: pwsh
88+
run: |
89+
msbuild "$env:PACKAGE_PROJECT_PATH" `
90+
-t:Build `
91+
-t:_GenerateAppxPackage `
92+
-p:Platform=$env:PLATFORM `
93+
-p:Configuration=$env:CONFIGURATION `
94+
-p:AppxBundlePlatforms=$env:APPX_BUNDLE_PLATFORMS `
95+
-p:AppxPackageDir="$env:APPX_PACKAGE_DIR" `
96+
-p:AppxBundle=Always `
97+
-p:UapAppxPackageBuildMode=StoreUpload
98+
99+
- name: Remove empty files from the packages
100+
shell: bash
101+
run: find $ARTIFACTS_STAGING_DIR -empty -delete
102+
103+
- name: Upload the packages to GitHub Actions
104+
uses: actions/upload-artifact@v4
105+
with:
106+
name: 'Appx Packages (${{ env.CONFIGURATION }}, ${{ env.PLATFORM }})'
107+
path: ${{ env.ARTIFACTS_STAGING_DIR }}

.github/workflows/ci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,11 @@ jobs:
243243
$env:AUTOMATED_TESTS_ASSEMBLY_DIR\**\Files.InteractionTests.dll `
244244
--logger "trx;LogFileName=$env:AUTOMATED_TESTS_ASSEMBLY_DIR\testResults.trx"
245245
246+
- if: github.event_name == 'pull_request'
247+
uses: geekyeggo/delete-artifact@v5
248+
with:
249+
name: '*'
250+
246251
# - name: Generate markdown from the tests result
247252
# shell: pwsh
248253
# run: |

crowdin.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
commit_message: 'fix: new translations in %original_file_name% (%original_file_name%) from Crowdin'
1+
commit_message: 'Translate resources in `%original_file_name%` via Crowdin'
2+
pull_request_title: 'Code Quality: Updated translations'
23
append_commit_message:
34
files:
45
- source: /src/Files.App/Strings/en-US/*.resw

nuget.config

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<configuration>
33
<packageSources>
4-
<add key="NuGet official package source" value="https://api.nuget.org/v3/index.json" />
5-
<add key="Local Packages" value="src/Files.App/nupkgs/" />
4+
<add key="Project Packages" value="src/Files.App/Assets/Libraries/" />
65
</packageSources>
76
</configuration>

src/Files.App (Package)/Files.Package.wapproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
</ProjectReference>
108108
</ItemGroup>
109109
<ItemGroup>
110-
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.240627000" IncludeAssets="build" />
110+
<PackageReference Include="Microsoft.WindowsAppSDK" Version="1.5.241107002" IncludeAssets="build" />
111111
<PackageReference Include="Microsoft.Windows.SDK.BuildTools" Version="10.0.22621.3233" IncludeAssets="build" />
112112
</ItemGroup>
113113
<Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" />

src/Files.App (Package)/Package.appxmanifest

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
<Identity
1717
Name="FilesDev"
1818
Publisher="CN=Files"
19-
Version="3.7.11.0" />
19+
Version="3.8.0.0" />
2020

2121
<Properties>
2222
<DisplayName>Files - Dev</DisplayName>
@@ -146,6 +146,7 @@
146146
<uap:FileType>.tar</uap:FileType>
147147
<uap:FileType>.jar</uap:FileType>
148148
<uap:FileType>.mrpack</uap:FileType>
149+
<uap:FileType>.gz</uap:FileType>
149150
</uap:SupportedFileTypes>
150151
<uap:Logo>assets\archives\ExtensionIcon.png</uap:Logo>
151152
</uap:FileTypeAssociation>
@@ -156,7 +157,7 @@
156157
</Application>
157158
</Applications>
158159

159-
<!-- To Host The Background Task Component, This Activatable Class Entry Must Be Added. -->
160+
<!-- To host The background task component, this activatable class entry must be added. -->
160161
<Extensions>
161162
<Extension Category="windows.activatableClass.inProcessServer">
162163
<InProcessServer>

0 commit comments

Comments
 (0)