The desktop client for Ceedoku.
Ceedoku Client packages the Ceedoku web game into a lightweight desktop application with local caching and offline fallback support.
- Desktop Ceedoku — Run Ceedoku as a standalone application.
- Automatic updates — The client downloads the latest version of Ceedoku when it starts.
- Offline fallback — If an update cannot be downloaded, the client can continue using the last cached version.
.CSFsupport — Open Ceedoku Save Format (.csf) files directly with the client.- Single instance — Opening the client again while it is already running forwards supported arguments to the existing window.
Ceedoku Client downloads the files used by the Ceedoku website and stores them in its local application cache.
On startup, the client:
- Checks for a newer version of Ceedoku.
- Downloads the required website files.
- Places the downloaded files into a temporary update directory.
- Replaces the previous cached version with the new version.
- Loads the cached Ceedoku files in Electron.
If the update fails but a previous cached version exists, the client uses that cached version instead.
If no cached version exists, the client displays an offline page.
The client is an Electron application. Its main process is responsible for:
- Creating the application window
- Downloading and caching Ceedoku
- Handling redirects
- Resolving Ceedoku resources
- Opening
.csffiles - Managing the application's single-instance lock
- Providing an offline fallback
- Node.js
- npm
- Electron
Clone the repository:
git clone https://github.com/ceebug/ceedoku-client.git
cd ceedoku-clientInstall dependencies:
npm installStart the client:
npm startThe client pulls its game files from the Ceedoku website:
Only files hosted by the Ceedoku website are accepted by the cache downloader. This keeps the client tied to the official Ceedoku deployment rather than arbitrary external resources.
The client downloads the files required by Ceedoku, including the puzzle worker at:
src/js/puzzle-worker.js
Ceedoku Client is designed to keep a previously downloaded version available.
Error handling flow
Latest version
↓
Download fails
↓
Cached version exists?
↙ ↘
Yes No
↓ ↓
Load cache Offline page
This means a temporary network or server problem does not necessarily prevent Ceedoku from launching.
Ceedoku Client supports opening Ceedoku Save Format (CSF) files.
CSF files can be passed to the application when launching it, allowing saved Ceedoku games to be opened directly in the client.
For more information about the format, see the Ceedoku CSF specification.
See the LICENSE file for licence information.
Ceedoku is free, open-source, and made by Ceebug.