diff --git a/src/extension/Dockerfile b/src/extension/Dockerfile index 6c1de1d..0906199 100644 --- a/src/extension/Dockerfile +++ b/src/extension/Dockerfile @@ -27,7 +27,7 @@ LABEL org.opencontainers.image.title="Labs: AI Tools for Devs" \ org.opencontainers.image.description="Agentic workflows with Dockerized tools" \ org.opencontainers.image.vendor="Docker Inc" \ com.docker.desktop.extension.api.version="0.3.4" \ - com.docker.extension.screenshots='[{"alt":"screenshot of the extension UI", "url":"https://raw.githubusercontent.com/docker/labs-ai-tools-for-devs/main/src/extension/Screenshot1.png"}, {"alt":"screenshot of the extension output", "url":"https://raw.githubusercontent.com/docker/labs-ai-tools-for-devs/main/src/extension/screenshot2.png"}]' \ + com.docker.extension.screenshots='[{"alt":"screenshot of the extension UI", "url":"https://raw.githubusercontent.com/docker/labs-ai-tools-for-devs/main/src/extension/Screenshot1.png"}, {"alt":"screenshot of the extension output", "url":"https://raw.githubusercontent.com/docker/labs-ai-tools-for-devs/main/src/extension/Screenshot2.png"}]' \ com.docker.desktop.extension.icon="https://raw.githubusercontent.com/docker/labs-ai-tools-for-devs/main/src/extension/docker.svg" \ com.docker.extension.detailed-description="Run AI-powered workflows with Dockerized tools in Docker Desktop." \ com.docker.extension.publisher-url="https://www.docker.com/" \ diff --git a/src/extension/ui/src/App.tsx b/src/extension/ui/src/App.tsx index 5dde029..64d7df6 100644 --- a/src/extension/ui/src/App.tsx +++ b/src/extension/ui/src/App.tsx @@ -18,6 +18,9 @@ type RPCMessage = { // If you're running this React app in a browser, it won't work properly. const client = createDockerDesktopClient(); +const track = (event: string) => + client.extension.vm?.service?.post('/analytics/track', { event }); + const debounce = (fn: Function, ms: number) => { let timeout: NodeJS.Timeout; return function (...args: any) { @@ -97,6 +100,7 @@ export function App() { const delim = client.host.platform === 'win32' ? '\\' : '/'; const startPrompt = async () => { + track('start-prompt'); let output: RPCMessage[] = [] const updateOutput = (line: RPCMessage) => { if (line.method === 'functions') { @@ -182,6 +186,7 @@ export function App() { }, } }); + track('end-prompt'); } return ( @@ -249,6 +254,7 @@ export function App() { )}