Commit Graph

14 Commits

Author SHA1 Message Date
464dca0795 refactor: split window restoration into type-specific helpers and add focus event handler
Rename restore_main_window to restore_webview_window for WebviewWindow type. Add new restore_window helper for generic Window type. Update tray menu and click handlers to use restore_webview_window. Add WindowEvent::Focused handler to restore window state when focused.
2026-03-17 21:25:38 +01:00
a4c5a3f0ca feat: add profile sync functionality and redesign desktop client UI
Add sync_profile command to fetch latest profile from backend without re-enrollment. Add DeviceView struct to EnrollResponse. Replace hardcoded "just now" timestamp with now_label helper using Unix epoch seconds. Add sync button to UI with loading state. Redesign client interface with top strip containing brand lockup and action buttons, hero surface with profile metadata tiles, body grid with login/status panels and resources sidebar
2026-03-17 21:24:50 +01:00
cf65dc0e41 feat: add update and delete operations for users and policies in admin interface
Add updateUser and deleteUser API client methods with PATCH and DELETE endpoints. Add updatePolicy and deletePolicy API client methods. Add email field to User type. Add Actions column to users and policies tables with Edit and Delete buttons. Implement inline edit forms for users and policies with state management for editing mode. Add update and delete mutations with query invalidation on success. Add error notices
2026-03-17 20:49:38 +01:00
b288f0d155 feat: add system tray icon with minimize-to-tray behavior
Enable tray-icon feature in Tauri dependencies. Add system tray with Open and Quit menu items. Implement tray icon click handlers to restore main window. Add window event handlers to hide window on close/minimize instead of exiting application. Add restore_main_window and hide_main_window helper functions for window visibility management.
2026-03-17 19:56:46 +01:00
f596f89665 fix: change serde field naming from camelCase to snake_case with explicit renames
Remove container-level camelCase rename attributes from LoginRequest, LoginResponse, EnrollRequest, EnrollResponse, PeerView, and GatewayView structs. Add explicit field-level serde rename attributes for snake_case fields (access_token, refresh_token, os_version, app_version, device_fingerprint, public_key, assigned_ip, profile_revision) to match backend API contract.
2026-03-17 19:53:56 +01:00
dab7159cc5 fix: improve error handling and display in desktop client enrollment flow
Add formatInvokeError helper function to handle various error types from Tauri invoke calls with fallback messages. Update enroll_device to include response body in error message when enrollment fails with non-success status. Add windows_subsystem attribute to main.rs to suppress console window in release builds on Windows.
2026-03-17 19:51:02 +01:00
c921e86a11 feat: enable static_secrets feature for x25519-dalek in desktop client
Add static_secrets feature flag to x25519-dalek dependency to support deterministic key generation from seed material.
2026-03-17 19:40:56 +01:00
61d2b4b25c feat: add branding assets and favicon support across admin-web and desktop-client
Add NexaVPN logo images (full logo and mark-only variants) to admin-web and desktop-client public directories. Add favicon.ico and favicon.png to admin-web, and icon.png to desktop-client. Update index.html files to reference favicon assets. Add icon.png and icon.ico to desktop-client Tauri icons directory and configure bundle.icon in tauri.conf.json. Update Layout component to display logo in sidebar brand-block with
2026-03-17 19:37:58 +01:00
cfe38e5c3b chore: update Tauri dependencies to 2.10.1 and tauri-build to 2.5.5
Update @tauri-apps/api and @tauri-apps/cli to version 2.10.1, and tauri runtime to 2.10.1 for consistency across desktop client dependencies. Update tauri-build to version 2.5.5.
2026-03-17 19:23:12 +01:00
ebc449079b chore: update Tauri dependencies to 2.3.1
Update @tauri-apps/api, @tauri-apps/cli, and tauri-build to version 2.3.1 for consistency across desktop client dependencies.
2026-03-17 19:20:55 +01:00
991df88d58 refactor: migrate Windows target from x86 to x64 architecture
Update all Windows build configurations, scripts, and documentation from i686-pc-windows-msvc (x86) to x86_64-pc-windows-msvc (x64). Update npm scripts, build-tunnel-helper.sh target validation, bundled helper paths, and tunnel manager strategy references. Add XWIN_ARCH=x86_64 environment variable to Linux cross-build command and --xwin-arch flag to cargo xwin invocation.
2026-03-17 19:13:56 +01:00
84be690a50 docs: add Linux cross-build instructions for Windows x86 NSIS installer
Add Ubuntu-to-Windows build workflow using cargo-xwin for i686-pc-windows-msvc target. Update build-tunnel-helper.sh with host OS detection, target validation, and cargo-xwin support for Linux cross-compilation. Add tauri.windows.conf.json to configure NSIS-only bundle output and npm script for Linux-based Windows builds. Update client-platforms.md to document cross-compilation support and clarify that MSI packaging still requires Windows environment.
2026-03-17 19:03:50 +01:00
6ec5133773 docs: update README with desktop requirements, helper builds, and realistic MVP usage notes
Expand README with desktop platform requirements (Windows x86, macOS ARM), helper build commands, gateway utility scripts, and updated local test flow. Add realistic MVP usage section clarifying current platform build status, gateway configuration needs, and admin debug profile behavior with client private key handling.
2026-03-16 06:30:08 +01:00
830491cb0d chore: initial project scaffold with admin web, backend, desktop client, and deployment setup
Add monorepo structure for NexaVPN WireGuard control plane including:
- .gitignore for node_modules, build artifacts, and environment files
- README with project overview, monorepo layout, and quick start guide
- Admin web UI with React, Vite, TypeScript, and nginx reverse proxy
- API client with type definitions for users, devices, policies, gateways, and audit logs
- Admin pages for dashboard, users, devices, policies, g
2026-03-15 16:32:34 +01:00