fix: sanitize sync error messages in frontend, limit displayed length
This commit is contained in:
@@ -16,6 +16,14 @@
|
|||||||
let showResetKeyConfirm = false
|
let showResetKeyConfirm = false
|
||||||
let connectionOk = null
|
let connectionOk = null
|
||||||
|
|
||||||
|
function sanitizeError(msg) {
|
||||||
|
if (!msg) return 'Unknown error'
|
||||||
|
let s = String(msg)
|
||||||
|
s = s.replace(/<[^>]+>/g, '')
|
||||||
|
if (s.length > 200) s = s.substring(0, 200) + '...'
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
async function backendCall(method, ...args) {
|
async function backendCall(method, ...args) {
|
||||||
if (api && api.backend && typeof api.backend.call === 'function') {
|
if (api && api.backend && typeof api.backend.call === 'function') {
|
||||||
return await api.backend.call(method, ...args)
|
return await api.backend.call(method, ...args)
|
||||||
@@ -47,7 +55,7 @@
|
|||||||
resultMsg = 'connection ok'
|
resultMsg = 'connection ok'
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
connectionOk = false
|
connectionOk = false
|
||||||
resultMsg = 'connection failed: ' + String(e)
|
resultMsg = 'connection failed: ' + sanitizeError(e.message || e)
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
@@ -63,7 +71,7 @@
|
|||||||
password = ''
|
password = ''
|
||||||
await load()
|
await load()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
errorMsg = String(e)
|
errorMsg = sanitizeError(e.message || e)
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
@@ -93,7 +101,7 @@
|
|||||||
resultKind = warning ? 'warning' : ''
|
resultKind = warning ? 'warning' : ''
|
||||||
await load()
|
await load()
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
errorMsg = String(e)
|
errorMsg = sanitizeError(e.message || e)
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
@@ -107,7 +115,7 @@
|
|||||||
resultMsg = 'settings saved'
|
resultMsg = 'settings saved'
|
||||||
resultKind = ''
|
resultKind = ''
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
errorMsg = String(e)
|
errorMsg = sanitizeError(e.message || e)
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
@@ -123,7 +131,7 @@
|
|||||||
resultMsg = autoSync ? 'auto-sync enabled' : 'auto-sync disabled'
|
resultMsg = autoSync ? 'auto-sync enabled' : 'auto-sync disabled'
|
||||||
resultKind = ''
|
resultKind = ''
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
errorMsg = String(e)
|
errorMsg = sanitizeError(e.message || e)
|
||||||
}
|
}
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
@@ -140,7 +148,7 @@
|
|||||||
await backendCall('SyncDisconnect')
|
await backendCall('SyncDisconnect')
|
||||||
resultMsg = 'disconnected'
|
resultMsg = 'disconnected'
|
||||||
await load()
|
await load()
|
||||||
} catch (e) { errorMsg = String(e) }
|
} catch (e) { errorMsg = sanitizeError(e.message || e) }
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -156,7 +164,7 @@
|
|||||||
await backendCall('ResetSyncKey')
|
await backendCall('ResetSyncKey')
|
||||||
resultMsg = 'key reset'
|
resultMsg = 'key reset'
|
||||||
await load()
|
await load()
|
||||||
} catch (e) { errorMsg = String(e) }
|
} catch (e) { errorMsg = sanitizeError(e.message || e) }
|
||||||
loading = false
|
loading = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user