Skip to main content

Starsky Desktop — Windows (WPF)

A native Windows desktop shell that wraps the Starsky photo-management web app inside a WebView2 browser control.

List of Starsky Projects

Requirements

RequirementVersion
Windows10 / 11 (x64)
.NET SDK10.0
WebView2 RuntimeAny recent version

Build

1. Build the Starsky backend first

../starsky/build.sh --Runtime win-x64

This produces starsky/win-x64/ which the MSBuild target copies into the desktop app's output directory automatically.

2. Build the desktop app

dotnet build windows/Starsky.Desktop.csproj -c Release

3. Publish (self-contained, single directory)

dotnet publish windows/Starsky.Desktop.csproj -c Release -r win-x64 --self-contained true -o ./publish-win

4. Package with Velopack (optional, for installers)

./windows/build-velopack.ps1

Run Tests

dotnet test windows/starsky.Tests/starsky.Tests.csproj -c Release

With code coverage:

dotnet test windows/starsky.Tests/starsky.Tests.csproj -c Release `
--collect:"XPlat Code Coverage" `
--results-directory TestResults/

Connection Modes

Local (default): Launches the bundled starsky.exe backend on a free port; no server setup required.

Remote: Connects to an existing Starsky server at a user-configured URL. Switch modes in Settings without restarting.

Data Locations

PathPurpose
%AppData%\starsky\settings.jsonDesktop app settings
%AppData%\starsky\appsettings.jsonBackend config (Local mode)
%AppData%\starsky\starsky.dbSQLite database (Local mode)
%AppData%\starsky\logs\starsky-{date}.logDaily log files
%AppData%\starsky\webview2\WebView2 user profile
%LocalAppData%\starsky\tempFolder\Downloaded files (remote edit)

Install Location (Velopack)

The installer defaults to %LocalAppData%\Starsky.Desktop. To install elsewhere:

starsky-win-x64-desktop.exe --installto "D:\Apps\Starsky"

Keyboard Shortcuts

ShortcutAction
Ctrl+NOpen new window
Ctrl+Shift+R / F5Reload all windows
Ctrl+EEdit current file in editor
Ctrl+Shift+KOpen application settings
F12Open WebView2 Developer Tools

Architecture

See SPEC.md for the full technical specification covering services, data model, startup/shutdown sequence, and CI/CD configuration.