Electron support for Linux (#1074)

* init

* SQLite changes

* Move html folder, edit build scripts

* AppApi interface

* Build flags

* AppApi inheritance

* Finishing touches

* Merge upstream changes

* Test CI

* Fix class inits

* Rename AppApi

* Merge upstream changes

* Fix SQLiteLegacy on Linux, Add Linux interop, build tools

* Linux specific localisation strings

* Make it run

* Bring back most of Linux functionality

* Clean up

* Fix TTS voices

* Fix UI var

* Changes

* Electron minimise to tray

* Remove separate toggle for WlxOverlay

* Fixes

* Touchups

* Move csproj

* Window zoom, Desktop Notifications, VR check on Linux

* Fix desktop notifications, VR check spam

* Fix building on Linux

* Clean up

* Fix WebApi headers

* Rewrite VRCX updater

* Clean up

* Linux updater

* Add Linux to build action

* init

* SQLite changes

* Move html folder, edit build scripts

* AppApi interface

* Build flags

* AppApi inheritance

* Finishing touches

* Merge upstream changes

* Test CI

* Fix class inits

* Rename AppApi

* Merge upstream changes

* Fix SQLiteLegacy on Linux, Add Linux interop, build tools

* Linux specific localisation strings

* Make it run

* Bring back most of Linux functionality

* Clean up

* Fix TTS voices

* Changes

* Electron minimise to tray

* Remove separate toggle for WlxOverlay

* Fixes

* Touchups

* Move csproj

* Window zoom, Desktop Notifications, VR check on Linux

* Fix desktop notifications, VR check spam

* Fix building on Linux

* Clean up

* Fix WebApi headers

* Rewrite VRCX updater

* Clean up

* Linux updater

* Add Linux to build action

* Test updater

* Rebase and handle merge conflicts

* Fix Linux updater

* Fix Linux app restart

* Fix friend order

* Handle AppImageInstaller, show an install message on Linux

* Updates to the AppImage installer

* Fix Linux updater, fix set version, check for .NET, copy wine prefix

* Handle random errors

* Rotate tall prints

* try fix Linux restart bug

* Final

---------

Co-authored-by: rs189 <35667100+rs189@users.noreply.github.com>
This commit is contained in:
Natsumi
2025-01-11 13:09:44 +13:00
committed by GitHub
parent a39eb9d5ed
commit 938fff63d0
223 changed files with 15841 additions and 9562 deletions

View File

@@ -11,22 +11,20 @@ $ZipName = "VRCX_" + $Date + ".zip"
$SetupName = "VRCX_" + $Date + "_Setup.exe"
Write-Host "Building .Net..." -ForegroundColor Green
dotnet build VRCX.sln -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m --self-contained
dotnet build Dotnet\VRCX-Cef.csproj -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m --self-contained
Write-Host "Building Node.js..." -ForegroundColor Green
cd "html"
Remove-Item -Path "node_modules" -Force -Recurse -ErrorAction SilentlyContinue
npm ci --loglevel=error
npm run prod
cd ..
Remove-Item -Path "bin\x64\Release\html" -Force -Recurse -ErrorAction SilentlyContinue
New-Item -ItemType Junction -Path "bin\x64\Release\html" -Target "html\dist"
Remove-Item -Path "build\Cef\html" -Force -Recurse -ErrorAction SilentlyContinue
New-Item -ItemType Junction -Path "build\Cef\html" -Target "html"
Write-Host "Creating Zip..." -ForegroundColor Green
cd "bin\x64\Release"
cd "build\Cef"
7z a -tzip $ZipName * -mx=7 -xr0!"*.log" -xr0!"*.pdb"
Move-Item $ZipName ..\..\..\$ZipName -Force
cd ..\..\..\
Move-Item $ZipName ..\..\$ZipName -Force
cd ..\..\
Write-Host "Creating Installer..." -ForegroundColor Green
cd "Installer"

View File

@@ -1,5 +1,5 @@
@echo off
cd ..
dotnet build VRCX.sln -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m --self-contained
mklink /J "%~dp0\..\bin\x64\Release\html" "%~dp0\..\html\dist"
dotnet build Dotnet\VRCX-Cef.csproj -p:Configuration=Release -p:Platform=x64 -p:RestorePackagesConfig=true -t:"Restore;Clean;Build" -m --self-contained
mklink /J "%~dp0\..\build\Cef\html" "%~dp0\..\build\html"
pause

View File

@@ -1,5 +1,5 @@
cd ../html
cd ../src
call npm ci
call npm run production
call npm run prod
cd ..
pause

View File

@@ -1,3 +1,2 @@
mklink /J "%~dp0\..\bin\x64\Debug\html" "%~dp0\..\html\dist"
mklink /J "%~dp0\..\bin\x64\Release\html" "%~dp0\..\html\dist"
mklink /J "%~dp0\..\build\Cef\html" "%~dp0\..\build\html"
pause

View File

@@ -1,18 +0,0 @@
@echo off
cd ..
setlocal
where /q 7z
IF ERRORLEVEL 1 (
set ZIP_BIN="C:\Program Files\7-Zip\7z.exe"
) ELSE (
set ZIP_BIN=7z
)
for /f %%a in ('powershell -Command "Get-Date -format yyyyMMdd"') do set TODAY=%%a
set ZIP_NAME=VRCX_%TODAY%.zip
echo %ZIP_NAME%
rem using 7-Zip (https://www.7-zip.org)
cd "%~dp0\..\bin\x64\Release"
%ZIP_BIN% a -tzip %ZIP_NAME% * -mx=7 -xr0!*.log -xr0!*.pdb
cd "%~dp0"
move "%~dp0\..\bin\x64\Release\%ZIP_NAME%" "%~dp0"
pause

View File

@@ -1,12 +1,18 @@
@echo off
cd ..
setlocal
where /q 7z
IF ERRORLEVEL 1 (
set ZIP_BIN="C:\Program Files\7-Zip\7z.exe"
) ELSE (
set ZIP_BIN=7z
)
for /f %%a in ('powershell -Command "Get-Date -format yyyyMMdd"') do set TODAY=%%a
set ZIP_NAME=VRCX_%TODAY%.zip
echo %ZIP_NAME%
rem using bandizip (https://www.bandisoft.com/bandizip)
cd "%~dp0\..\bin\x64\Release"
bz c -l:9 -r -storeroot:yes -ex:"*.log;*.pdb" -cmt:"https://github.com/vrcx-team/VRCX" %ZIP_NAME% *
rem using 7-Zip (https://www.7-zip.org)
cd "%~dp0\..\build\Cef"
%ZIP_BIN% a -tzip %ZIP_NAME% * -mx=7 -xr0!*.log -xr0!*.pdb
cd "%~dp0"
move "%~dp0\..\bin\x64\Release\%ZIP_NAME%" "%~dp0"
move "%~dp0\..\build\Cef\%ZIP_NAME%" "%~dp0"
pause