Skip to content

feat(telemetry): add events for skills, SSH, GitHub issues, and browser preview#826

Merged
arnestrickmann merged 3 commits intomainfrom
emdash/edit-telemetry-85y
Feb 11, 2026
Merged

feat(telemetry): add events for skills, SSH, GitHub issues, and browser preview#826
arnestrickmann merged 3 commits intomainfrom
emdash/edit-telemetry-85y

Conversation

@arnestrickmann
Copy link
Contributor

Summary

  • Adds telemetry events for skills management (skill_installed, skill_uninstalled, skill_created, skill_detail_viewed, skills_view_opened)
  • Adds telemetry events for remote/SSH projects (remote_project_modal_opened, remote_project_connection_tested, remote_project_created)
  • Adds telemetry events for GitHub issue integration (github_issues_searched, github_issue_selected)
  • Adds task_created_with_issue event for tracking tasks linked to GitHub, Linear, or Jira issues
  • Adds missing browser_preview_opened event to browser toggle button

Changes

  • src/main/telemetry.ts: Register new event names in the TelemetryEvent union type
  • src/main/ipc/telemetryIpc.ts: Allowlist new events in RENDERER_ALLOWED_EVENTS
  • src/renderer/components/skills/useSkills.ts: Fire telemetry on skill install, uninstall, and detail view; fix catalog?.skills missing from useCallback deps
  • src/renderer/components/skills/SkillsView.tsx: Fire skill_created on successful custom skill creation
  • src/renderer/components/ssh/AddRemoteProjectModal.tsx: Fire telemetry on modal open and connection test
  • src/renderer/components/GitHubIssueSelector.tsx: Fire telemetry on issue search and selection
  • src/renderer/components/titlebar/BrowserToggleButton.tsx: Fire browser_preview_opened on click
  • src/renderer/hooks/useProjectManagement.tsx: Fire skills_view_opened when navigating to skills
  • src/renderer/lib/taskCreationService.ts: Fire task_created_with_issue for linked issues in both single and multi-agent task flows

@vercel
Copy link

vercel bot commented Feb 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment Feb 11, 2026 11:56pm

Request Review

@greptile-apps
Copy link

greptile-apps bot commented Feb 11, 2026

Greptile Overview

Greptile Summary

This PR extends the telemetry surface area by:

  • Adding new event names to the main-process TelemetryEvent union and renderer allowlist (skills, SSH remote projects, GitHub issue integration, browser preview open, and task creation with linked issues).
  • Emitting these events from renderer UI flows (skills install/uninstall/create/detail, remote project modal open + connection test, GitHub issue list/search + selection, skills view navigation, and task creation with issue sources).

The changes fit the existing architecture where renderer code calls captureTelemetry(...) (IPC to main), and the main process validates the event name against RENDERER_ALLOWED_EVENTS before forwarding to PostHog with property sanitization.

One functional issue: browser_preview_opened is emitted on every click of the browser toggle button, but that button uses browser.toggle(undefined) (a true toggle), so clicks that close the preview will still record an "opened" event.

Confidence Score: 4/5

  • Safe to merge after fixing a telemetry correctness bug in the browser preview toggle event.
  • Changes are mostly additive telemetry wiring with main-process allowlisting. One verified issue causes systematic misreporting: the browser toggle click always emits browser_preview_opened even when the click closes the preview due to toggle semantics.
  • src/renderer/components/titlebar/BrowserToggleButton.tsx

Important Files Changed

Filename Overview
src/main/ipc/telemetryIpc.ts Allowlisted new renderer telemetry events (skills, SSH remote projects, GitHub issues, browser preview, task_created_with_issue).
src/main/telemetry.ts Extended TelemetryEvent union with new event names; no behavior changes.
src/renderer/components/GitHubIssueSelector.tsx Added telemetry on issue list load and issue selection via dynamic import; no functional UI changes.
src/renderer/components/skills/SkillsView.tsx Added telemetry for custom skill creation success.
src/renderer/components/skills/useSkills.ts Added telemetry for install/uninstall/detail view; adjusted install callback deps.
src/renderer/components/ssh/AddRemoteProjectModal.tsx Added telemetry for remote project modal open and connection test result.
src/renderer/components/titlebar/BrowserToggleButton.tsx Added browser_preview_opened telemetry on click, but it currently fires even when the click closes the preview (toggle behavior).
src/renderer/hooks/useProjectManagement.tsx Added skills_view_opened telemetry when navigating to the Skills view.
src/renderer/lib/taskCreationService.ts Added task_created_with_issue telemetry for GitHub/Linear/Jira-linked tasks in single and multi-agent flows.

Sequence Diagram

sequenceDiagram
  participant UI as Renderer UI
  participant TC as telemetryClient (renderer)
  participant IPC as telemetryIpc (main)
  participant PH as PostHog capture

  Note over UI: Skills / SSH / GitHub / Browser / Task creation

  UI->>TC: captureTelemetry(event, props)
  TC->>IPC: ipcRenderer.invoke('telemetry:capture', {event, properties})
  IPC->>IPC: validate event in RENDERER_ALLOWED_EVENTS
  alt event == '$exception'
    IPC->>PH: captureException(error, props)
  else allowed
    IPC->>PH: capture(event, sanitizedProps)
  else not allowed
    IPC-->>TC: { success:false, error:'event_not_allowed' }
  end

  Note over UI: Examples in this PR
  UI->>TC: skill_created / skill_installed / skill_uninstalled
  UI->>TC: remote_project_modal_opened / remote_project_connection_tested
  UI->>TC: github_issues_searched / github_issue_selected
  UI->>TC: task_created_with_issue
  UI->>TC: browser_preview_opened
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

9 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

Address Greptile review: guard telemetry event behind !browser.isOpen
check so toggling the preview closed doesn't fire an "opened" event.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@arnestrickmann arnestrickmann merged commit 6896f01 into main Feb 11, 2026
3 checks passed
@arnestrickmann arnestrickmann deleted the emdash/edit-telemetry-85y branch February 12, 2026 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant