chore(desktop-recordings): remove retired product and recall.ai secrets#66111
chore(desktop-recordings): remove retired product and recall.ai secrets#66111lucasheriques wants to merge 2 commits into
Conversation
👀 Auto-assigned reviewersThese soft owners were skipped because they only have minor changes here. Nothing blocks merge, so self-assign if you'd like a look:
Soft owners come from |
There was a problem hiding this comment.
Gates denied this PR because it touches authentication scopes, dependency toolchain files, and migration files — all on the deny-list for auto-approval. Additionally, the PR exceeds size limits (1665 lines across 33 files) and is classified as cross-cutting. While this appears to be a straightforward deletion of a retired product, the combination of scope changes, a Django migration deletion, and the author not being on the owning team (@PostHog/team-devex) requires human review.
|
Reviews (1): Last reviewed commit: "chore(desktop-recordings): remove retire..." | Re-trigger Greptile |
Graphite Automations"Add graphite merge queue" took an action on this PR • (06/25/26)2 labels were added to this PR based on Lucas Faria's automation. |
|
Size Change: -7.96 kB (-0.01%) Total Size: 64 MB 📦 View Changed
ℹ️ View Unchanged
|
|
✅ Visual changes approved by @lucasheriques — baseline updated in 1 changed. |
|
🎭 Playwright report · View test results →
These issues are not necessarily caused by your changes. |
The desktop recordings product is no longer shipped. Remove the entire product app (models, API, serializers, routes, admin, Recall.ai client, tests, generated frontend types) along with all core references: INSTALLED_APPS, spectacular enum overrides, the desktop_recording API scope, IDOR scoping baseline, semgrep allowlist, ruff config, and the tach module entry. Also remove the RECALL_AI_API_KEY/RECALL_AI_API_URL integration settings. The production table posthog_desktop_recording is intentionally left in place — no migration drops it. Code that reads/writes it is gone, so the table is now orphaned and can be dropped in a follow-up once the data is confirmed unneeded. Generated-By: PostHog Code Task-Id: 6c2fe75c-c19f-436a-80d6-e132d5a902bb
942e051 to
b812aa2
Compare
🕸️ Eager graphHow much code each root forces the browser to download and decode through static imports — the regression class total bundle size can't see.
✅ Largest files eagerly reachable from
|
| Size | File |
|---|---|
| 899.9 KiB | src/styles/global.scss |
| 609.0 KiB | public/hedgehog/burning-money-hog.png |
| 541.9 KiB | public/hedgehog/waving-hog.png |
| 448.2 KiB | public/hedgehog/stop-sign-hog.png |
| 362.0 KiB | public/hedgehog/phone-pair-hogs.png |
| 355.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 343.0 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 335.6 KiB | public/hedgehog/desk-hog.png |
| 323.2 KiB | public/hedgehog/3-bears-hogs.png |
| 298.6 KiB | src/lib/api.ts |
Largest files eagerly reachable from src/scenes/AuthenticatedShell.tsx
| Size | File |
|---|---|
| 899.9 KiB | src/styles/global.scss |
| 764.5 KiB | src/queries/validators.js |
| 609.0 KiB | public/hedgehog/burning-money-hog.png |
| 541.9 KiB | public/hedgehog/waving-hog.png |
| 448.2 KiB | public/hedgehog/stop-sign-hog.png |
| 362.0 KiB | public/hedgehog/phone-pair-hogs.png |
| 355.9 KiB | ../node_modules/.pnpm/@posthog+icons@0.37.3_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@posthog/icons/dist/posthog-icons.es.js |
| 343.0 KiB | src/taxonomy/core-filter-definitions-by-group.json |
| 335.6 KiB | public/hedgehog/desk-hog.png |
| 323.2 KiB | public/hedgehog/3-bears-hogs.png |
Posted automatically by check-eager-graph · sizes are input-source bytes from the esbuild metafile · part of #32479
|
⏭️ Skipped snapshot commit because branch advanced to The new commit will trigger its own snapshot update workflow. If you expected this workflow to succeed: This can happen due to concurrent commits. To get a fresh workflow run, either:
|
Problem
🪓🪓🪓 kill dead code
Changes
Removes the entire
products/desktop_recordings/app (models, API viewset, serializers, routes, admin, Recall.ai client, tests, generated frontend types) and every core reference to it:INSTALLED_APPS+ the twoSPECTACULAR_SETTINGSenum overrides (settings/web.py)RECALL_AI_API_KEY/RECALL_AI_API_URLintegration settings (settings/integrations.py)desktop_recordingAPI scope (scopes.py,frontend/src/types.ts,frontend/src/lib/scopes.tsx)products/ruff.tomlentry, and thetach.tomlmodule blockoauth-scopes.generated.ts; theservices/mcp/src/api/generated.tstypes will be regenerated by thecheck-openapi-typesCI jobThe production table
posthog_desktop_recordingis intentionally left in place — there is no migration dropping it. All code that read or wrote it is gone, so the table is now orphaned and can be dropped in a follow-up once the data is confirmed unneeded. This avoids any irreversible data loss and any rolling-deploy window where in-flight requests hit a dropped table.Nothing else in the codebase imported from this product, so there are no downstream breakages.
How did you test this code?
I'm an agent (PostHog Code), directed by the PR assignee. I did not perform manual testing. Automated checks run locally:
ruff checkon the edited settings/scopes files — passedty check) — passedtach.tomlvalidated as parseable TOMLdesktop_recording/DesktopRecording/recall.ai(outside the CI-regeneratedapi/generated.ts)Automatic notifications
🤖 Agent context
Autonomy: Human-driven (agent-assisted)
Authored with PostHog Code (Claude Opus). Skill invoked:
/django-migrations— used to confirm the table-handling strategy. The key decision was what to do with the production table: the options were a single PR with aDROP TABLEmigration, a phased drop, or removing code while leaving the table. We chose to leave the table to eliminate any data-loss and deploy-ordering risk, treating the actual drop as an optional follow-up. The MCP OpenAPI types are left for CI'scheck-openapi-typesjob to regenerate and auto-commit rather than booting the full dev stack locally.Follow-ups for the human:
.env, now scrubbed) and removeRECALL_AI_API_KEY/RECALL_AI_API_URLfrom any production/staging environment config.DROP TABLE posthog_desktop_recordingonce the stored recordings/transcripts are confirmed unneeded.Created with PostHog Code