Some checks failed
Release Beta / autotag (push) Successful in 39s
Release Beta / changelog (push) Successful in 1m26s
Test / frontend-tests (push) Successful in 1m55s
Test / frontend-typecheck (push) Successful in 2m8s
Release Beta / build-macos-arm64 (push) Successful in 4m8s
Release Beta / build-linux-amd64 (push) Failing after 4m39s
Release Beta / build-windows-amd64 (push) Failing after 4m52s
Release Beta / build-linux-arm64 (push) Failing after 5m22s
Test / rust-clippy (push) Has been cancelled
Test / rust-tests (push) Has been cancelled
Test / rust-fmt-check (push) Has been cancelled
## Problem All three CI build platforms (linux-amd64, windows-amd64, linux-arm64) were failing with libsodium detection errors in release-beta.yml: - Linux: "libsodium not found via pkg-config or vcpkg" - Windows: "SODIUM_LIB_DIR is incompatible with SODIUM_USE_PKG_CONFIG" ## Root Cause The libsodium-sys-stable crate requires explicit environment configuration: - Linux needs SODIUM_USE_PKG_CONFIG=1 to find libsodium-dev packages - Windows needs SODIUM_LIB_DIR pointing to pre-built libs OR pkg-config (not both) - Cross-compilation requires complete PKG_CONFIG_PATH for arch-specific .pc files ## Solution ### release-beta.yml fixes: 1. **linux-amd64**: Added SODIUM_USE_PKG_CONFIG=1 2. **windows-amd64**: - Set SODIUM_LIB_DIR=/usr/x86_64-w64-mingw32/lib (was "") - Added SODIUM_USE_PKG_CONFIG=no (explicit disable) - Standardized SODIUM_STATIC=1 (was "yes") 3. **linux-arm64**: - Added SODIUM_USE_PKG_CONFIG=1 - Extended PKG_CONFIG_PATH to include /usr/aarch64-linux-gnu/lib/pkgconfig ### auto-tag.yml fixes: - **linux-arm64**: Extended PKG_CONFIG_PATH (same as release-beta.yml) ## Additional Fix Fixed flaky test `shell::pty::tests::test_is_alive` by adding retry logic for process reaping to handle OS timing variations (macOS was timing out). ## Validation ✅ Local build: cargo check passed ✅ Rust tests: 416 passed, 6 ignored ✅ Frontend tests: 386 passed (45 files) ✅ Linting: cargo clippy + eslint passed ⏳ CI validation: pending push to beta branch Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Pull Request Summary
PR #100: Fix Proxmox Remote Add Error
URL: #100
Branch: fix/proxmox-remote-add-error → beta
Version: 1.2.3 → 1.2.4
Problem
Users could not add Proxmox remotes when providing URLs with port numbers (e.g., https://172.0.0.18:8006). The error displayed was: "Failed to add remote"
Root Cause
The RemotesPage.tsx component incorrectly parsed URLs containing ports:
- User enters:
https://172.0.0.18:8006 - Code strips protocol →
172.0.0.18:8006 - Code uses this with port still attached as hostname
- Code also sends separate port parameter:
8006 - Backend receives malformed:
url: "172.0.0.18:8006"+port: 8006 - Connection fails
Solution
Added URL parsing logic to properly handle ports in both add and edit operations:
// Parse URL to extract hostname and port
let hostname = config.url.replace(/^https?:\/\//, '');
let port = config.type === 'pve' ? 8006 : 8007;
// If URL contains port, extract it
const portMatch = hostname.match(/:(\d+)$/);
if (portMatch) {
port = parseInt(portMatch[1], 10);
hostname = hostname.replace(/:\d+$/, '');
}
Now correctly handles:
- ✅ Full URLs with ports:
https://172.0.0.18:8006→ hostname:172.0.0.18, port:8006 - ✅ Hostnames only:
172.0.0.18→ hostname:172.0.0.18, port:8006(default) - ✅ Custom ports:
https://192.168.1.100:8443→ hostname:192.168.1.100, port:8443
Changes
Modified Files
src/pages/Proxmox/RemotesPage.tsx- Fixed
handleAddRemote()function - Fixed
handleEditRemote()function - Added port extraction logic
- Properly separates hostname from port
- Fixed
Version Bump
package.json:1.2.3→1.2.4src-tauri/Cargo.toml:1.2.3→1.2.4src-tauri/tauri.conf.json:1.2.3→1.2.4src-tauri/Cargo.lock: Updatedsrc-tauri/gen/schemas/macOS-schema.json: Regenerated
Commits
666de6dd-fix(proxmox): parse port from URL when adding remote58cbe525-chore: bump version to 1.2.40b409c32-chore: update Cargo.lock and schema for v1.2.4
Testing
Completed
- ESLint checks passed
- Rust compilation successful
- Database corruption fixed (removed 0-byte DB)
Required Before Merge
- Manual test: Add remote with
https://172.0.0.18:8006 - Manual test: Add remote with
172.0.0.18(should use port 8006) - Manual test: Add PBS remote with custom port
- Manual test: Edit existing remote and verify port changes
- Verify remote connection succeeds
- Verify VMs/containers load after adding remote
- Test with self-signed certificates
- Test with API token authentication
Stats
- Files changed: 6
- Additions: +263 lines
- Deletions: -10 lines
- State: Open, mergeable
- CI Status: Pending
Next Steps
- ✅ Branch pushed to origin
- ✅ PR created (#100)
- ⏳ Awaiting review
- ⏳ Manual testing
- ⏳ Merge to beta
- ⏳ Test on beta branch
- ⏳ Merge to master (if applicable)