diff --git a/site/htmlTemplates/index.html b/site/htmlTemplates/index.html
index 1fb055a67bb95..90cdd483aa79c 100644
--- a/site/htmlTemplates/index.html
+++ b/site/htmlTemplates/index.html
@@ -22,9 +22,14 @@
data-statuscode="{{ .APIResponse.StatusCode }}"
data-message="{{ .APIResponse.Message }}"
/>
-
-
-
+
+
+
diff --git a/site/src/pages/WorkspacePage/WorkspacePage.tsx b/site/src/pages/WorkspacePage/WorkspacePage.tsx
index 7dfbac41e803c..9a87398707711 100644
--- a/site/src/pages/WorkspacePage/WorkspacePage.tsx
+++ b/site/src/pages/WorkspacePage/WorkspacePage.tsx
@@ -10,6 +10,7 @@ import { FullScreenLoader } from "../../components/Loader/FullScreenLoader"
import { Workspace } from "../../components/Workspace/Workspace"
import { firstOrItem } from "../../util/array"
import { pageTitle } from "../../util/page"
+import { getFaviconByStatus } from "../../util/workspace"
import { selectUser } from "../../xServices/auth/authSelectors"
import { XServiceContext } from "../../xServices/StateContext"
import { workspaceMachine } from "../../xServices/workspace/workspaceXService"
@@ -50,10 +51,13 @@ export const WorkspacePage: React.FC = () => {
} else if (!workspace) {
return
} else {
+ const favicon = getFaviconByStatus(workspace.latest_build)
return (
<>
{pageTitle(`${workspace.owner_name}/${workspace.name}`)}
+
+
{
+ const status = getWorkspaceStatus(build)
+ switch (status) {
+ case undefined:
+ return "favicon"
+ case "started":
+ return "favicon-success"
+ case "starting":
+ return "favicon-running"
+ case "stopping":
+ return "favicon-running"
+ case "stopped":
+ return "favicon"
+ case "deleting":
+ return "favicon"
+ case "deleted":
+ return "favicon"
+ case "canceling":
+ return "favicon-warning"
+ case "canceled":
+ return "favicon"
+ case "error":
+ return "favicon-error"
+ case "queued":
+ return "favicon"
+ }
+ throw new Error("unknown status " + status)
+}
diff --git a/site/static/favicon.png b/site/static/favicon.png
deleted file mode 100644
index ebb0c8c8062b5..0000000000000
Binary files a/site/static/favicon.png and /dev/null differ
diff --git a/site/static/favicon.svg b/site/static/favicon.svg
deleted file mode 100644
index 015e8ebfc7879..0000000000000
--- a/site/static/favicon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/site/static/favicons/favicon-error.png b/site/static/favicons/favicon-error.png
new file mode 100644
index 0000000000000..bfa8e566e018d
Binary files /dev/null and b/site/static/favicons/favicon-error.png differ
diff --git a/site/static/favicons/favicon-error.svg b/site/static/favicons/favicon-error.svg
new file mode 100644
index 0000000000000..01eb0927661cb
--- /dev/null
+++ b/site/static/favicons/favicon-error.svg
@@ -0,0 +1,4 @@
+
diff --git a/site/static/favicons/favicon-running.png b/site/static/favicons/favicon-running.png
new file mode 100644
index 0000000000000..97698d87d5ed0
Binary files /dev/null and b/site/static/favicons/favicon-running.png differ
diff --git a/site/static/favicons/favicon-running.svg b/site/static/favicons/favicon-running.svg
new file mode 100644
index 0000000000000..bb8e2ecaecefe
--- /dev/null
+++ b/site/static/favicons/favicon-running.svg
@@ -0,0 +1,4 @@
+
diff --git a/site/static/favicons/favicon-success.png b/site/static/favicons/favicon-success.png
new file mode 100644
index 0000000000000..dcb8a37844400
Binary files /dev/null and b/site/static/favicons/favicon-success.png differ
diff --git a/site/static/favicons/favicon-success.svg b/site/static/favicons/favicon-success.svg
new file mode 100644
index 0000000000000..7b146d31c9fe1
--- /dev/null
+++ b/site/static/favicons/favicon-success.svg
@@ -0,0 +1,4 @@
+
diff --git a/site/static/favicons/favicon-warning.png b/site/static/favicons/favicon-warning.png
new file mode 100644
index 0000000000000..e15e126acc3b1
Binary files /dev/null and b/site/static/favicons/favicon-warning.png differ
diff --git a/site/static/favicons/favicon-warning.svg b/site/static/favicons/favicon-warning.svg
new file mode 100644
index 0000000000000..18dcf60cf13e3
--- /dev/null
+++ b/site/static/favicons/favicon-warning.svg
@@ -0,0 +1,4 @@
+
diff --git a/site/static/favicons/favicon.png b/site/static/favicons/favicon.png
new file mode 100644
index 0000000000000..e71c650d80ce0
Binary files /dev/null and b/site/static/favicons/favicon.png differ
diff --git a/site/static/favicons/favicon.svg b/site/static/favicons/favicon.svg
new file mode 100644
index 0000000000000..2c1867d71575d
--- /dev/null
+++ b/site/static/favicons/favicon.svg
@@ -0,0 +1,8 @@
+