feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(backend): add install_id to PostHog events - #880

Merged
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id
Feb 12, 2026
Merged

feat(backend): add install_id to PostHog events#880
brendan-kellam merged 3 commits into
mainfrom
brendan/posthog-install-id

Conversation

@brendan-kellam

@brendan-kellambrendan-kellam commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds SOURCEBOT_INSTALL_ID to PostHog event properties in the backend for better tracking and analytics
  • Removes unused env import from web posthogProvider

Test plan

  • Verify PostHog events include install_id property when SOURCEBOT_INSTALL_ID env var is set
  • Confirm no TypeScript errors in affected files

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features

    • Added install_id field to PostHog event properties for enhanced analytics tracking and identification.
  • Documentation

    • Updated CHANGELOG with details on the new install_id field added to event properties.
    • Clarified guidelines for proper placement of new changelog entries in documentation workflows.
  • Chores

    • Removed unused imports for code cleanup.

Include SOURCEBOT_INSTALL_ID in PostHog event properties for better
tracking and analytics. Also removes unused import in web posthogProvider.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions

This comment has been minimized.

@coderabbitai

coderabbitaiBot commented Feb 12, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR adds install_id field tracking to PostHog events by augmenting the properties sent in posthog.capture calls with the SOURCEBOT_INSTALL_ID environment variable. Changes include instrumentation in the backend, documentation updates in the changelog with clarified entry placement guidance, and removal of an unused import in the web layer.

Changes

Cohort / File(s)Summary
PostHog Instrumentation
packages/backend/src/posthog.ts
Added install_id property to posthog.capture event payload, sourced from env.SOURCEBOT_INSTALL_ID.
Documentation & Cleanup
CHANGELOG.md, CLAUDE.md, packages/web/src/app/posthogProvider.tsx
Updated changelog with new install_id field documentation; clarified changelog entry placement rule; removed unused import from web provider.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • sourcebot#680: Modifies PostHog event payload construction in the same posthog.ts file with changes to sourcebot_version sourcing.
  • sourcebot#878: Introduces repo index/job events to PostHog tracking, which this PR directly enhances by adding install_id field to those events.
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check nameStatusExplanationResolution
Docstring Coverage⚠️ WarningDocstring coverage is 0.00% which is insufficient. The required threshold is 80.00%.Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check nameStatusExplanation
Description Check✅ PassedCheck skipped - CodeRabbit’s high-level summary is enabled.
Title check✅ PassedThe title 'feat(backend): add install_id to PostHog events' directly and accurately summarizes the main change: adding install_id to PostHog events in the backend.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch brendan/posthog-install-id

No actionable comments were generated in the recent review. 🎉


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

brendan-kellamand others added 2 commits February 11, 2026 17:12
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move #880 changelog entry to bottom of Added section. Update CLAUDE.md
to note that new changelog entries should be placed at the bottom of
their section.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@brendan-kellam
brendan-kellam merged commit bfb4311 into mainFeb 12, 2026
9 checks passed
@brendan-kellam
brendan-kellam deleted the brendan/posthog-install-id branch February 12, 2026 01:16
@github-actionsgithub-actionsBot mentioned this pull request Feb 12, 2026
Sign up for freeto 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

@brendan-kellam