Commit Graph

5 Commits

Author SHA1 Message Date
Vantz Stockwell
a8974da37d feat: FreeRDP3 purego backend for Windows with platform stub
Add the real FreeRDP3 RDP backend that loads libfreerdp3.dll at runtime
via syscall.NewLazyDLL (no CGO required). The Windows implementation
(freerdp_windows.go) calls FreeRDP3 functions for instance lifecycle,
settings configuration, input forwarding, and event handling. A stub
(freerdp_stub.go) compiles on non-Windows platforms and returns errors,
keeping macOS/Linux development and tests working. A factory function
(freerdp_factory.go) selects the right backend based on runtime.GOOS,
and app.go now uses NewProductionBackend instead of always using mock.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:43:31 -04:00
Vantz Stockwell
c00e2a446f feat: wire RDP service into Wails app
Register RDPService on WraithApp with a mock backend factory and expose
it as a Wails service in main.go so the frontend can call RDP methods
via bindings. The factory will be swapped to a FreeRDP purego backend
when running on Windows.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:17:44 -04:00
Vantz Stockwell
ae50bef795 feat: workspace snapshot persistence — save/load layout + clean shutdown detection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:07:01 -04:00
Vantz Stockwell
8c902876e7 feat: wire SSH, SFTP, and credential services into Wails app
Add SSHService, SFTPService, and CredentialService to the WraithApp
struct. SSH service uses a no-op output handler (Wails event emission
will be wired at runtime). CredentialService is created lazily after
vault unlock. Both SSH and SFTP services are registered with Wails
in main.go.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 07:04:15 -04:00
Vantz Stockwell
8b891dca00 feat: wire all services into Wails app entry point
Create WraithApp struct in internal/app that initializes SQLite,
runs migrations, seeds themes, and exposes vault management methods
(IsFirstRun, CreateVault, Unlock, IsUnlocked) to the frontend.
Register WraithApp, ConnectionService, ThemeService, and SettingsService
as Wails v3 bound services.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 06:28:32 -04:00