2026-06-14 09:36:44 +00:00
# Pull Request Summary
## PR #100: Fix Proxmox Remote Add Error
**URL**: https://gogs.tftsr.com/sarman/tftsr-devops_investigation/pulls/100
**Branch**: `fix/proxmox-remote-add-error` → `beta`
**Version**: `1.2.3` → `1.2.4`
---
## Problem
2026-06-21 02:51:51 +00:00
Users could not add Proxmox remotes when providing URLs with port numbers (e.g., `https://proxmox-server:8006` ). The error displayed was: ** "Failed to add remote"**
2026-06-14 09:36:44 +00:00
### Root Cause
The `RemotesPage.tsx` component incorrectly parsed URLs containing ports:
2026-06-21 02:51:51 +00:00
1. User enters: `https://proxmox-server:8006`
2. Code strips protocol → `proxmox-server:8006`
2026-06-14 09:36:44 +00:00
3. Code uses this **with port still attached** as hostname
4. Code **also** sends separate port parameter: `8006`
2026-06-21 02:51:51 +00:00
5. Backend receives malformed: `url: "proxmox-server:8006"` + `port: 8006`
2026-06-14 09:36:44 +00:00
6. Connection fails
---
## Solution
Added URL parsing logic to properly handle ports in both add and edit operations:
```typescript
// 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:
2026-06-21 02:51:51 +00:00
- ✅ Full URLs with ports: `https://proxmox-server:8006` → hostname: `proxmox-server` , port: `8006`
- ✅ Hostnames only: `proxmox-server` → hostname: `proxmox-server` , port: `8006` (default)
2026-06-14 09:36:44 +00:00
- ✅ 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
### Version Bump
- `package.json` : `1.2.3` → `1.2.4`
- `src-tauri/Cargo.toml` : `1.2.3` → `1.2.4`
- `src-tauri/tauri.conf.json` : `1.2.3` → `1.2.4`
- `src-tauri/Cargo.lock` : Updated
- `src-tauri/gen/schemas/macOS-schema.json` : Regenerated
---
## Commits
1. ** `666de6dd` ** - `fix(proxmox): parse port from URL when adding remote`
2. ** `58cbe525` ** - `chore: bump version to 1.2.4`
3. ** `0b409c32` ** - `chore: update Cargo.lock and schema for v1.2.4`
---
## Testing
### Completed
- [x] ESLint checks passed
- [x] Rust compilation successful
- [x] Database corruption fixed (removed 0-byte DB)
### Required Before Merge
2026-06-21 02:51:51 +00:00
- [ ] Manual test: Add remote with `https://proxmox-server:8006`
- [ ] Manual test: Add remote with `proxmox-server` (should use port 8006)
2026-06-14 09:36:44 +00:00
- [ ] 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
1. ✅ Branch pushed to origin
2. ✅ PR created (#100)
3. ⏳ Awaiting review
4. ⏳ Manual testing
5. ⏳ Merge to beta
6. ⏳ Test on beta branch
7. ⏳ Merge to master (if applicable)