mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-11 00:10:40 +00:00
Add user email and ID as URL parameters when opening the Contact Support link to improve support experience. Only includes user data when logged in. ## Summary Enhanced the Contact Support command to automatically pre-fill user email and ID in Zendesk support tickets, streamlining the support request process for authenticated users. ## Changes - **What**: - Added `useCurrentUser` composable to access authenticated user data in `useCoreCommands.ts` - Modified `Comfy.ContactSupport` command to append user email (`tf_anonymous_requester_email` and `tf_40029135130388`) and user ID (`tf_42515251051412`) as URL parameters when available - Maintained backward compatibility by only adding user parameters when user is logged in - Preserved existing `tf_42243568391700` parameter for distribution type (oss/ccloud) ## Review Focus - Verify that the URL parameters are correctly appended only when user is authenticated - Confirm that non-authenticated users still get the base support URL with just the distribution type parameter - Check that both Firebase auth and API key auth users have their information properly included Example URLs generated when you press on help locally (it will change automatically to ccloud on Cloud): - **Logged out**: `https://support.comfy.org/hc/en-us/requests/new?tf_42243568391700=oss` - **Logged in**: `https://support.comfy.org/hc/en-us/requests/new?tf_42243568391700=ccloud&tf_anonymous_requester_email=user@example.com&tf_40029135130388=user@example.com&tf_42515251051412=abc123xyz` ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6586-feat-pre-fill-user-info-in-Zendesk-support-link-2a26d73d36508171b428c634b310f68b) by [Unito](https://www.unito.io) --------- Co-authored-by: Alexander Brown <drjkl@comfy.org> Co-authored-by: bymyself <cbyrne@comfy.org>
44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { isCloud } from '@/platform/distribution/types'
|
|
|
|
/**
|
|
* Zendesk ticket form field IDs.
|
|
*/
|
|
const ZENDESK_FIELDS = {
|
|
/** Distribution tag (cloud vs OSS) */
|
|
DISTRIBUTION: 'tf_42243568391700',
|
|
/** User email (anonymous requester) */
|
|
ANONYMOUS_EMAIL: 'tf_anonymous_requester_email',
|
|
/** User email (authenticated) */
|
|
EMAIL: 'tf_40029135130388',
|
|
/** User ID */
|
|
USER_ID: 'tf_42515251051412'
|
|
} as const
|
|
|
|
const SUPPORT_BASE_URL = 'https://support.comfy.org/hc/en-us/requests/new'
|
|
|
|
/**
|
|
* Builds the support URL with optional user information for pre-filling.
|
|
* Users without login information will still get a valid support URL without pre-fill.
|
|
*
|
|
* @param params - User information to pre-fill in the support form
|
|
* @returns Complete Zendesk support URL with query parameters
|
|
*/
|
|
export function buildSupportUrl(params?: {
|
|
userEmail?: string | null
|
|
userId?: string | null
|
|
}): string {
|
|
const searchParams = new URLSearchParams({
|
|
[ZENDESK_FIELDS.DISTRIBUTION]: isCloud ? 'ccloud' : 'oss'
|
|
})
|
|
|
|
if (params?.userEmail) {
|
|
searchParams.append(ZENDESK_FIELDS.ANONYMOUS_EMAIL, params.userEmail)
|
|
searchParams.append(ZENDESK_FIELDS.EMAIL, params.userEmail)
|
|
}
|
|
if (params?.userId) {
|
|
searchParams.append(ZENDESK_FIELDS.USER_ID, params.userId)
|
|
}
|
|
|
|
return `${SUPPORT_BASE_URL}?${searchParams.toString()}`
|
|
}
|