feat: add bandwidth limiting support to file transfers with UI controls
Release / release (pull_request) Successful in 1m7s

This commit is contained in:
2026-06-09 14:47:23 +01:00
parent 93ad8c9321
commit eb87e74720
6 changed files with 57 additions and 14 deletions
+6
View File
@@ -185,6 +185,12 @@
</label>
</div>
<div class="form-group" style="display: flex; align-items: center; gap: 0.5rem; flex-direction: row; margin-bottom: 1.5rem;">
<label style="margin: 0; width: 120px;">Max Speed (MB/s)</label>
<input type="number" id="transfer-limit" value="0" min="0" style="width: 80px;">
<span style="font-size: 0.75rem; color: var(--text-secondary);">(0 = Unlimited)</span>
</div>
<div style="display: flex; justify-content: flex-end; gap: 1rem;">
<button class="btn" style="background: transparent; color: var(--text-primary); border-color: var(--border);" onclick="closeTransferModal()">Cancel</button>
<button class="btn btn-primary" onclick="executeTransfer()">Transfer Here</button>
+4 -1
View File
@@ -529,6 +529,7 @@ window.openTransferModal = () => {
window.closeTransferModal = () => {
document.getElementById('transfer-modal').style.display = 'none';
document.getElementById('transfer-verify').checked = false;
document.getElementById('transfer-limit').value = "0";
};
window.loadTransferDestRoot = () => {
@@ -583,7 +584,9 @@ window.loadTransferDestDirectory = async (connId, path) => {
window.executeTransfer = async () => {
if (selectedItems.length === 0) return;
try {
await TransferItems(currentConn, transferDestConn, transferDestPath, selectedItems);
const verify = document.getElementById('transfer-verify').checked;
const limit = parseInt(document.getElementById('transfer-limit').value, 10) || 0;
await TransferItems(currentConn, transferDestConn, transferDestPath, selectedItems, verify, limit);
closeTransferModal();
showTransfers();
selectedItems = [];