diff --git a/core/installer/welcome/appmanager-tmpl/app.html b/core/installer/welcome/appmanager-tmpl/app.html
index b97a187..5ce3534 100644
--- a/core/installer/welcome/appmanager-tmpl/app.html
+++ b/core/installer/welcome/appmanager-tmpl/app.html
@@ -1,7 +1,7 @@
 {{ define "task" }}
 {{ range . }}
 <li aria-busy="{{ eq .Status 1 }}">
-	{{ if eq .Status 3 }}<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none"><circle cx="12" cy="12" r="8" fill="green" fill-opacity="0.25"/><path stroke="green" stroke-width="1.2" d="m8.5 11l2.894 2.894a.15.15 0 0 0 .212 0L19.5 6"/><path stroke="green" stroke-linecap="round" d="M19.358 10.547a7.5 7.5 0 1 1-3.608-5.042"/></g></svg>{{ end }}{{ .Title }}{{ if .Err }} - {{ .Err.Error }} {{ end }}
+	{{ if eq .Status 3 }}<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="black" d="M21 7L9 19l-5.5-5.5l1.41-1.41L9 16.17L19.59 5.59z"/></svg>{{ end }}{{ .Title }}{{ if .Err }} - {{ .Err.Error }} {{ end }}
 	{{ if .Subtasks }}
 	<ul>
    		{{ template "task" .Subtasks }}
@@ -104,7 +104,6 @@
     <ul class="progress">
       {{ template "task" .Task.Subtasks }}
     </ul>
-    <script>setTimeout(() => location.reload(), 3000);</script>
     {{ end }}
   {{ end }}
 
@@ -228,14 +227,40 @@
      {{ end }}
  }
 
- document.getElementById("config-form").addEventListener("submit", (event) => {
-     event.preventDefault();
-     if (event.submitter.id === "submit") {
-         install();
-     } if (event.submitter.id === "uninstall") {
-         uninstall();
-     }
- });
+ const configForm = document.getElementById("config-form");
+ if (configForm) {
+	 configForm.addEventListener("submit", (event) => {
+		 event.preventDefault();
+		 if (event.submitter.id === "submit") {
+			 install();
+		 } if (event.submitter.id === "uninstall") {
+			 uninstall();
+		 }
+	 });
+ }
+
+ {{ if .Task }}
+ async function refresh() {
+	 try {
+		 const resp = await fetch(window.location.href);
+		 if (resp.ok) {
+			 var tmp = document.createElement("html");
+			 tmp.innerHTML = await resp.text();
+			 const progress = tmp.getElementsByClassName("progress")[0];
+			 if (progress) {
+				 document.getElementsByClassName("progress")[0].innerHTML = progress.innerHTML;
+			 } else {
+				 location.reload();
+			 }
+		 }
+	 } catch (error) {
+		 console.log(error);
+	 } finally {
+		 setTimeout(refresh, 3000);
+	 }
+ }
+ setTimeout(refresh, 3000);
+ {{ end }}
 </script>
 
 {{end}}
diff --git a/core/installer/welcome/appmanager-tmpl/base.html b/core/installer/welcome/appmanager-tmpl/base.html
index f1a26b2..759ce87 100644
--- a/core/installer/welcome/appmanager-tmpl/base.html
+++ b/core/installer/welcome/appmanager-tmpl/base.html
@@ -3,7 +3,7 @@
 	<head>
 		<meta charset="utf-8" />
         <link rel="stylesheet" href="/static/pico.2.0.6.min.css">
-        <link rel="stylesheet" type="text/css" href="/static/appmanager.css?v=0.0.1">
+        <link rel="stylesheet" type="text/css" href="/static/appmanager.css?v=0.0.2">
 		<meta name="viewport" content="width=device-width, initial-scale=1" />
 	</head>
 	<body>
diff --git a/core/installer/welcome/appmanager-tmpl/index.html b/core/installer/welcome/appmanager-tmpl/index.html
index 8916a9e..356dc28 100644
--- a/core/installer/welcome/appmanager-tmpl/index.html
+++ b/core/installer/welcome/appmanager-tmpl/index.html
@@ -1,6 +1,6 @@
 {{ define "header" }}
   <form class="search-bar">
-      <input type="search" placeholder="Search" />
+      <input name="search" type="search" placeholder="Search" />
   </form>
 {{ end }}
 
diff --git a/core/installer/welcome/static/appmanager.css b/core/installer/welcome/static/appmanager.css
index d5015f5..2f3564f 100644
--- a/core/installer/welcome/static/appmanager.css
+++ b/core/installer/welcome/static/appmanager.css
@@ -220,3 +220,15 @@
   margin: 0;
   padding: 0;
 }
+
+.progress {
+  padding-left: 0;
+}
+
+.progress ul {
+  padding-left: 15px;
+}
+
+.progress li {
+  list-style-type: none;
+}
diff --git a/core/installer/welcome/static/main.css b/core/installer/welcome/static/main.css
index 76485a1..7c9f8f5 100644
--- a/core/installer/welcome/static/main.css
+++ b/core/installer/welcome/static/main.css
@@ -114,10 +114,6 @@
 	color: #3a3a3a;
 }
 
-/* .progress { */
-/* 	padding-top: 10px; */
-/* } */
-
 .progress {
 	padding-left: 0;
 }
