diff --git a/site/src/modules/resources/AppLink/AppLink.stories.tsx b/site/src/modules/resources/AppLink/AppLink.stories.tsx index 2dbc377a0d591..744f2b4529c2c 100644 --- a/site/src/modules/resources/AppLink/AppLink.stories.tsx +++ b/site/src/modules/resources/AppLink/AppLink.stories.tsx @@ -151,3 +151,15 @@ export const InternalApp: Story = { agent: MockWorkspaceAgent, }, }; + +export const BlockingStartupScriptRunning: Story = { + args: { + workspace: MockWorkspace, + app: MockWorkspaceApp, + agent: { + ...MockWorkspaceAgent, + lifecycle_state: "starting", + startup_script_behavior: "blocking", + }, + }, +}; diff --git a/site/src/modules/resources/AppLink/AppLink.tsx b/site/src/modules/resources/AppLink/AppLink.tsx index 7042c879385d0..4e823bdc9acb4 100644 --- a/site/src/modules/resources/AppLink/AppLink.tsx +++ b/site/src/modules/resources/AppLink/AppLink.tsx @@ -94,19 +94,19 @@ export const AppLink: FC = ({ app, workspace, agent }) => { } if (!appsHost && app.subdomain) { canClick = false; - icon = ( - - ); + icon = ; primaryTooltip = "Your admin has not configured subdomain application access"; } if (fetchingSessionToken) { canClick = false; } + if ( + agent.lifecycle_state === "starting" && + agent.startup_script_behavior === "blocking" + ) { + canClick = false; + } const isPrivateApp = app.sharing_level === "owner";