mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-05-07 20:38:46 -05:00
Add a complete OAuth 2.0 PKCE flow for the Electron desktop app: - Implement PKCE code generation and token exchange in Electron - Register custom protocol handler (vikunja-desktop://) for deep links - Handle deep link race conditions (buffered URLs, process.argv fallback) - Prevent duplicate IPC listener accumulation on re-mount - Preserve sub-paths in OAuth authorize URL for non-root deployments - Add token refresh support using Electron's net module
Vikunja desktop
The Vikunja frontend all repackaged as an electron app to run as a desktop app!
Dev
As this package does not contain any code, only a thin wrapper around electron, you will need to do this to get the actual frontend bundle and build the app:
First, build the frontend:
cd ../frontend
pnpm install
pnpm run build
Then, copy the frontend to this directory:
cd desktop
cp -r ../frontend/dist frontend/
sed -i 's/\/api\/v1//g' frontend/index.html # Make sure to trigger the "enter the Vikunja url" prompt
Then you can run the desktop app like this:
pnpm install
pnpm start
Building for release
- Run the snippet from above, but with a valid frontend version instead of
unstable - Change the version in
package.json(that's the one that will be used by electron-builder) pnpm installpnpm run dist --linux --windows
License
This project is licensed under the GPL-3.0-or-later license. See the LICENSE file for details.