fix: strip trailing slashes from server URL for consistency in config updates

This commit is contained in:
2025-06-19 22:04:53 +00:00
committed by GitHub
parent 77614fed97
commit fa5acd5a10
2 changed files with 16 additions and 3 deletions

View File

@@ -48,7 +48,12 @@ export const NavidromeConfigProvider: React.FC<NavidromeConfigProviderProps> = (
}, [config]); }, [config]);
const updateConfig = (newConfig: NavidromeConfig) => { const updateConfig = (newConfig: NavidromeConfig) => {
setConfig(newConfig); // Strip trailing slashes from server URL for consistency
const cleanConfig = {
...newConfig,
serverUrl: newConfig.serverUrl.replace(/\/+$/, '')
};
setConfig(cleanConfig);
setIsConnected(false); setIsConnected(false);
}; };

View File

@@ -41,8 +41,11 @@ const SettingsPage = () => {
setIsTesting(true); setIsTesting(true);
try { try {
// Strip trailing slash from server URL before testing
const cleanServerUrl = formData.serverUrl.replace(/\/+$/, '');
const success = await testConnection({ const success = await testConnection({
serverUrl: formData.serverUrl, serverUrl: cleanServerUrl,
username: formData.username, username: formData.username,
password: formData.password password: formData.password
}); });
@@ -80,12 +83,17 @@ const SettingsPage = () => {
return; return;
} }
// Strip trailing slash from server URL to ensure consistency
const cleanServerUrl = formData.serverUrl.replace(/\/+$/, '');
updateConfig({ updateConfig({
serverUrl: formData.serverUrl, serverUrl: cleanServerUrl,
username: formData.username, username: formData.username,
password: formData.password password: formData.password
}); });
// Update form data to reflect the cleaned URL
setFormData(prev => ({ ...prev, serverUrl: cleanServerUrl }));
setHasUnsavedChanges(false); setHasUnsavedChanges(false);
toast({ toast({
title: "Settings Saved", title: "Settings Saved",