Skip to content

Conversation

@vanpelt
Copy link
Collaborator

@vanpelt vanpelt commented Aug 11, 2025

This PR adds native desktop application support using Wails v3, providing a high-performance alternative to the web interface with direct access to Go backend services.

Changes

Replaced initial Tauri implementation with Wails v3 for better integration with our existing Go codebase. The desktop app is built directly into the container module at container/cmd/desktop/, wrapping core services (Claude, Git, Session, Settings) to expose 20+ methods through auto-generated TypeScript bindings. The React frontend remains unchanged, with a new API wrapper (src/lib/wails-api.ts) that automatically detects the environment and routes calls through Wails methods in desktop mode or HTTP in development.

Benefits

This implementation eliminates HTTP overhead by using direct method calls, improves security by removing exposed ports, and maintains full backward compatibility. The desktop app provides the same React SPA experience with native performance, while the development workflow supports hot reload for both Go and React code through the new pnpm desktop commands.

@socket-security
Copy link

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22 has a License Policy Violation.

License: OFL-1.1 (examples/badge-custom/frontend/Inter Font License.txt)

License: OFL-1.1 (examples/badge/frontend/Inter Font License.txt)

License: OFL-1.1 (internal/templates/_common/frontend/Inter Font License.txt)

From: ?golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
golang/modernc.org/libc@v1.61.13 has a License Policy Violation.

License: GPL-2.0+ (testdata/nsz.repo.hu/libc-test/src/math/crlibm/COPYING)

License: LGPL-2.1-or-later (grp/grp_linux_386.go)

License: LGPL-2.1-or-later (utime/utime_linux_riscv64.go)

License: LGPL-2.1-or-later (utime/utime_linux_arm.go)

License: LGPL-2.1-or-later (wctype/wctype_linux_386.go)

License: LGPL-2.1-or-later (wctype/wctype_linux_riscv64.go)

License: LGPL-2.1-or-later (grp/grp_linux_arm.go)

License: LGPL-2.1-or-later (sys/vfs/vfs_linux_386.go)

License: LGPL-2.1-or-later (utime/utime_linux_386.go)

License: LGPL-2.1-or-later (wctype/wctype_linux_arm64.go)

License: LGPL-2.1-or-later (utime/utime_linux_arm64.go)

License: LGPL-2.1-or-later (wctype/wctype_linux_arm.go)

License: LGPL-2.1-or-later (utime/utime_linux_s390x.go)

License: LGPL-2.1-or-later (wctype/wctype_linux_s390x.go)

License: LGPL-2.1-or-later (sys/vfs/vfs_linux_arm.go)

License: LGPL-2.1-or-later (langinfo/langinfo_linux_386.go)

License: LGPL-2.1-or-later (poll/poll_linux_arm.go)

License: LGPL-2.1-or-later (langinfo/langinfo_linux_arm.go)

License: LGPL-2.1-or-later (langinfo/langinfo_linux_riscv64.go)

License: LGPL-2.1-or-later (poll/poll_linux_386.go)

License: LGPL-2.1-or-later (pwd/pwd_linux_386.go)

License: LGPL-2.1-or-later (langinfo/langinfo_linux_arm64.go)

License: LGPL-2.1-or-later (langinfo/langinfo_linux_s390x.go)

License: LGPL-2.1-or-later (pwd/pwd_linux_arm.go)

License: GPL-2.0-or-later (poll/poll_linux_s390x.go)

License: GPL-2.0-or-later (sys/vfs/vfs_linux_s390x.go)

License: GPL-2.0-or-later (poll/poll_linux_riscv64.go)

License: GPL-2.0-or-later (sys/vfs/vfs_linux_riscv64.go)

License: GPL-2.0-or-later (langinfo/langinfo_linux_amd64.go)

License: GPL-2.0-or-later (poll/poll_linux_arm64.go)

License: GPL-2.0-or-later (langinfo/langinfo_linux_mips64le.go)

From: ?golang/modernc.org/libc@v1.61.13

ℹ Read more on: This package | This alert | What is a license policy violation?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Find a package that does not violate your license policy or adjust your policy to allow this package's license.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/modernc.org/libc@v1.61.13. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
golang/github.com/atterpac/refresh@v0.8.6 has Native code.

Location: Package overview

From: ?golang/github.com/atterpac/refresh@v0.8.6

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/atterpac/refresh@v0.8.6. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
golang/github.com/blakesmith/ar@v0.0.0-20190502131153-809d4375e1fb has Native code.

Location: Package overview

From: ?golang/github.com/blakesmith/ar@v0.0.0-20190502131153-809d4375e1fb

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/blakesmith/ar@v0.0.0-20190502131153-809d4375e1fb. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
golang/github.com/jchv/go-winloader@v0.0.0-20210711035445-715c2860da7e has Native code.

Location: Package overview

From: ?golang/github.com/jchv/go-winloader@v0.0.0-20210711035445-715c2860da7e

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/jchv/go-winloader@v0.0.0-20210711035445-715c2860da7e. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
golang/github.com/wailsapp/mimetype@v1.4.1 has Native code.

Location: Package overview

From: ?golang/github.com/wailsapp/mimetype@v1.4.1

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/wailsapp/mimetype@v1.4.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn Medium
golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22 has Native code.

Location: Package overview

From: ?golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22

ℹ Read more on: This package | This alert | Why is native code a concern?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Verify that the inclusion of native code is expected and necessary for this package's functionality. If it is unnecessary or unexpected, consider using alternative packages without native code to mitigate potential risks.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore golang/github.com/wailsapp/wails/v3@v3.0.0-alpha.22. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants