Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Gitpod Classic

> **Note**: If you’re looking for the [Gitpod Flex](https://app.gitpod.io) experience, please install the [Gitpod Flex extension](https://marketplace.visualstudio.com/items?itemName=gitpod.gitpod-flex). For [Gitpod Classic](https://gitpod.io/workspaces) workspaces, this is the extension you need.
> **Note**: If you’re looking for the [Gitpod](https://app.gitpod.io) experience, please install the [Gitpod extension](https://marketplace.visualstudio.com/items?itemName=gitpod.gitpod-flex). For [Gitpod Classic](https://gitpod.io/workspaces) workspaces, this is the extension you need.

Gitpod is an open-source Kubernetes application for automated and ready-to-code development environments that blends in your existing workflow. It enables you to describe your dev environment as code and start instant and fresh development environments for each new task directly from your browser.
Gitpod Classic is an open-source Kubernetes application for automated and ready-to-code development environments that blends in your existing workflow. It enables you to describe your dev environment as code and start instant and fresh development environments for each new task directly from your browser.

Tightly integrated with GitLab, GitHub, and Bitbucket, Gitpod automatically and continuously prebuilds dev environments for all your branches. As a result, team members can instantly start coding with fresh, ephemeral and fully-compiled dev environments - no matter if you are building a new feature, want to fix a bug or do a code review.

![image](https://user-images.githubusercontent.com/120486/116072013-40a8aa00-a697-11eb-846b-89e6f5e1a82e.png)

## Getting Started

You can open a Gitpod workspace with VS Code Desktop in two different ways:
You can open a Gitpod Classic workspace with VS Code Desktop in two different ways:
- From your [user preferences](https://gitpod.io/preferences), you can select `VS Code Desktop` as your preferred IDE and you will always start your workspaces automatically with it.
- Ad hoc, from within VS Code Browser, by opening the Command Pallete (<kbd>F1</kbd>) and searching for <kbd>Open in VS Code</kbd> if you already have a running workspace already.

Expand All @@ -32,6 +32,6 @@ You can also follow [`@gitpod`](https://twitter.com/gitpod) for announcements an

## Issues

The issue tracker is used for tracking **bug reports** and **feature requests** for the Gitpod open source project as well as planning current and future development efforts. 🗺️
The issue tracker is used for tracking **bug reports** and **feature requests** for the Gitpod Classic open source project as well as planning current and future development efforts. 🗺️

You can upvote [popular feature requests](https://github.com/gitpod-io/gitpod/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc) or [create a new one](https://github.com/gitpod-io/gitpod/issues/new?template=feature_request.md).
60 changes: 30 additions & 30 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"name": "gitpod-desktop",
"displayName": "Gitpod",
"displayName": "Gitpod Classic",
"description": "Required to connect to Classic workspaces",
"publisher": "gitpod",
"version": "0.0.183",
"version": "0.0.184",
"license": "MIT",
"icon": "resources/gitpod.png",
"repository": {
Expand Down Expand Up @@ -42,17 +42,17 @@
"contributes": {
"authentication": [
{
"label": "Gitpod",
"label": "Gitpod Classic",
"id": "gitpod"
}
],
"configuration": [
{
"title": "Gitpod",
"title": "Gitpod Classic",
"properties": {
"gitpod.host": {
"type": "string",
"description": "Gitpod Service URL. Update this if you are using a Gitpod self-hosted installation.",
"description": "Gitpod Classic Service URL. Update this if you are using a Gitpod Classic self-hosted installation.",
"default": "https://gitpod.io/",
"scope": "application"
},
Expand All @@ -77,116 +77,116 @@
"commands": [
{
"command": "gitpod.exportLogs",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Export all logs"
},
{
"command": "gitpod.installLocalExtensions",
"title": "Install Local Extensions...",
"category": "Gitpod",
"category": "Gitpod Classic",
"enablement": "gitpod.inWorkspace == true"
},
{
"command": "gitpod.signIn",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Sign In"
},
{
"command": "gitpod.workspaces.refresh",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Refresh",
"icon": "$(refresh)"
},
{
"command": "gitpod.workspaces.connectInNewWindow",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Open Workspace in New Window"
},
{
"command": "gitpod.workspaces.connectInNewWindow_context",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Open in New Window"
},
{
"command": "gitpod.workspaces.connectInCurrentWindow",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Connect to Workspace"
},
{
"command": "gitpod.workspaces.connectInCurrentWindow_context",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Start and Connect"
},
{
"command": "gitpod.workspaces.connectInCurrentWindow_context@1",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Connect"
},
{
"command": "gitpod.workspaces.connectInCurrentWindow_inline",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Start and Connect",
"icon": "$(arrow-right)"
},
{
"command": "gitpod.workspaces.connectInCurrentWindow_inline@1",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Connect",
"icon": "$(arrow-right)"
},
{
"command": "gitpod.workspaces.stopWorkspace",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Stop Workspace",
"icon": "$(primitive-square)"
},
{
"command": "gitpod.workspaces.stopWorkspace_context",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Stop",
"icon": "$(primitive-square)"
},
{
"command": "gitpod.workspaces.stopWorkspace_inline",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Stop",
"icon": "$(primitive-square)"
},
{
"command": "gitpod.workspaces.stopCurrentWorkspace_inline",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Disconnect and Stop",
"icon": "$(primitive-square)"
},
{
"command": "gitpod.workspaces.stopCurrentWorkspace",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Stop Current Workspace",
"icon": "$(primitive-square)"
},
{
"command": "gitpod.workspaces.openInBrowser",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Open in Browser"
},
{
"command": "gitpod.workspaces.openContext",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Open Context"
},
{
"command": "gitpod.workspaces.deleteWorkspace",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Delete Workspace"
},
{
"command": "gitpod.workspaces.deleteWorkspace_context",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Delete"
},
{
"command": "gitpod.workspaces.disconnect",
"category": "Gitpod",
"category": "Gitpod Classic",
"title": "Disconnect",
"icon": "$(debug-disconnect)"
}
Expand Down Expand Up @@ -355,7 +355,7 @@
"activitybar": [
{
"id": "gitpod-view",
"title": "Gitpod",
"title": "Gitpod Classic",
"icon": "resources/explorer.svg"
}
]
Expand All @@ -382,7 +382,7 @@
},
{
"id": "gitpod-flex-help",
"name": "Looking for Gitpod Flex?",
"name": "Looking for Gitpod?",
"icon": "$(squirrel)",
"when": "gitpod.host === 'https://gitpod.io'"
}
Expand All @@ -392,11 +392,11 @@
{
"view": "gitpod-login",
"when": "gitpod.authenticated != true && !gitpod.inGitpodFlexRemoteWindow",
"contents": "You have not yet signed in with Gitpod\n[Sign in](command:gitpod.signIn)"
"contents": "You have not yet signed in with Gitpod Classic\n[Sign in](command:gitpod.signIn)"
},
{
"view": "gitpod-flex-help",
"contents": "Connecting to Gitpod Flex environments requires installing the [Gitpod Flex extension](https://marketplace.visualstudio.com/items?itemName=gitpod.gitpod-flex) and opening them through the [Gitpod Flex](https://app.gitpod.io/).\nThis view is only to manage [Gitpod Classic](https://gitpod.io/workspaces) workspaces."
"contents": "Connecting to Gitpod environments requires installing the [Gitpod extension](https://marketplace.visualstudio.com/items?itemName=gitpod.gitpod-flex) and opening them through the [Gitpod](https://app.gitpod.io/).\nThis view is only to manage [Gitpod Classic](https://gitpod.io/workspaces) workspaces."
}
]
},
Expand Down
2 changes: 1 addition & 1 deletion src/authentication/authentication.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ export default class GitpodAuthenticationProvider extends Disposable implements
// Contains the current state of the sessions we have available.
this._sessionsPromise = this.readSessions();

this._register(vscode.authentication.registerAuthenticationProvider('gitpod', 'Gitpod', this, { supportsMultipleAccounts: false }));
this._register(vscode.authentication.registerAuthenticationProvider('gitpod', 'Gitpod Classic', this, { supportsMultipleAccounts: false }));
this._register(this.context.secrets.onDidChange(() => this.checkForUpdates()));
}

Expand Down
4 changes: 2 additions & 2 deletions src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export async function activate(context: vscode.ExtensionContext) {
try {
const params: SSHConnectionParams = JSON.parse(uri.query);
const openNewWindow = 'Use New Window';
vscode.window.showWarningMessage(`We cannot open Gitpod workspace on ${params.gitpodHost} from a Gitpod Flex environment window.`, { modal: true }, openNewWindow)
vscode.window.showWarningMessage(`We cannot open a Gitpod Classic workspace on ${params.gitpodHost} from a Gitpod environment window.`, { modal: true }, openNewWindow)
.then(action => {
if (action === openNewWindow) {
vscode.commands.executeCommand('vscode.newWindow', { remoteAuthority: null });
Expand All @@ -68,7 +68,7 @@ export async function activate(context: vscode.ExtensionContext) {
let remoteConnectionInfo: { connectionInfo: SSHConnectionParams; remoteUri: vscode.Uri; sshDestStr: string } | undefined;
let success = false;
try {
logger = vscode.window.createOutputChannel('Gitpod', { log: true });
logger = vscode.window.createOutputChannel('Gitpod Classic', { log: true });
context.subscriptions.push(logger);

// always try to create extension globalStorage folder
Expand Down
16 changes: 8 additions & 8 deletions src/remoteConnector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ export class RemoteConnector extends Disposable {
const parsedKey = parsedResult as ParsedKey;
return { name: k.name, fingerprint: crypto.createHash('sha256').update(parsedKey.getPublicSSH()).digest('base64') };
});
this.logService.trace(`Registered public keys in Gitpod account:`, registeredKeys.length ? registeredKeys.map(k => `${k.name} SHA256:${k.fingerprint}`).join('\n') : 'None');
this.logService.trace(`Registered public keys in Gitpod Classic account:`, registeredKeys.length ? registeredKeys.map(k => `${k.name} SHA256:${k.fingerprint}`).join('\n') : 'None');

identityKeys = identityKeys.filter(k => !!registeredKeys.find(regKey => regKey.fingerprint === k.fingerprint));
} else {
Expand Down Expand Up @@ -187,7 +187,7 @@ export class RemoteConnector extends Disposable {
const install = 'Install';
const cancel = 'Cancel';

const action = await this.notificationService.showInformationMessage('Please install "Remote - SSH" extension to connect to a Gitpod workspace.', { id: 'install_remote_ssh', flow }, install, cancel);
const action = await this.notificationService.showInformationMessage('Please install "Remote - SSH" extension to connect to a Gitpod Classic workspace.', { id: 'install_remote_ssh', flow }, install, cancel);
if (action === cancel) {
return false;
}
Expand All @@ -209,7 +209,7 @@ export class RemoteConnector extends Disposable {
const configureSSH: vscode.MessageItem = { title: 'Configure SSH' };
const showLogs: vscode.MessageItem = { title: 'Show logs', isCloseAffordance: true };
const message = sshKeysSupported
? `You don't have registered any SSH public key for this machine in your Gitpod account.\nAlternatively, copy and use this temporary password until workspace restart: ${maskedPassword}`
? `You don't have registered any SSH public key for this machine in your Gitpod Classic account.\nAlternatively, copy and use this temporary password until workspace restart: ${maskedPassword}`
: `An SSH key is required for passwordless authentication.\nAlternatively, copy and use this password: ${maskedPassword}`;
const action = await this.notificationService.showWarningMessage(message, { flow, modal: true, id: 'ssh_gateway_modal' }, copy, configureSSH, showLogs);

Expand Down Expand Up @@ -255,7 +255,7 @@ export class RemoteConnector extends Disposable {
sshFlow.userId = this.sessionService.getUserId();
sshFlow.useLocalSSH = useLocalSSH;

this.logService.info('Opening Gitpod workspace', uri.toString());
this.logService.info('Opening Gitpod Classic workspace', uri.toString());

const sshDestination = await vscode.window.withProgress(
{
Expand Down Expand Up @@ -291,7 +291,7 @@ export class RemoteConnector extends Disposable {
const reason = e?.code ?? (e?.name && e.name !== 'Error' ? e.name : 'Unknown');
this.telemetryService.sendTelemetryException(new WrapError('Local SSH: failed to connect to workspace', e), { ...localSSHFlow });
this.telemetryService.sendUserFlowStatus('failed', { ...localSSHFlow, reason });
this.logService.error(`Local SSH: failed to connect to ${params.workspaceId} Gitpod workspace:`, e);
this.logService.error(`Local SSH: failed to connect to ${params.workspaceId} Gitpod Classic workspace:`, e);
}

let sshDestination: SSHDestination | undefined;
Expand Down Expand Up @@ -329,19 +329,19 @@ export class RemoteConnector extends Disposable {
this.logService.error('No Running instance:');
this.logService.error(e);
gatewayFlow['phase'] = e.phase;
this.notificationService.showErrorMessage(`Failed to connect to ${e.workspaceId} Gitpod workspace: workspace not running`, { flow: gatewayFlow, id: 'no_running_instance' });
this.notificationService.showErrorMessage(`Failed to connect to ${e.workspaceId} Gitpod Classic workspace: workspace not running`, { flow: gatewayFlow, id: 'no_running_instance' });
return undefined;
} else {
if (e instanceof SSHError) {
this.logService.error('SSH test connection error:');
} else {
this.logService.error(`Failed to connect to ${params.workspaceId} Gitpod workspace:`);
this.logService.error(`Failed to connect to ${params.workspaceId} Gitpod Classic workspace:`);
}
this.logService.error(e);

const seeLogs = 'See Logs';
const showTroubleshooting = 'Show Troubleshooting';
this.notificationService.showErrorMessage(`Failed to connect to ${params.workspaceId} Gitpod workspace`, { flow: gatewayFlow, id: 'failed_to_connect' }, seeLogs, showTroubleshooting)
this.notificationService.showErrorMessage(`Failed to connect to ${params.workspaceId} Gitpod Classic workspace`, { flow: gatewayFlow, id: 'failed_to_connect' }, seeLogs, showTroubleshooting)
.then(action => {
if (action === seeLogs) {
this.logService.show();
Expand Down
4 changes: 2 additions & 2 deletions src/remoteSession.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ export class RemoteSession extends Disposable {

this.logService.show();
const retry = 'Retry';
const action = await this.notificationService.showErrorMessage(`Failed to resolve connection to Gitpod workspace: workspace could stop unexpectedly`, { flow: remoteFlow, id: 'unexpected_error' }, retry);
const action = await this.notificationService.showErrorMessage(`Failed to resolve connection to Gitpod Classic workspace: workspace could stop unexpectedly`, { flow: remoteFlow, id: 'unexpected_error' }, retry);
if (action === retry) {
this.initialize();
}
Expand All @@ -124,7 +124,7 @@ export class RemoteSession extends Disposable {
}

private showSignInDialog() {
this.notificationService.showErrorMessage(`You are not signed in with a Gitpod account, please sign in first.`, { flow: { flow: 'remote_window', gitpodHost: this.connectionInfo.gitpodHost }, id: 'not_signed_in', modal: true });
this.notificationService.showErrorMessage(`You are not signed in with a Gitpod Classic account, please sign in first.`, { flow: { flow: 'remote_window', gitpodHost: this.connectionInfo.gitpodHost }, id: 'not_signed_in', modal: true });
}

public override async dispose(): Promise<void> {
Expand Down
2 changes: 1 addition & 1 deletion src/services/hostService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ export class HostService extends Disposable implements IHostService {

const yes = 'Yes';
const cancel = 'Cancel';
const action = await this.notificationService.showInformationMessage(`Would you like to change your Gitpod host from '${this._gitpodHost}' to '${newHost}' and continue?`, { id: 'switch_gitpod_host', flow }, yes, cancel);
const action = await this.notificationService.showInformationMessage(`Would you like to change your Gitpod Classic host from '${this._gitpodHost}' to '${newHost}' and continue?`, { id: 'switch_gitpod_host', flow }, yes, cancel);
if (action === cancel) {
return false;
}
Expand Down
4 changes: 2 additions & 2 deletions src/services/remoteService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ export class RemoteService extends Disposable implements IRemoteService {
const parsedKey = parsedResult as ParsedKey;
return { name: k.name, fingerprint: crypto.createHash('sha256').update(parsedKey.getPublicSSH()).digest('base64') };
});
this.logService.trace(`Registered public keys in Gitpod account:`, registeredKeys.length ? registeredKeys.map(k => `${k.name} SHA256:${k.fingerprint}`).join('\n') : 'None');
this.logService.trace(`Registered public keys in Gitpod Classic account:`, registeredKeys.length ? registeredKeys.map(k => `${k.name} SHA256:${k.fingerprint}`).join('\n') : 'None');

identityKeys = identityKeys.filter(k => !!registeredKeys.find(regKey => regKey.fingerprint === k.fingerprint));

Expand All @@ -315,7 +315,7 @@ export class RemoteService extends Disposable implements IRemoteService {
const copy: vscode.MessageItem = { title: 'Copy' };
const configureSSH: vscode.MessageItem = { title: 'Configure SSH' };
const showLogs: vscode.MessageItem = { title: 'Show logs', isCloseAffordance: true };
const message = `You don't have registered any SSH public key for this machine in your Gitpod account.\nAlternatively, copy and use this temporary password until workspace restart: ${maskedPassword}`;
const message = `You don't have registered any SSH public key for this machine in your Gitpod Classic account.\nAlternatively, copy and use this temporary password until workspace restart: ${maskedPassword}`;
const flow = { flow: 'ssh', gitpodHost: this.hostService.gitpodHost, kind: 'gateway', workspaceId, openSSHVersion: await getOpenSSHVersion(), userId: this.sessionService.getUserId() };
const action = await this.notificationService.showWarningMessage(message, { flow, modal: true, id: 'ssh_gateway_modal' }, copy, configureSSH, showLogs);

Expand Down
2 changes: 1 addition & 1 deletion src/services/sessionService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { arrayEquals } from '../common/utils';

export class NoSignedInError extends Error {
constructor() {
super(`You are not signed in with your Gitpod account`);
super(`You are not signed in with your Gitpod Classic account`);
}
}

Expand Down
Loading