Skip to content

Commit 87ffcf8

Browse files
authored
Switch add Studio access token to update when Studio is connected (#3400)
1 parent e10ca30 commit 87ffcf8

File tree

6 files changed

+29
-2
lines changed

6 files changed

+29
-2
lines changed

extension/package.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,11 @@
117117
"command": "dvc.addStudioAccessToken",
118118
"category": "DVC"
119119
},
120+
{
121+
"title": "Update Studio Access Token",
122+
"command": "dvc.updateStudioAccessToken",
123+
"category": "DVC"
124+
},
120125
{
121126
"title": "Add",
122127
"command": "dvc.addTarget",
@@ -635,7 +640,11 @@
635640
},
636641
{
637642
"command": "dvc.addStudioAccessToken",
638-
"when": "dvc.commands.available && dvc.project.available"
643+
"when": "dvc.commands.available && dvc.project.available && !dvc.studio.connected"
644+
},
645+
{
646+
"command": "dvc.updateStudioAccessToken",
647+
"when": "dvc.commands.available && dvc.project.available && dvc.studio.connected"
639648
},
640649
{
641650
"command": "dvc.addTarget",

extension/src/commands/external.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ export enum RegisteredCommands {
9999
CONNECT_SHOW = 'dvc.showConnect',
100100
OPEN_STUDIO_SETTINGS = 'dvc.showStudioSettings',
101101
ADD_STUDIO_ACCESS_TOKEN = 'dvc.addStudioAccessToken',
102+
UPDATE_STUDIO_ACCESS_TOKEN = 'dvc.updateStudioAccessToken',
102103
REMOVE_STUDIO_ACCESS_TOKEN = 'dvc.removeStudioAccessToken',
103104
EXPERIMENT_VIEW_SHARE_TO_STUDIO = 'dvc.views.experiments.shareExperimentToStudio'
104105
}

extension/src/connect/register.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@ export const registerConnectCommands = (
2121
() => connect.saveStudioAccessToken()
2222
)
2323

24+
internalCommands.registerExternalCommand(
25+
RegisteredCommands.UPDATE_STUDIO_ACCESS_TOKEN,
26+
() => connect.saveStudioAccessToken()
27+
)
28+
2429
internalCommands.registerExternalCommand(
2530
RegisteredCommands.REMOVE_STUDIO_ACCESS_TOKEN,
2631
() => connect.removeStudioAccessToken()

extension/src/telemetry/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,5 +287,6 @@ export interface IEventNamePropertyMapping {
287287
[EventName.CONNECT_SHOW]: undefined
288288
[EventName.OPEN_STUDIO_SETTINGS]: undefined
289289
[EventName.ADD_STUDIO_ACCESS_TOKEN]: undefined
290+
[EventName.UPDATE_STUDIO_ACCESS_TOKEN]: undefined
290291
[EventName.REMOVE_STUDIO_ACCESS_TOKEN]: undefined
291292
}

webview/src/connect/components/App.test.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,5 +96,16 @@ describe('App', () => {
9696
type: MessageFromWebviewType.SET_STUDIO_SHARE_EXPERIMENTS_LIVE
9797
})
9898
})
99+
100+
it('should enable the user to update their studio token', () => {
101+
const shareExperimentsLive = false
102+
renderApp(true, shareExperimentsLive)
103+
mockPostMessage.mockClear()
104+
const button = screen.getByText('Update Token')
105+
fireEvent.click(button)
106+
expect(mockPostMessage).toHaveBeenCalledWith({
107+
type: MessageFromWebviewType.SAVE_STUDIO_TOKEN
108+
})
109+
})
99110
})
100111
})

webview/src/connect/components/Studio.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ const Settings: React.FC<{
8282
appearance="primary"
8383
isNested={false}
8484
text={'Update Token'}
85-
onClick={openStudio}
85+
onClick={saveStudioToken}
8686
/>
8787
<Button
8888
appearance="secondary"

0 commit comments

Comments
 (0)