Chat: improve welcome for no-auth flow (fix microsoft/vscode-internalbacklog#5872)#268607
Chat: improve welcome for no-auth flow (fix microsoft/vscode-internalbacklog#5872)#268607
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR improves the welcome experience for users accessing Chat functionality without authentication by refining the conditions that determine which Copilot setup steps are shown in the getting started walkthrough.
- Updates the anonymous chat setup step visibility condition to exclude cases where chat is already installed
- Modifies the complete setup step to include anonymous users in the success criteria
| type: 'steps', | ||
| steps: [ | ||
| createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous', true), | ||
| createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous && !chatSetupInstalled', true), |
There was a problem hiding this comment.
The condition chatAnonymous && !chatSetupInstalled creates a logical inconsistency. If a user is in anonymous mode, they shouldn't need to check for installation status since anonymous usage typically doesn't require installation. Consider clarifying the relationship between these states or adding a comment explaining when both conditions would be true.
| createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous && !chatSetupInstalled', true), | |
| // Only show this step when the user is anonymous. Installation status is not relevant for anonymous usage. | |
| createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous', true), |
| createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous && !chatSetupInstalled', true), | ||
| createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatEntitlementSignedOut && !chatAnonymous', false), | ||
| createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false), | ||
| createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatAnonymous || chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false), |
There was a problem hiding this comment.
The condition combines chatSetupInstalled with chatAnonymous, which appears contradictory since anonymous usage typically doesn't require installation. This mixed logic could lead to confusing user experiences where the complete step shows for anonymous users who shouldn't have anything installed.
| createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatAnonymous || chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false), | |
| createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false), |
No description provided.