feat(web): swap Sentry for Heap + GA4 on cli.deepgram.com#76
Merged
lukeocodes merged 2 commits intomainfrom May 9, 2026
Merged
feat(web): swap Sentry for Heap + GA4 on cli.deepgram.com#76lukeocodes merged 2 commits intomainfrom
lukeocodes merged 2 commits intomainfrom
Conversation
The CLI binary keeps Sentry — that's where errors and release-health sessions need to flow. The marketing site doesn't benefit from error monitoring, but it does benefit from product analytics, so: cli.deepgram.com → Heap (765739241) + Google Analytics 4 dg (Python CLI) → Sentry (unchanged) Removed: - @sentry/astro npm dep (14 transitive packages drop out of the lock) - @sentry/astro integration from web/astro.config.mjs - web/sentry.client.config.ts (entire file) Added to web/src/pages/index.astro <head>: - Heap snippet (cdn.us.heap-api.com) with tracking ID 765739241 - gtag.js snippet for GA4 The GA4 measurement ID is currently a placeholder (G-XXXXXXXXXX). Drop in the real one and I'll push. Build and lockfile regenerated cleanly. SENTRY_AUTH_TOKEN env var (used by the previous source-maps upload step in deploy-web workflows) is now unused — safe to remove from Fly secrets and from any GH workflow that sets it on the web deploy step. Leaving the workflow edits as a follow- up since I haven't traced every reference yet.
Merged
lukeocodes
pushed a commit
that referenced
this pull request
May 9, 2026
🤖 I have created a release *beep* *boop* --- <details><summary>0.2.24</summary> ## [0.2.24](v0.2.23...v0.2.24) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) * **telemetry:** track per-command usage via Sentry tags ([490b37e](490b37e)) * **telemetry:** turn on full Sentry observability for the CLI ([cc2c208](cc2c208)) * **web:** swap Sentry for Heap + GA4 on cli.deepgram.com ([e736528](e736528)) * **web:** swap Sentry for Heap + GA4 on cli.deepgram.com ([#76](#76)) ([b12a55b](b12a55b)) * **web:** wire real GA4 measurement ID G-TYPC1TBCKT ([a6468e4](a6468e4)) ### Bug Fixes * **telemetry:** explicitly start session after init ([8dd2843](8dd2843)) * **telemetry:** explicitly start session after init ([#74](#74)) ([ad75efa](ad75efa)) * uniform 'any arg = non-interactive' rule across all commands ([#78](#78)) ([6370f32](6370f32)) </details> <details><summary>deepctl-core: 0.2.12</summary> ## [0.2.12](deepctl-core-v0.2.11...deepctl-core-v0.2.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) * **telemetry:** track per-command usage via Sentry tags ([490b37e](490b37e)) ### Bug Fixes * uniform 'any arg = non-interactive' rule across all commands ([#78](#78)) ([6370f32](6370f32)) </details> <details><summary>deepctl-shared-utils: 0.1.12</summary> ## [0.1.12](deepctl-shared-utils-v0.1.11...deepctl-shared-utils-v0.1.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-telemetry: 0.0.4</summary> ## [0.0.4](deepctl-telemetry-v0.0.3...deepctl-telemetry-v0.0.4) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) * **telemetry:** turn on full Sentry observability for the CLI ([cc2c208](cc2c208)) ### Bug Fixes * **telemetry:** explicitly start session after init ([8dd2843](8dd2843)) * **telemetry:** explicitly start session after init ([#74](#74)) ([ad75efa](ad75efa)) </details> <details><summary>deepctl-cmd-login: 0.1.15</summary> ## [0.1.15](deepctl-cmd-login-v0.1.14...deepctl-cmd-login-v0.1.15) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) ### Bug Fixes * uniform 'any arg = non-interactive' rule across all commands ([#78](#78)) ([6370f32](6370f32)) </details> <details><summary>deepctl-cmd-debug-audio: 0.1.13</summary> ## [0.1.13](deepctl-cmd-debug-audio-v0.1.12...deepctl-cmd-debug-audio-v0.1.13) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-cmd-debug-browser: 0.1.12</summary> ## [0.1.12](deepctl-cmd-debug-browser-v0.1.11...deepctl-cmd-debug-browser-v0.1.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) ### Bug Fixes * uniform 'any arg = non-interactive' rule across all commands ([#78](#78)) ([6370f32](6370f32)) </details> <details><summary>deepctl-cmd-debug-network: 0.1.12</summary> ## [0.1.12](deepctl-cmd-debug-network-v0.1.11...deepctl-cmd-debug-network-v0.1.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-cmd-update: 0.2.5</summary> ## [0.2.5](deepctl-cmd-update-v0.2.4...deepctl-cmd-update-v0.2.5) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-cmd-plugin: 0.1.12</summary> ## [0.1.12](deepctl-cmd-plugin-v0.1.11...deepctl-cmd-plugin-v0.1.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-cmd-skills: 0.0.6</summary> ## [0.0.6](deepctl-cmd-skills-v0.0.5...deepctl-cmd-skills-v0.0.6) (2026-05-09) ### Bug Fixes * uniform 'any arg = non-interactive' rule across all commands ([#78](#78)) ([6370f32](6370f32)) </details> <details><summary>deepctl-cmd-listen: 0.0.13</summary> ## [0.0.13](deepctl-cmd-listen-v0.0.12...deepctl-cmd-listen-v0.0.13) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-cmd-completion: 0.0.3</summary> ## [0.0.3](deepctl-cmd-completion-v0.0.2...deepctl-cmd-completion-v0.0.3) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> <details><summary>deepctl-plugin-example: 0.1.12</summary> ## [0.1.12](deepctl-plugin-example-v0.1.11...deepctl-plugin-example-v0.1.12) (2026-05-09) ### Features * **telemetry:** full Sentry observability + per-command usage tags ([#75](#75)) ([0fe43d2](0fe43d2)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The CLI binary keeps Sentry (errors + release health). The marketing site doesn't need error monitoring but does benefit from product analytics, so swap it out:
cli.deepgram.com@sentry/astro)dg(Python binary)What landed
Removed:
@sentry/astrofromweb/package.json(14 transitive packages drop from the lock —package-lock.jsonshrinks by ~1900 lines)web/astro.config.mjsweb/sentry.client.config.ts(deleted)Added to
web/src/pages/index.astro<head>:cdn.us.heap-api.comwith tracking ID765739241G-TYPC1TBCKT(*.deepgram.comproperty — account266000242, property372400484)Verification
Build clean, both analytics scripts inlined into the rendered HTML, no Sentry artefacts left.
Loose end —
SENTRY_AUTH_TOKENis now unused on the web sideThe previous source-map upload step in the web deploy workflows pulled
SENTRY_AUTH_TOKENfrom secrets. With Sentry gone from the web side that env var is dead weight. Safe to remove from Fly secrets / GitHub Actions secrets that scope to the web deploys, but leaving the workflow edits as a follow-up — I haven't traced every reference yet, and unused secrets cause no functional issues.