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

v1.8.2 #42

Merged
merged 31 commits into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
468ebe8
Update WebView2 with support for file picker
Guerra24 Jan 22, 2023
6c9162a
Automatic reader and karen integration
Guerra24 Mar 19, 2023
474950f
Fix crash in deduplicator and ARM64 installer
Guerra24 Mar 25, 2023
6396138
Add dual screen mode (duo only) and fix delta in auto play
Guerra24 Apr 8, 2023
e120fce
Fix crash when identifying an image and fix memory leak
Guerra24 Apr 9, 2023
2df720f
Updated deps and fix dual screen mode
Guerra24 Jun 19, 2023
58b2134
Add jxl support using ImageMagick
Guerra24 Jul 6, 2023
542f318
Threading fixes and other stuff
Guerra24 Jul 9, 2023
90281ae
Fix crash when closing reader and current page was outside the visibl…
Guerra24 Jul 23, 2023
ff22fac
Log dedup decoding
Guerra24 Sep 23, 2023
0024f47
Migrate to CommunityToolkit.Uwp
Guerra24 Sep 25, 2023
8d8fbcb
Use TenMica on Win 10
Guerra24 Sep 27, 2023
1e1910f
Allow moving profiles file location #37
Guerra24 Sep 29, 2023
02ce35d
Add double-click to fullscreen in reader (#38) and fix profile path r…
Guerra24 Oct 23, 2023
52c6445
Add thumbnail overlay in reader
Guerra24 Oct 26, 2023
4137d70
Comment out listviewitem styles
Guerra24 Oct 28, 2023
7e2e8c0
Rework dual screen mode and migrate in-app notifications
Guerra24 Nov 1, 2023
9c164af
Rework building process and use custom MUX
Guerra24 Nov 7, 2023
75a2fd3
Dispose settings webview when closing tab
Guerra24 Nov 7, 2023
2ec321b
Cleanup and deps update
Guerra24 Nov 14, 2023
f103e6d
Rollback wpf-ui version
Guerra24 Nov 15, 2023
3479078
Various improvements
Guerra24 Dec 18, 2023
082076b
Fix deduplicator image list
Guerra24 Dec 18, 2023
065f141
Fix version range
Guerra24 Dec 19, 2023
b515ffd
Update nugets
Guerra24 May 28, 2024
706716d
Include debug symbols and disable auto play
Guerra24 May 29, 2024
971b988
Add reflection metadata for NReco.Logging.File
Guerra24 May 29, 2024
c304cfd
Setting for thumbnail map
Guerra24 May 29, 2024
8ea4e75
Hide vertical scrollbar in thumbnail map
Guerra24 May 29, 2024
b6d570d
Add context menu for marking archives as non duplicates #35
Guerra24 May 29, 2024
6992bb0
Fix scroll to change page during page load
Guerra24 May 29, 2024
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
161 changes: 93 additions & 68 deletions .github/workflows/build-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,68 +4,79 @@ on:
branches:
- develop
jobs:
buildAvaloniaLinuxX64:
name: Build Avalonia Linux X64
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare Env
uses: microsoft/setup-msbuild@v1.1
- name: Build
env:
DOTNET_NOLOGO: true
run: |
dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=linux-x64
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: LRReader.Avalonia.Desktop.Linux-X64
path: LRReader.Avalonia.Desktop/publish/linux-x64
buildAvaloniaMacOSX64:
name: Build Avalonia macOS X64
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare Env
uses: microsoft/setup-msbuild@v1.1
- name: Build
env:
DOTNET_NOLOGO: true
run: |
dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=macos-x64
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: LRReader.Avalonia.Desktop.macOS-X64
path: LRReader.Avalonia.Desktop/publish/macos-x64
buildAvaloniaWinX64:
name: Build Avalonia Windows X64
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Prepare Env
uses: microsoft/setup-msbuild@v1.1
- name: Build
env:
DOTNET_NOLOGO: true
run: |
dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=win-x64
- name: Upload Artifacts
uses: actions/upload-artifact@v2
with:
name: LRReader.Avalonia.Desktop.Win-X64
path: LRReader.Avalonia.Desktop/publish/win-x64
# buildAvaloniaLinuxX64:
# name: Build Avalonia Linux X64
# runs-on: windows-2022
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Prepare Env
# uses: microsoft/setup-msbuild@v2
# - name: Build
# env:
# DOTNET_NOLOGO: true
# run: |
# dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=linux-x64
# - name: Upload Artifacts
# uses: actions/upload-artifact@v4
# with:
# name: LRReader.Avalonia.Desktop.Linux-X64
# path: LRReader.Avalonia.Desktop/publish/linux-x64
# buildAvaloniaMacOSX64:
# name: Build Avalonia macOS X64
# runs-on: windows-2022
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Prepare Env
# uses: microsoft/setup-msbuild@v2
# - name: Build
# env:
# DOTNET_NOLOGO: true
# run: |
# dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=macos-x64
# - name: Upload Artifacts
# uses: actions/upload-artifact@v4
# with:
# name: LRReader.Avalonia.Desktop.macOS-X64
# path: LRReader.Avalonia.Desktop/publish/macos-x64
# buildAvaloniaWinX64:
# name: Build Avalonia Windows X64
# runs-on: windows-2022
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# - name: Prepare Env
# uses: microsoft/setup-msbuild@v2
# - name: Build
# env:
# DOTNET_NOLOGO: true
# run: |
# dotnet publish LRReader.Avalonia.Desktop\LRReader.Avalonia.Desktop.csproj -nologo -v:minimal /p:Configuration=Release /p:PublishProfile=win-x64
# - name: Upload Artifacts
# uses: actions/upload-artifact@v4
# with:
# name: LRReader.Avalonia.Desktop.Win-X64
# path: LRReader.Avalonia.Desktop/publish/win-x64
buildUWP:
name: Build UWP
name: Sideload
runs-on: windows-2022
permissions:
packages: read
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Prepare Env
uses: microsoft/[email protected]
uses: microsoft/setup-msbuild@v2
- name: Auth nuget registry
run: dotnet nuget update source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text guerra24
- name: Prepare nuget cache
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-uwp-${{ hashFiles('LRReader.Shared/packages.lock.json', 'LRReader.UWP/packages.lock.json') }}
restore-keys: |
nuget-uwp-
- name: Build
env:
CERT_PASSWORD: ${{ secrets.CERT_PASSWORD }}
Expand All @@ -79,7 +90,7 @@ jobs:
& "C:\Program Files\Git\usr\bin\gpg.exe" --quiet --batch --yes --decrypt --passphrase="${env:CERT_GPG}" --output Cert.pfx Cert.pfx.gpg
Invoke-Expression "./Util/Version.ps1 ${env:BUILD_NUMBER}"
Invoke-Expression "./Util/ConfigureAppCenter.ps1"
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:Nightly=true /p:Configuration=Release /p:UapAppxPackageBuildMode="SideloadOnly" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="..\Cert.pfx" /p:PackageCertificatePassword="${env:CERT_PASSWORD}" /p:GenerateAppInstallerFile=True /p:AppInstallerUri="https://s3.guerra24.net/projects/lrr/nightly"
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:RestoreLockedMode=true /p:Nightly=true /p:Configuration=Release /p:UapAppxPackageBuildMode="SideloadOnly" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="..\Cert.pfx" /p:PackageCertificatePassword="${env:CERT_PASSWORD}" /p:GenerateAppInstallerFile=True /p:AppInstallerUri="https://s3.guerra24.net/projects/lrr/nightly"
Remove-Item -Path "./Cert.pfx.gpg","./Cert.pfx"
Invoke-Expression "./Util/CleanInstaller.ps1"
- name: Prepare for upload
Expand All @@ -89,7 +100,7 @@ jobs:
Set-Location "./LRReader.UWP/AppPackages/LRReader.UWP"
Remove-Item $(Get-ChildItem *.appxsym -File)
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -99,29 +110,43 @@ jobs:
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
run: aws s3 sync LRReader.UWP/AppPackages s3://${env:AWS_S3_BUCKET}/projects/lrr/nightly --no-progress --acl public-read --follow-symlinks --delete
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: LRReader.UWP
path: LRReader.UWP/AppPackages
buildUWPInstaller:
name: Build UWP Installer
buildInstaller:
name: Installer
runs-on: windows-2022
permissions:
packages: read
strategy:
matrix:
arch: [x64, ARM64]
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Prepare Env
uses: microsoft/[email protected]
uses: microsoft/setup-msbuild@v2
- name: Auth nuget registry
run: dotnet nuget update source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text guerra24
- name: Prepare nuget cache
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-installer-${{ hashFiles('LRReader.UWP.Installer/packages.lock.json') }}
restore-keys: |
nuget-installer-
- name: Build
env:
APP_VERSION: Nightly
run: |
Invoke-Expression "./Util/ConfigureInstaller.ps1"
MSBuild LRReader.UWP.Installer\LRReader.UWP.Installer.csproj -nologo -r -v:minimal /p:Configuration=Release
MSBuild LRReader.UWP.Installer\LRReader.UWP.Installer.csproj -nologo -r -v:minimal /p:RestoreLockedMode=true /p:Configuration=Release /p:Platform=${{ matrix.arch }}
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: LRReader.UWP.Installer
path: LRReader.UWP.Installer/bin/Release/LRReader.exe
name: Installer-${{ matrix.arch }}
path: LRReader.UWP.Installer/bin/${{ matrix.arch }}/Release/net472/LRReader.UWP.Installer.exe
purgeUWPCache:
name: Purge UWP Nightly cache
needs: buildUWP
Expand Down
82 changes: 59 additions & 23 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,25 @@ on:
types: [published]
jobs:
buildAppxBundle:
name: Build AppInstaller
name: Sideload
runs-on: windows-2022
permissions:
packages: read
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Prepare Env
uses: microsoft/[email protected]
- name: Build AppInstaller
uses: microsoft/setup-msbuild@v2
- name: Auth nuget registry
run: dotnet nuget update source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text guerra24
- name: Prepare nuget cache
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-uwp-${{ hashFiles('LRReader.Shared/packages.lock.json', 'LRReader.UWP/packages.lock.json') }}
restore-keys: |
nuget-uwp-
- name: Build
env:
CERT_PASSWORD: ${{ secrets.CERT_PASSWORD }}
CERT_GPG: ${{ secrets.CERT_GPG }}
Expand All @@ -24,7 +35,7 @@ jobs:
[IO.File]::WriteAllBytes("./Cert.pfx.gpg", [Convert]::FromBase64String("${env:CERT_BASE64}"))
& "C:\Program Files\Git\usr\bin\gpg.exe" --quiet --batch --yes --decrypt --passphrase="${env:CERT_GPG}" --output Cert.pfx Cert.pfx.gpg
Invoke-Expression "./Util/ConfigureAppCenter.ps1"
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:Sideload=true /p:Configuration=Release /p:UapAppxPackageBuildMode="SideloadOnly" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="..\Cert.pfx" /p:PackageCertificatePassword="${env:CERT_PASSWORD}" /p:GenerateAppInstallerFile=True /p:AppInstallerUri="https://s3.guerra24.net/projects/lrr/$($xmlDoc.Package.Identity.Version)"
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:RestoreLockedMode=true /p:Sideload=true /p:Configuration=Release /p:UapAppxPackageBuildMode="SideloadOnly" /p:AppxPackageSigningEnabled=true /p:PackageCertificateThumbprint="" /p:PackageCertificateKeyFile="..\Cert.pfx" /p:PackageCertificatePassword="${env:CERT_PASSWORD}" /p:GenerateAppInstallerFile=True /p:AppInstallerUri="https://s3.guerra24.net/projects/lrr/$($xmlDoc.Package.Identity.Version)"
Remove-Item -Path "./Cert.pfx.gpg","./Cert.pfx"
Invoke-Expression "./Util/CleanInstaller.ps1"
- name: Prepare for upload
Expand All @@ -38,12 +49,12 @@ jobs:
foreach ($file in $(Get-ChildItem *.appxsym -File)) { appcenter crashes upload-symbols --app Guerra24/LRReader --appxsym $file --token ${env:APPCENTER_TOKEN} }
Remove-Item $(Get-ChildItem *.appxsym -File)
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: LRReader
path: LRReader.UWP/AppPackages
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Expand All @@ -59,47 +70,72 @@ jobs:
path: LRReader.UWP/AppPackages/LRReader.UWP.appinstaller
repo-token: ${{ secrets.GITHUB_TOKEN }}
buildInstaller:
name: Build Installer
name: Installer
runs-on: windows-2022
permissions:
packages: read
strategy:
matrix:
arch: [x64, ARM64]
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Prepare Env
uses: microsoft/[email protected]
- name: Installer
uses: microsoft/setup-msbuild@v2
- name: Auth nuget registry
run: dotnet nuget update source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text guerra24
- name: Prepare nuget cache
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-installer-${{ hashFiles('LRReader.UWP.Installer/packages.lock.json') }}
restore-keys: |
nuget-installer-
- name: Build
run: |
[xml]$xmlDoc = Get-Content "./Util/Package.appxmanifest"
$env:APP_INSTALLER_URL="https://s3.guerra24.net/projects/lrr/$($xmlDoc.Package.Identity.Version)/LRReader.UWP.appinstaller"
$env:APP_VERSION="$($xmlDoc.Package.Identity.Version)"
Invoke-Expression "./Util/ConfigureInstaller.ps1"
MSBuild LRReader.UWP.Installer\LRReader.UWP.Installer.csproj -nologo -r -v:minimal /p:Configuration=Release
MSBuild LRReader.UWP.Installer\LRReader.UWP.Installer.csproj -nologo -r -v:minimal /p:RestoreLockedMode=true /p:Configuration=Release /p:Platform=${{ matrix.arch }}
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: Installer
path: LRReader.UWP.Installer/bin/Release/LRReader.exe
name: Installer-${{ matrix.arch }}
path: LRReader.UWP.Installer/bin/${{ matrix.arch }}/Release/net472/LRReader.UWP.Installer.exe
- name: Upload to Release
uses: Guerra24/upload-to-release@v1
with:
name: LRReader.exe
path: LRReader.UWP.Installer/bin/Release/LRReader.exe
name: LRReader.${{ matrix.arch }}.exe
path: LRReader.UWP.Installer/bin/${{ matrix.arch }}/Release/net472/LRReader.UWP.Installer.exe
repo-token: ${{ secrets.GITHUB_TOKEN }}
buildStoreBundle:
name: Build Store Bundle
name: Store
runs-on: windows-2022
permissions:
packages: read
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Prepare Env
uses: microsoft/[email protected]
- name: Build AppInstaller
uses: microsoft/setup-msbuild@v2
- name: Auth nuget registry
run: dotnet nuget update source --username ${{ github.actor }} --password ${{ secrets.GITHUB_TOKEN }} --store-password-in-clear-text guerra24
- name: Prepare nuget cache
uses: actions/cache@v4
with:
path: ~/.nuget/packages
key: nuget-uwp-${{ hashFiles('LRReader.Shared/packages.lock.json', 'LRReader.UWP/packages.lock.json') }}
restore-keys: |
nuget-uwp-
- name: Build
env:
APPCENTER_APP_ID: ${{ secrets.APPCENTER_APP_ID }}
run: |
Invoke-Expression "./Util/ConfigureAppCenter.ps1"
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:Configuration=Release /p:UapAppxPackageBuildMode="StoreOnly" /p:AppxPackageSigningEnabled=false
MSBuild LRReader.UWP\LRReader.UWP.csproj -nologo -r -v:minimal /p:RestoreLockedMode=true /p:Configuration=Release /p:UapAppxPackageBuildMode="StoreOnly" /p:AppxPackageSigningEnabled=false
- name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: LRReader_Store
path: LRReader.UWP/AppPackages/*.msixupload
2 changes: 1 addition & 1 deletion LRReader.Avalonia.Desktop/LRReader.Avalonia.Desktop.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<Content Include="logo.ico" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Avalonia.Desktop" Version="0.10.18" />
<PackageReference Include="Avalonia.Desktop" Version="0.10.21" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LRReader.Avalonia\LRReader.Avalonia.csproj" />
Expand Down
8 changes: 4 additions & 4 deletions LRReader.Avalonia/LRReader.Avalonia.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
<ItemGroup>
<PackageReference Include="Aura.UI" Version="0.1.4.2" />
<PackageReference Include="Aura.UI.FluentTheme" Version="0.1.4.2" />
<PackageReference Include="Avalonia" Version="0.10.18" />
<PackageReference Include="Avalonia.Desktop" Version="0.10.18" />
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.18" />
<PackageReference Include="Avalonia" Version="0.10.21" />
<PackageReference Include="Avalonia.Desktop" Version="0.10.21" />
<PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.21" />
<PackageReference Include="FluentAvaloniaUI" Version="1.4.5" />
<PackageReference Include="XamlNameReferenceGenerator" Version="1.4.2" />
<PackageReference Include="XamlNameReferenceGenerator" Version="1.6.1" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\LRReader.Shared\LRReader.Shared.csproj" />
Expand Down
2 changes: 2 additions & 0 deletions LRReader.Avalonia/Services/Platform.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ public override void Init()

public override uint HoverTime => 500;

public override bool DualScreen => false;

public override void ChangeTheme(AppTheme theme)
{
throw new NotImplementedException();
Expand Down
Loading