fix: race condition closing error feedback to early when next should appear

This commit is contained in:
Michael Czechowski
2025-05-19 22:13:42 +02:00
parent ed984a1d2e
commit ad875f7f75

View File

@@ -4,6 +4,7 @@
// Feedback elements cache // Feedback elements cache
let feedbackElement = null; let feedbackElement = null;
let feedbackTimeout = null;
/** /**
* Render the module list in the sidebar * Render the module list in the sidebar
@@ -105,12 +106,7 @@ export function showFeedback(isSuccess, message) {
} }
if (!isSuccess) { if (!isSuccess) {
setTimeout(() => { feedbackTimeout = setTimeout(clearFeedback, 3_000);
if (feedbackElement && feedbackElement.parentNode) {
feedbackElement.parentNode.removeChild(feedbackElement);
}
feedbackElement = null;
}, 5_000); // Remove feedback after 3 seconds
} }
} }
@@ -118,6 +114,10 @@ export function showFeedback(isSuccess, message) {
* Clear any existing feedback * Clear any existing feedback
*/ */
export function clearFeedback() { export function clearFeedback() {
if (feedbackTimeout) {
clearInterval(feedbackTimeout);
}
if (feedbackElement && feedbackElement.parentNode) { if (feedbackElement && feedbackElement.parentNode) {
feedbackElement.parentNode.removeChild(feedbackElement); feedbackElement.parentNode.removeChild(feedbackElement);
} }