Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
7efeea2
Initial plan
Copilot Mar 9, 2026
32e196a
feat: add electron desktop workspace shell
Copilot Mar 9, 2026
3096547
chore: drop generated desktop lockfile
Copilot Mar 9, 2026
8ae4144
fix: harden desktop shell embedding
Copilot Mar 9, 2026
f9c939e
ci: wire desktop app into workflows
Copilot Mar 9, 2026
fe83c3f
chore: make desktop workflow installs reproducible
Copilot Mar 9, 2026
8d2afbb
feat: add desktop self-update flow
Copilot Mar 9, 2026
4cebd51
fix: polish desktop update UX
Copilot Mar 9, 2026
33b44ce
fix: log startup update check failures
Copilot Mar 9, 2026
73a9f98
docs: clarify windows desktop update packaging
Copilot Mar 9, 2026
14fa046
fix: align desktop update controls
Copilot Mar 9, 2026
6b5c281
refactor: reuse desktop update action state
Copilot Mar 9, 2026
91cfba2
ci: add native desktop installer builds
Copilot Mar 9, 2026
82c999c
chore: bump version metadata to 0.6.0
Copilot Mar 9, 2026
a3a0b66
fix: address desktop review feedback
Copilot Mar 10, 2026
d6b3951
fix: address latest desktop review feedback
Copilot Mar 10, 2026
cc7e4a7
fix: preserve desktop input focus while typing
Copilot Mar 10, 2026
992a717
fix: render only active desktop view
Copilot Mar 10, 2026
088907e
fix: address latest desktop review feedback
Copilot Mar 10, 2026
f5fbfc0
fix: address latest desktop review feedback
Copilot Mar 10, 2026
f131f12
fix: make release checksums wait for desktop artifacts
Copilot Mar 10, 2026
6f725e8
fix: address latest desktop review feedback
Copilot Mar 10, 2026
a030c03
fix: address latest desktop review feedback
Copilot Mar 10, 2026
d0cd2fb
Update desktop/src/renderer.ts
JosunLP Mar 10, 2026
750b568
Update README.md
JosunLP Mar 10, 2026
0d9b8eb
Update README.md
JosunLP Mar 10, 2026
bae2997
fix: address latest desktop review feedback
Copilot Mar 10, 2026
0f94b11
Changes before error encountered
Codex Mar 10, 2026
dc1d1af
Implement feature X to enhance user experience and optimize performance
JosunLP Mar 10, 2026
1a0ecf2
chore: move desktop to bun and address review notes
Codex Mar 10, 2026
5e91737
feat: update shared types and styles for desktop application
JosunLP Mar 10, 2026
5ca5156
feat: add backend presets and save text file options to shared types
JosunLP Mar 10, 2026
0867cfe
Add Tailwind CSS plugin to Vite configuration
JosunLP Mar 10, 2026
78d7a1b
feat: enhance desktop UI with icons and improved layout
JosunLP Mar 10, 2026
e0a1612
Bump quinn-proto from 0.11.13 to 0.11.14
dependabot[bot] Mar 11, 2026
675eb41
Merge pull request #27 from JosunLP/dependabot/cargo/quinn-proto-0.11.14
JosunLP Mar 11, 2026
a3d0cce
Merge branch 'development' into copilot/add-desktop-ui
JosunLP Mar 11, 2026
5b3c0e8
refactor: completely rebuild desktop UI from bquery to Svelte with Ty…
Claude Mar 11, 2026
a5f657d
Fix desktop Bun CI installs
Copilot Mar 11, 2026
258a1c6
Fix desktop review findings
Copilot Mar 11, 2026
e6f7492
Tighten desktop init and palette handling
Copilot Mar 11, 2026
8f04915
Expand desktop navigation and native workflows
Copilot Mar 11, 2026
e176b48
Add Electron desktop workspace app with Svelte UI, native backend con…
Copilot Mar 11, 2026
78c69c6
Fix desktop follow-up review comments
Copilot Mar 11, 2026
088c3d4
Fix desktop runtime follow-up review comments
Copilot Mar 11, 2026
0b71caf
Fix desktop toast timing and theme defaults
Copilot Mar 11, 2026
820a486
Refine desktop default port handling
Copilot Mar 11, 2026
a31c30a
Stabilize desktop toast clearing
Copilot Mar 11, 2026
d14d7a6
Fix desktop backend args and accessibility
Copilot Mar 11, 2026
b49ae38
Fix desktop polling and accessibility followups
Copilot Mar 11, 2026
46924a8
Clarify desktop polling backoff cap
Copilot Mar 11, 2026
2a7b6fc
Fix desktop follow-up review comments
Copilot Mar 11, 2026
4104575
Harden desktop analysis polling guard
Copilot Mar 11, 2026
b4eef8d
Fix desktop follow-up review points
Copilot Mar 12, 2026
fa876c9
Harden desktop IPC and a11y follow-ups
Copilot Mar 12, 2026
54e2cb5
Tighten desktop parser and file allowlist
Copilot Mar 12, 2026
8027139
Seal desktop file read checks
Copilot Mar 12, 2026
871274e
Document desktop read token flow
Copilot Mar 12, 2026
63438be
Update desktop/src/api-client.ts
JosunLP Mar 12, 2026
3482253
Update .github/workflows/ci.yml
JosunLP Mar 12, 2026
6edac9b
Fix desktop state sync and picker bounds
Copilot Mar 12, 2026
2809239
Pin inferred Bun version in workflows
Copilot Mar 13, 2026
21c7350
Fix desktop replay and release workflow follow-ups
Copilot Mar 17, 2026
5dd3b13
Declare reactive board variables
Copilot Mar 17, 2026
a57d547
Fix desktop follow-up review comments
Copilot Mar 17, 2026
62714b7
Polish desktop accessibility follow-ups
Copilot Mar 17, 2026
d699a07
Harden desktop shortcuts and release checksums
Copilot Mar 17, 2026
9da005b
Apply latest desktop review fixes
Copilot Mar 17, 2026
9890e3d
Fix desktop follow-up review comments
Copilot Mar 17, 2026
e58acbb
Fix desktop async state IO and refresh helpers
Copilot Mar 17, 2026
bc82016
Log unexpected desktop state load failures
Copilot Mar 17, 2026
5b4b24c
Add context to desktop state save errors
Copilot Mar 17, 2026
50e0f06
Potential fix for pull request finding
JosunLP Mar 19, 2026
866bc8a
Potential fix for pull request finding
JosunLP Mar 19, 2026
6a5325c
Potential fix for pull request finding
JosunLP Mar 19, 2026
76860a7
Merge pull request #26 from JosunLP/copilot/add-desktop-ui
JosunLP Mar 19, 2026
7bc9039
Bump quinn-proto from 0.11.13 to 0.11.14 (#28)
dependabot[bot] Mar 30, 2026
07cd7fb
Bump rustls-webpki from 0.103.9 to 0.103.10 (#29)
dependabot[bot] Mar 30, 2026
0b907e6
Simplify install/uninstall to single-line commands (#30)
Copilot Mar 30, 2026
750eb80
Bump rustls-webpki from 0.103.9 to 0.103.10 (#32)
dependabot[bot] Apr 8, 2026
cf6b721
Bump quinn-proto from 0.11.13 to 0.11.14 (#31)
dependabot[bot] Apr 8, 2026
6995d55
Unify install/uninstall into single cross-platform polyglot scripts (…
Copilot Apr 8, 2026
b773bf8
Updating Dependecies
JosunLP May 13, 2026
b7452b2
Optimize move sorting using `sort_unstable_by_key` for improved reada…
JosunLP May 13, 2026
d32a743
Bump version to 0.7.0 and update changelog with new features and tests
JosunLP May 13, 2026
9e1248f
Merge branch 'main' into development
JosunLP May 13, 2026
6f0e54d
fix remaining CodeRabbit review comments
Copilot May 13, 2026
1dfa233
fix latest review follow-up comments
Copilot May 13, 2026
27cecad
fix desktop api type drift and checksum glob duplication
Copilot May 13, 2026
09d1fb9
fix desktop ci type regression
Copilot May 16, 2026
616b9a3
fix latest desktop review follow-ups
Copilot May 16, 2026
cfcb476
refine desktop promotion follow-up
Copilot May 16, 2026
725be50
finalize desktop review fixes
Copilot May 16, 2026
75cd03c
polish promotion review fixes
Copilot May 16, 2026
2df2853
fix latest desktop accessibility review comments
Copilot May 16, 2026
320c933
refine desktop accessibility follow-up
Copilot May 16, 2026
7867320
polish desktop accessibility fixes
Copilot May 16, 2026
0751d88
finalize latest desktop review fixes
Copilot May 16, 2026
c3da9d4
wrap up desktop accessibility polish
Copilot May 16, 2026
6652602
fix board parity and move timeline follow-up
Copilot May 16, 2026
0d8994b
polish board timeline follow-up
Copilot May 16, 2026
fcd33f9
fix latest desktop follow-up review items
Copilot May 16, 2026
31e6a09
fix windows arm64 installer asset fallback
Copilot May 16, 2026
d3e2042
fix bishop pair test and localhost url normalization
Copilot May 16, 2026
913070e
refine bishop pair bonus coverage
Copilot May 16, 2026
1b87df4
revert unrelated cargo lock update
Copilot May 16, 2026
d4416a4
fix desktop backend protocol validation
Copilot May 16, 2026
f07a47e
clarify desktop backend http validation
Copilot May 16, 2026
81612f8
docs: prefer verified release installs
Copilot May 16, 2026
74bb4b0
docs: clarify install version examples
Copilot May 16, 2026
2675445
docs: make checksum tool requirement explicit
Copilot May 16, 2026
e43ff5f
docs: improve checksum tool guidance
Copilot May 16, 2026
92a661a
docs: refine checksum tool message
Copilot May 16, 2026
068b20d
docs: handle missing checksum entries
Copilot May 16, 2026
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
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ jobs:
- uses: Swatinem/rust-cache@v2

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- name: Install web dependencies
working-directory: web
Expand All @@ -82,6 +84,8 @@ jobs:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- name: Install dependencies
working-directory: web
Expand All @@ -98,3 +102,34 @@ jobs:
- name: Prettier
working-directory: web
run: bun run prettier --check "src/**/*.{ts,css}"

desktop:
name: Desktop (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- uses: actions/setup-node@v4
with:
node-version: 22

- name: Install desktop dependencies
working-directory: desktop
run: bun install --frozen-lockfile

- name: Validate desktop app
working-directory: desktop
run: bun run check

- name: Smoke-test desktop packaging (Linux only)
if: matrix.os == 'ubuntu-latest'
working-directory: desktop
run: bun run pack
20 changes: 20 additions & 0 deletions .github/workflows/dependency-review.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Dependency Review

on:
pull_request:
branches: [main, development]

permissions:
contents: read

jobs:
dependency-review:
name: Dependency review
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Review dependency changes
uses: actions/dependency-review-action@v4
Comment thread
JosunLP marked this conversation as resolved.
with:
fail-on-severity: high
2 changes: 2 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
fetch-depth: 0

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- name: Install dependencies
working-directory: docs
Expand Down
79 changes: 77 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ jobs:
key: ${{ matrix.target }}

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- name: Build web UI
run: |
Expand Down Expand Up @@ -132,7 +134,7 @@ jobs:
# Build checksums for all artifacts
checksums:
name: Generate checksums
needs: build-and-upload
needs: [build-and-upload, desktop]
runs-on: ubuntu-latest
steps:
- name: Download all release assets
Expand All @@ -142,10 +144,23 @@ jobs:
fileName: "checkai-*"
out-file-path: artifacts

- name: Download updater manifests
uses: robinraju/release-downloader@v1
with:
tag: ${{ github.ref_name }}
fileName: "latest*.yml"
out-file-path: artifacts

- name: Generate SHA256 checksums
run: |
cd artifacts
sha256sum checkai-* > checksums-sha256.txt
shopt -s nullglob
files=(checkai-* latest*.yml)
if [ ${#files[@]} -eq 0 ]; then
Comment thread
JosunLP marked this conversation as resolved.
echo "No release artifacts found for checksum generation." >&2
exit 1
fi
sha256sum "${files[@]}" > checksums-sha256.txt
cat checksums-sha256.txt

- name: Upload checksums
Expand Down Expand Up @@ -214,6 +229,66 @@ jobs:
bun publish --ignore-scripts
rm -f .npmrc

desktop:
name: Desktop ${{ matrix.label }}
needs: create-release
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- label: Linux
os: ubuntu-latest
build_command: bun x electron-builder --config electron-builder.yml --publish never --linux AppImage deb
artifact_glob: |
desktop/release/checkai-desktop-*.AppImage
desktop/release/checkai-desktop-*.deb
desktop/release/latest-linux.yml
- label: macOS
os: macos-latest
build_command: bun x electron-builder --config electron-builder.yml --publish never --mac zip dmg
artifact_glob: |
desktop/release/checkai-desktop-*.dmg
desktop/release/checkai-desktop-*.zip
desktop/release/checkai-desktop-*.zip.blockmap
desktop/release/latest-mac.yml
- label: Windows
os: windows-latest
build_command: bun x electron-builder --config electron-builder.yml --publish never --win nsis msi
artifact_glob: |
desktop/release/checkai-desktop-*.exe
desktop/release/checkai-desktop-*.exe.blockmap
desktop/release/checkai-desktop-*.msi
desktop/release/latest.yml
steps:
- uses: actions/checkout@v4

- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.10

- uses: actions/setup-node@v4
with:
node-version: 22

- name: Install desktop dependencies
working-directory: desktop
run: bun install --frozen-lockfile

- name: Build desktop app
working-directory: desktop
run: bun run build

- name: Build desktop release artifact
working-directory: desktop
run: ${{ matrix.build_command }}

- name: Upload desktop release asset
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
files: ${{ matrix.artifact_glob }}

# Build and push Docker image to GHCR
docker:
name: Docker image
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@

*/node_modules
*/dist
*/dist-electron
*/release
35 changes: 33 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,36 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [0.7.0] - 2026-05-13

### Added

- **Engine test coverage** — Added perft suites for the standard starting position (depths 1–3, with depth-4 guarded by `#[ignore]`) and the Kiwipete benchmark (depths 1–2, depth-3 ignored); new mate-in-one verification through the full search; transposition-table reuse test across consecutive iterative-deepening runs
- **Evaluation test coverage** — Added colour-mirror symmetry tests (starting position and asymmetric material imbalance), tapered-evaluation phase verification (full midgame phase at startpos, pure endgame phase in K+P vs K), and bishop-pair bonus delta test
- **REST API documentation for the archive** — Added an "Archive & Storage" section to `docs/api/rest.md` covering `GET /api/archive`, `GET /api/archive/stats`, `GET /api/archive/{game_id}`, and `GET /api/archive/{game_id}/replay`, including request/response shapes and error codes
- **Desktop packaging smoke test in CI** — The desktop CI job now runs `bun run pack` on Ubuntu to validate the full electron-builder pipeline end-to-end on every push

### Changed

- **Version metadata** — Bumped Rust crate, WASM crate, npm package, web UI, desktop app, and VitePress version label to 0.7.0
- **Released previously unreleased 0.6.0 desktop work** — Promoted the prior `[Unreleased]` section to a proper `[0.6.0] - 2026-03-09` entry

## [0.6.0] - 2026-03-09

### Added

- **Electron desktop app** — Added a dedicated Svelte-based Electron renderer alongside the web UI
- Includes persistent desktop sessions, native file/folder pickers, local backend launch controls, inline logs, and a multi-view workspace shell
- Packaged desktop builds can check GitHub Releases for updates, download them, and install on restart
- **Native desktop installers** — Release automation now publishes platform-native Electron installers in addition to updater-compatible artifacts
- Linux releases include `.deb` alongside AppImage
- macOS releases include `.dmg` alongside updater-compatible `.zip`
- Windows releases include `.msi` alongside NSIS for in-app update compatibility
- **Desktop CI and release automation** — GitHub Actions now validate the Electron app on Ubuntu, macOS, and Windows and publish desktop release assets with dependency review coverage

### Changed

- **Version metadata** — Updated project/package version references, install snippets, OpenAPI metadata, and documentation to align with the 0.6.0 desktop release

## [0.5.2] - 2026-03-07

Expand Down Expand Up @@ -225,7 +254,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Game archiving with zstd compression
- Web UI for browser-based game viewing

[Unreleased]: https://github.com/JosunLP/checkai/compare/v0.5.2...HEAD
[Unreleased]: https://github.com/JosunLP/checkai/compare/v0.7.0...HEAD
Comment thread
JosunLP marked this conversation as resolved.
[0.7.0]: https://github.com/JosunLP/checkai/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/JosunLP/checkai/compare/v0.5.2...v0.6.0
[0.5.2]: https://github.com/JosunLP/checkai/compare/v0.5.1...v0.5.2
[0.5.1]: https://github.com/JosunLP/checkai/compare/v0.5.0...v0.5.1
[0.5.0]: https://github.com/JosunLP/checkai/compare/v0.4.0...v0.5.0
Expand Down
Loading
Loading