Commit Graph

6 Commits

Author SHA1 Message Date
kolaente dd7532a57a feat: add OAuth PKCE authentication flow to desktop app
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
2026-03-30 20:12:25 +00:00
kolaente 82c24a826a fix(desktop): block same-window navigation to external origins 2026-03-20 11:30:09 +00:00
kolaente b9d4d5e4ac fix(desktop): validate URL schemes before shell.openExternal 2026-03-20 11:30:09 +00:00
kolaente 23de2197fd fix(desktop): disable nodeIntegration and enable contextIsolation/sandbox 2026-03-20 11:30:09 +00:00
kolaente dc20d55be6
fix(desktop): use app.use to serve frontend files
This fix avoids route patterns and instead uses a middleware to serve frontend files in express. The route pattern was causing errors in the path-to-regexp package used by express.

Resolves https://github.com/go-vikunja/vikunja/issues/687
Resolves https://community.vikunja.io/t/the-state-of-the-windows-desktop-app/3618/4
2025-05-20 15:48:02 +02:00
kolaente eaf072766c
chore: move desktop files 2024-02-08 14:53:56 +01:00
Renamed from main.js (Browse further)