Skip to content

Commit 754b5d5

Browse files
fix(settings): support userContextId in WebChannel status requests for containers
1 parent 13712ad commit 754b5d5

3 files changed

Lines changed: 17 additions & 6 deletions

File tree

packages/fxa-settings/src/components/App/index.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,7 @@ const ResetPasswordConfirmedContainer = lazy(
8989
);
9090
const ResetPasswordWithRecoveryKeyVerifiedContainer = lazy(
9191
() =>
92-
import(
93-
'../../pages/ResetPassword/ResetPasswordWithRecoveryKeyVerified/container'
94-
)
92+
import('../../pages/ResetPassword/ResetPasswordWithRecoveryKeyVerified/container')
9593
);
9694
const CompleteSigninContainer = lazy(
9795
() => import('../../pages/Signin/CompleteSignin/container')
@@ -228,7 +226,8 @@ export const App = ({
228226
integration.data.context || '',
229227
// TODO with React pairing flow, update this if pairing flow
230228
false,
231-
integration.data.service || ''
229+
integration.data.service || '',
230+
integration.data.userContextId
232231
);
233232
}
234233

packages/fxa-settings/src/lib/channels/firefox.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ type FxAStatusRequest = {
6363
service: string; // ex. 'sync'
6464
isPairing: boolean;
6565
context: string; // ex. 'fx_desktop_v3'
66+
userContextId?: string;
6667
};
6768

6869
export type FxAStatusResponse = {
@@ -382,7 +383,8 @@ export class Firefox extends EventTarget {
382383
async requestSignedInUser(
383384
context: string,
384385
isPairing: boolean,
385-
service: string
386+
service: string,
387+
userContextId?: string
386388
): Promise<undefined | SignedInUser> {
387389
let timeoutId: number;
388390
return Promise.race<undefined | SignedInUser>([
@@ -406,6 +408,7 @@ export class Firefox extends EventTarget {
406408
context,
407409
isPairing,
408410
service,
411+
userContextId,
409412
});
410413
});
411414
}),

packages/fxa-settings/src/models/integrations/data/data.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ import {
2222
KeyTransforms as T,
2323
ModelDataProvider,
2424
} from '../../../lib/model-data';
25-
import { IsEmailOrEmpty, IsFxaRedirectToUrl, IsFxaRedirectUri } from '../../../lib/validation';
25+
import {
26+
IsEmailOrEmpty,
27+
IsFxaRedirectToUrl,
28+
IsFxaRedirectUri,
29+
} from '../../../lib/validation';
2630

2731
/**
2832
* Base integration class. Fields in this class represents data commonly accessed across many pages and is useful for various flows.
@@ -115,6 +119,11 @@ export class IntegrationData extends ModelDataProvider {
115119
@IsString()
116120
@bind(T.snakeCase)
117121
flowBeginTime: string | undefined;
122+
123+
@IsOptional()
124+
@IsString()
125+
@bind(T.snakeCase)
126+
userContextId: string | undefined;
118127
}
119128

120129
/**

0 commit comments

Comments
 (0)