Skip to content

Commit

Permalink
Backport PR jupyterlab#6931: Attempted fix for minor JupyterHub compa…
Browse files Browse the repository at this point in the history
…tibility issue.
  • Loading branch information
blink1073 authored and MeeseeksDev[bot] committed Aug 15, 2019
1 parent c0f07e9 commit 6083c5c
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 7 deletions.
3 changes: 3 additions & 0 deletions jupyterlab/extension.py
Expand Up @@ -211,6 +211,9 @@ def load_jupyter_server_extension(nbapp):
page_config['hubPrefix'] = nbapp.hub_prefix
page_config['hubHost'] = nbapp.hub_host
page_config['hubUser'] = nbapp.user
# Assume the server_name property indicates running JupyterHub 1.0.
if hasattr(nbapp, 'server_name'):
page_config['hubServerName'] = nbapp.server_name
api_token = os.getenv('JUPYTERHUB_API_TOKEN', '')
page_config['token'] = api_token

Expand Down
2 changes: 2 additions & 0 deletions packages/application/src/frontend.ts
Expand Up @@ -274,6 +274,8 @@ export namespace JupyterFrontEnd {
readonly workspaces: string;
readonly hubPrefix?: string;
readonly hubHost?: string;
readonly hubUser?: string;
readonly hubServerName?: string;
};

/**
Expand Down
4 changes: 3 additions & 1 deletion packages/application/src/lab.ts
Expand Up @@ -246,7 +246,9 @@ export namespace JupyterLab {
tree: PageConfig.getOption('treeUrl'),
workspaces: PageConfig.getOption('workspacesUrl'),
hubHost: PageConfig.getOption('hubHost') || undefined,
hubPrefix: PageConfig.getOption('hubPrefix') || undefined
hubPrefix: PageConfig.getOption('hubPrefix') || undefined,
hubUser: PageConfig.getOption('hubUser') || undefined,
hubServerName: PageConfig.getOption('hubServerName') || undefined
},
directories: {
appSettings: PageConfig.getOption('appSettingsDir'),
Expand Down
13 changes: 7 additions & 6 deletions packages/hub-extension/src/index.ts
Expand Up @@ -42,6 +42,8 @@ function activateHubExtension(
): void {
const hubHost = paths.urls.hubHost || '';
const hubPrefix = paths.urls.hubPrefix || '';
const hubUser = paths.urls.hubUser || '';
const hubServerName = paths.urls.hubServerName || '';
const baseUrl = paths.urls.base;

// Bail if not running on JupyterHub.
Expand All @@ -54,13 +56,12 @@ function activateHubExtension(
hubPrefix: hubPrefix
});

const { commands } = app;
// If hubServerName is set, use JupyterHub 1.0 URL.
const restartUrl = hubServerName
? hubHost + URLExt.join(hubPrefix, 'spawn', hubUser, hubServerName)
: hubHost + URLExt.join(hubPrefix, `spawn?next=${hubPrefix}home`);

// TODO: use /spawn/:user/:name
// but that requires jupyterhub 1.0
// and jupyterlab to pass username, servername to PageConfig
const restartUrl =
hubHost + URLExt.join(hubPrefix, `spawn?next=${hubPrefix}home`);
const { commands } = app;

commands.addCommand(CommandIDs.restart, {
label: 'Restart Server',
Expand Down

0 comments on commit 6083c5c

Please sign in to comment.