diff --git a/app/templates/settings.html b/app/templates/settings.html
index 6e8d413..f86bae4 100644
--- a/app/templates/settings.html
+++ b/app/templates/settings.html
@@ -799,12 +799,26 @@ document.addEventListener('alpine:init', function() {
} catch(e) {}
},
closeSettings() {
- // Go back to previous page, skipping any hash-only navigation
- if (document.referrer && document.referrer.includes('/settings')) {
- // Came from another settings tab — use history until we leave settings
+ // Refresh parent page after settings changes, then navigate back
+ if (window.opener && !window.opener.closed) {
+ window.opener.location.reload();
+ window.close();
+ return;
+ }
+ // If navigated directly to settings, redirect to workspaces (forces refresh)
+ if (!document.referrer || document.referrer === window.location.href) {
+ window.location.href = '/workspaces?ts=' + Date.now();
+ return;
+ }
+ // Go back and force refresh
+ var prev = document.referrer;
+ if (prev && prev.includes('/settings')) {
+ // Came from another settings tab — go back two steps then refresh
history.go(-2);
+ setTimeout(function() { window.location.reload(); }, 100);
} else {
history.back();
+ setTimeout(function() { window.location.reload(); }, 100);
}
},
};