diff --git a/site/src/modules/resources/AgentDevcontainerCard.tsx b/site/src/modules/resources/AgentDevcontainerCard.tsx index 4891c632bbc2a..65b32593c1418 100644 --- a/site/src/modules/resources/AgentDevcontainerCard.tsx +++ b/site/src/modules/resources/AgentDevcontainerCard.tsx @@ -12,13 +12,14 @@ import { HelpTooltipTitle, HelpTooltipTrigger, } from "components/HelpTooltip/HelpTooltip"; +import { Spinner } from "components/Spinner/Spinner"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "components/Tooltip/Tooltip"; -import { ExternalLinkIcon, Loader2Icon } from "lucide-react"; +import { ExternalLinkIcon } from "lucide-react"; import type { FC } from "react"; import { useEffect, useState } from "react"; import { portForwardURL } from "utils/portForward"; @@ -95,7 +96,8 @@ export const AgentDevcontainerCard: FC = ({

- {container.name} + dev container:{" "} + {container.name}

{container.devcontainer_dirty && ( @@ -117,18 +119,11 @@ export const AgentDevcontainerCard: FC = ({ { + spyOn(API, "getAgentContainers").mockResolvedValue({ + containers: [M.MockWorkspaceAgentContainer], + }); + }, +}; diff --git a/site/src/modules/resources/AgentRow.tsx b/site/src/modules/resources/AgentRow.tsx index 407c8c1bd84c6..d9fa0663423b4 100644 --- a/site/src/modules/resources/AgentRow.tsx +++ b/site/src/modules/resources/AgentRow.tsx @@ -1,5 +1,4 @@ import type { Interpolation, Theme } from "@emotion/react"; -import Button from "@mui/material/Button"; import Collapse from "@mui/material/Collapse"; import Divider from "@mui/material/Divider"; import Skeleton from "@mui/material/Skeleton"; @@ -12,6 +11,7 @@ import type { WorkspaceApp, } from "api/typesGenerated"; import { isAxiosError } from "axios"; +import { Button } from "components/Button/Button"; import { DropdownArrow } from "components/DropdownArrow/DropdownArrow"; import { DropdownMenu, @@ -71,7 +71,7 @@ export const AgentRow: FC = ({ const appSections = organizeAgentApps(agent.apps); const hasAppsToDisplay = !browser_only || appSections.some((it) => it.apps.length > 0); - const shouldDisplayApps = + const shouldDisplayAgentApps = (agent.status === "connected" && hasAppsToDisplay) || agent.status === "connecting"; const hasVSCodeApp = @@ -160,6 +160,14 @@ export const AgentRow: FC = ({ }, }); + // This is used to show the parent apps of the devcontainer. + const [showParentApps, setShowParentApps] = useState(false); + + let shouldDisplayAppsSection = shouldDisplayAgentApps; + if (containers && containers.length > 0 && !showParentApps) { + shouldDisplayAppsSection = false; + } + return ( = ({ )}
-
+
+ {containers && containers.length > 0 && ( + + )} + {!browser_only && agent.display_apps.includes("ssh_helper") && ( = ({ )} - {agent.status === "connected" && ( + {shouldDisplayAppsSection && (
- {shouldDisplayApps && ( + {shouldDisplayAgentApps && ( <> {showVSCode && ( = ({ diff --git a/site/src/modules/resources/SSHButton/SSHButton.tsx b/site/src/modules/resources/SSHButton/SSHButton.tsx index b1e5163207167..cd8f415f791fb 100644 --- a/site/src/modules/resources/SSHButton/SSHButton.tsx +++ b/site/src/modules/resources/SSHButton/SSHButton.tsx @@ -35,13 +35,9 @@ export const AgentSSHButton: FC = ({ return ( - pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy