Skip to content

Commit 4131cad

Browse files
committed
AXON-72: added error logging when invalid sign in flow
1 parent 383c248 commit 4131cad

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

src/lib/ipc/fromUI/onboarding.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export enum OnboardingActionType {
1313
ViewPullRequest = 'viewPullRequest',
1414
ClosePage = 'closePage',
1515
OpenSettings = 'openSettings',
16+
Error = 'error',
1617
}
1718

1819
export type OnboardingAction =
@@ -25,6 +26,7 @@ export type OnboardingAction =
2526
| ReducerAction<OnboardingActionType.ViewPullRequest>
2627
| ReducerAction<OnboardingActionType.ClosePage>
2728
| ReducerAction<OnboardingActionType.OpenSettings, OpenSettingsAction>
29+
| ReducerAction<OnboardingActionType.Error, { error: Error }>
2830
| CommonAction;
2931

3032
export interface AuthAction {

src/lib/webview/controller/onboarding/onboardingWebviewController.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,11 @@ export class OnboardingWebviewController implements WebviewController<SectionCha
159159
this._analytics.fireMoreSettingsButtonEvent(id);
160160
break;
161161
}
162-
162+
case OnboardingActionType.Error: {
163+
this._logger.error(msg.error);
164+
this.postMessage({ type: CommonMessageType.Error, reason: formatError(msg.error, 'Onboarding Error') });
165+
break;
166+
}
163167
case CommonActionType.SendAnalytics:
164168
case CommonActionType.CopyLink:
165169
case CommonActionType.OpenJiraIssue:

src/react/atlascode/onboarding/OnboardingPage.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { AnalyticsView } from 'src/analyticsTypes';
1919
import { Features } from 'src/util/featureFlags';
2020
import { CommonMessageType } from 'src/lib/ipc/toUI/common';
2121
import { JiraBitbucketOnboarding } from './JiraBitbucketOnboarding';
22+
import { OnboardingActionType } from 'src/lib/ipc/fromUI/onboarding';
2223

2324
const useStyles = makeStyles((theme: Theme) => ({
2425
root: {
@@ -61,7 +62,7 @@ export const OnboardingPage: React.FunctionComponent = () => {
6162
const [useAuthUI, setUseAuthUI] = React.useState(false);
6263
const [jiraSignInText, setJiraSignInText] = useState('Sign In to Jira Cloud');
6364
const [bitbucketSignInText, setBitbucketSignInText] = useState('Sign In to Bitbucket Cloud');
64-
const [jiraSignInFlow, setJiraSignInFlow] = useState('jira-setup-radio-cloud');
65+
const [jiraSignInFlow, setJiraSignInFlow] = useState('error');
6566
const [bitbucketSignInFlow, setBitbucketSignInFlow] = useState('bitbucket-setup-radio-cloud');
6667

6768
React.useEffect(() => {
@@ -157,10 +158,13 @@ export const OnboardingPage: React.FunctionComponent = () => {
157158
handleNext();
158159
break;
159160
default:
160-
console.log('Invalid Bitbucket sign in flow: %s', bitbucketSignInFlow);
161+
controller.postMessage({
162+
type: OnboardingActionType.Error,
163+
error: new Error(`Invalid Bitbucket sign in flow ${bitbucketSignInFlow}`),
164+
});
161165
break;
162166
}
163-
}, [bitbucketSignInFlow, handleCloudSignIn, handleNext, handleServerSignIn]);
167+
}, [bitbucketSignInFlow, controller, handleCloudSignIn, handleNext, handleServerSignIn]);
164168

165169
const executeJiraSignInFlow = useCallback(() => {
166170
console.log(jiraSignInFlow);
@@ -176,10 +180,13 @@ export const OnboardingPage: React.FunctionComponent = () => {
176180
handleNext();
177181
break;
178182
default:
179-
console.log('Invalid Jira sign in flow: %s', jiraSignInFlow);
183+
controller.postMessage({
184+
type: OnboardingActionType.Error,
185+
error: new Error(`Invalid Jira sign in flow ${jiraSignInFlow}`),
186+
});
180187
break;
181188
}
182-
}, [jiraSignInFlow, handleCloudSignIn, handleServerSignIn, handleNext]);
189+
}, [jiraSignInFlow, handleCloudSignIn, handleServerSignIn, handleNext, controller]);
183190

184191
const handleJiraOptionChange = useCallback((value: string) => {
185192
setJiraSignInFlow(value);

0 commit comments

Comments
 (0)