-
Notifications
You must be signed in to change notification settings - Fork 14
Initialize remote extensions #16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Please make sure to test other scenarios like not settings sync enabled, enabled with GH instead. How does it work then? Also please consider backward compatibility with SH installations with older remote extensions, i.e. tests all scenarios against gitpod.io and SH last 2 releases (or at least consider it while looking at code) 🙏 |
private async initializeRemoteExtensions() { | ||
let syncData: { ref: string; content: string } | undefined; | ||
try { | ||
syncData = await this.settingsSync.readResource(SyncResource.Extensions); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder should not we rather provider gitpodHost here from connectionInfo instead of reading from settings. I think for remote window connectionInfo is source of the truth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Settings sync config is generated from gitpod.host
config not gitpodHost
, ideally they are the same but it's possible they are not
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We were discussing yesterday with self hosting team that having different configurations per host will be good, i.e. one should be able to specify different values for different hosts. Like use SSH Gateway for gitpod.io, but local app for SH solution and so on. How we designed it with one host does not really fit to it.
It will ask to enable it (with notification and enable action)
Same as above cc @akosyakov gitpod-vscode-desktop/src/remoteConnector.ts Lines 932 to 936 in 76cf8df
|
Is it better to show the process bar when installing the extensions in remote? @jeanp413 |
} | ||
|
||
const syncStoreURL = this.getServiceUrl(); | ||
const resourceURL = `${syncStoreURL}/v1/resource/${path}/latest`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a notification with progress |
It works well, and show logs really helpful 😄 Maybe we can also increase the timeout of requests to |
Also wandering the release process, will we wait until |
Should we enable it for all users? Can it break a user flow somehow? Should we go via experiment and analytics? i.e. land this PR only for prerelease for now, then start working on analytics and experiment? I would say at least without meaningful analytics we should not put in stable. cc @loujaybee |
Increased the timeout and added
This won't break user flow as it's an independent command
I'd say it's safe to enable for all users, and with the added setting For analytics only thing we can track is if the setting is |
Merging this and will publish a pre-release version |
Description
Initialize remote extensions with extensions from sync server
Related Issue(s)
Fixes gitpod-io/gitpod#7906
Related gitpod-io/openvscode-server#419
How to test