diff --git a/frontend/__snapshots__/scenes-other-settings--settings-project--dark.png b/frontend/__snapshots__/scenes-other-settings--settings-project--dark.png
index 3c3f37e66ec31..7e50137a13381 100644
Binary files a/frontend/__snapshots__/scenes-other-settings--settings-project--dark.png and b/frontend/__snapshots__/scenes-other-settings--settings-project--dark.png differ
diff --git a/frontend/__snapshots__/scenes-other-settings--settings-project--light.png b/frontend/__snapshots__/scenes-other-settings--settings-project--light.png
index 015b360886f5b..fca36f690b5b4 100644
Binary files a/frontend/__snapshots__/scenes-other-settings--settings-project--light.png and b/frontend/__snapshots__/scenes-other-settings--settings-project--light.png differ
diff --git a/frontend/src/layout/navigation-3000/sidepanel/panels/SidePanelSupport.tsx b/frontend/src/layout/navigation-3000/sidepanel/panels/SidePanelSupport.tsx
index a4d98d004ec8a..1868dc2132871 100644
--- a/frontend/src/layout/navigation-3000/sidepanel/panels/SidePanelSupport.tsx
+++ b/frontend/src/layout/navigation-3000/sidepanel/panels/SidePanelSupport.tsx
@@ -14,9 +14,10 @@ import {
import { LemonButton, Link } from '@posthog/lemon-ui'
import { useActions, useValues } from 'kea'
import { SupportForm } from 'lib/components/Support/SupportForm'
-import { supportLogic } from 'lib/components/Support/supportLogic'
+import { getPublicSupportSnippet, supportLogic } from 'lib/components/Support/supportLogic'
import React from 'react'
import { billingLogic } from 'scenes/billing/billingLogic'
+import { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'
import { urls } from 'scenes/urls'
import { userLogic } from 'scenes/userLogic'
@@ -145,6 +146,9 @@ export const SidePanelSupport = (): JSX.Element => {
const { hasAvailableFeature } = useValues(userLogic)
const { openEmailForm, closeEmailForm } = useActions(supportLogic)
const { isEmailFormOpen } = useValues(supportLogic)
+ const { preflight } = useValues(preflightLogic)
+ const { user } = useValues(userLogic)
+ const region = preflight?.region
const theLogic = supportLogic({ onClose: () => closeSidePanel(SidePanelTab.Support) })
const { title } = useValues(theLogic)
@@ -231,7 +235,9 @@ export const SidePanelSupport = (): JSX.Element => {
}
targetBlank
>
@@ -264,7 +270,9 @@ export const SidePanelSupport = (): JSX.Element => {
}
targetBlank
>
diff --git a/frontend/src/lib/components/Support/supportLogic.ts b/frontend/src/lib/components/Support/supportLogic.ts
index 3201e31fc5289..3388cd3af5e3c 100644
--- a/frontend/src/lib/components/Support/supportLogic.ts
+++ b/frontend/src/lib/components/Support/supportLogic.ts
@@ -16,6 +16,20 @@ import { Region, SidePanelTab, TeamType, UserType } from '~/types'
import type { supportLogicType } from './supportLogicType'
import { openSupportModal } from './SupportModal'
+export function getPublicSupportSnippet(region: Region | null | undefined, user: UserType | null): string {
+ if (!user || !region) {
+ return ''
+ }
+
+ return `Session: ${posthog
+ .get_session_replay_url({ withTimestamp: true, timestampLookBack: 30 })
+ .replace(window.location.origin + '/replay/', 'http://go/session/')} ${
+ !window.location.href.includes('settings/project') ? `(at ${window.location.href})` : ''
+ }\n${`Admin: ${`http://go/adminOrg${region}/${user.organization?.id}`} (Project: ${
+ teamLogic.values.currentTeamId
+ })`}\nSentry: ${`http://go/sentry${region}/${user.team?.id}`}`
+}
+
function getSessionReplayLink(): string {
const link = posthog
.get_session_replay_url({ withTimestamp: true, timestampLookBack: 30 })
diff --git a/frontend/src/scenes/settings/project/ProjectSettings.tsx b/frontend/src/scenes/settings/project/ProjectSettings.tsx
index 99a71270d299f..013e66f4417d4 100644
--- a/frontend/src/scenes/settings/project/ProjectSettings.tsx
+++ b/frontend/src/scenes/settings/project/ProjectSettings.tsx
@@ -6,11 +6,13 @@ import { AuthorizedUrlListType } from 'lib/components/AuthorizedUrlList/authoriz
import { CodeSnippet } from 'lib/components/CodeSnippet'
import { JSBookmarklet } from 'lib/components/JSBookmarklet'
import { JSSnippet } from 'lib/components/JSSnippet'
+import { getPublicSupportSnippet } from 'lib/components/Support/supportLogic'
import { IconRefresh } from 'lib/lemon-ui/icons'
import { Link } from 'lib/lemon-ui/Link'
import { useState } from 'react'
import { preflightLogic } from 'scenes/PreflightCheck/preflightLogic'
import { isAuthenticatedTeam, teamLogic } from 'scenes/teamLogic'
+import { userLogic } from 'scenes/userLogic'
import { TimezoneConfig } from './TimezoneConfig'
import { WeekStartConfig } from './WeekStartConfig'
@@ -90,6 +92,7 @@ export function ProjectVariables(): JSX.Element {
const { currentTeam, isTeamTokenResetAvailable } = useValues(teamLogic)
const { resetToken } = useActions(teamLogic)
const { preflight } = useValues(preflightLogic)
+ const { user } = useValues(userLogic)
const region = preflight?.region
const openDialog = (): void => {
@@ -152,6 +155,17 @@ export function ProjectVariables(): JSX.Element {
{`${region} Cloud`}
) : null}
+ {region && user ? (
+
+
+ Debug information
+
+
Include this snippet when opening a Feature request or Bug report on GitHub.
+
+ {getPublicSupportSnippet(region, user)}
+
+
+ ) : null}
)
}