From af7d953f523a765cd2d08b538a1228fbf528d59c Mon Sep 17 00:00:00 2001 From: Saxon Fletcher Date: Thu, 21 May 2026 09:16:48 +1000 Subject: [PATCH] Support form Assistant (#45861) When a support from is submitted, we believe there is an opportunity to help people before a human receives and responds. Human support is still involved regardless of whether Assistant helps or not, so this is to positioned as a "while you wait" type experience. ## To test: - Enable to `supportAssistantFollowUp` feature flag - Open a project - Open the support form and submit a request - Note the success state and the additional Assistant card - Note text generation in card - Clicking card should open the Assistant conversation ## Summary by CodeRabbit * **New Features** * AI assistant follow-up card appears after submitting a support ticket to continue the conversation * Support request preview rendered in the assistant panel showing subject/message when present * **Bug Fixes** * Improved project selection fallback during support form initialization * **Improvements** * Refined success layout and messaging; finish action behavior simplified [![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/supabase/supabase/pull/45861) --------- Co-authored-by: Gildas Garcia <1122076+djhi@users.noreply.github.com> --- .../Support/CategoryAndSeverityInfo.tsx | 2 +- .../interfaces/Support/ProjectAndPlanInfo.tsx | 9 +- .../components/interfaces/Support/Success.tsx | 94 +++----- .../Support/SupportAssistant.utils.test.ts | 68 ++++++ .../Support/SupportAssistant.utils.ts | 77 ++++++ .../SupportAssistantSuccessCard.test.tsx | 182 +++++++++++++++ .../Support/SupportAssistantSuccessCard.tsx | 220 ++++++++++++++++++ .../interfaces/Support/SupportForm.state.ts | 14 ++ .../interfaces/Support/SupportFormV2.tsx | 12 + .../interfaces/Support/SupportFormV3.tsx | 12 + .../interfaces/Support/SupportSidebarForm.tsx | 33 ++- .../Support/SupportSuccessSection.tsx | 51 ++++ .../LayoutSidebar/LayoutSidebarProvider.tsx | 12 +- .../ui/AIAssistantPanel/Message.Parts.tsx | 6 + .../ui/AIAssistantPanel/Message.tsx | 1 + .../SupportRequestMessage.test.tsx | 48 ++++ .../SupportRequestMessage.tsx | 44 ++++ .../components/ui/HelpPanel/HelpPanel.tsx | 7 +- packages/common/telemetry-constants.ts | 16 ++ 19 files changed, 828 insertions(+), 80 deletions(-) create mode 100644 apps/studio/components/interfaces/Support/SupportAssistant.utils.test.ts create mode 100644 apps/studio/components/interfaces/Support/SupportAssistant.utils.ts create mode 100644 apps/studio/components/interfaces/Support/SupportAssistantSuccessCard.test.tsx create mode 100644 apps/studio/components/interfaces/Support/SupportAssistantSuccessCard.tsx create mode 100644 apps/studio/components/interfaces/Support/SupportSuccessSection.tsx create mode 100644 apps/studio/components/ui/AIAssistantPanel/SupportRequestMessage.test.tsx create mode 100644 apps/studio/components/ui/AIAssistantPanel/SupportRequestMessage.tsx diff --git a/apps/studio/components/interfaces/Support/CategoryAndSeverityInfo.tsx b/apps/studio/components/interfaces/Support/CategoryAndSeverityInfo.tsx index c0c3aa926c1..34e243e3226 100644 --- a/apps/studio/components/interfaces/Support/CategoryAndSeverityInfo.tsx +++ b/apps/studio/components/interfaces/Support/CategoryAndSeverityInfo.tsx @@ -88,7 +88,7 @@ function CategorySelector({ form }: CategorySelectorProps) { field.onChange(v) } return ( - +