Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ece2bb5
Improve subkernel shutdown
mattprintz Jul 7, 2025
c413f2f
Track language used by Jupyter when defining subkernels
mattprintz Sep 10, 2025
dd313c0
Allow sessions to use default kernel if one is not specified.
mattprintz Sep 10, 2025
b161ebf
Batch of server updates
mattprintz Sep 19, 2025
c31f6be
Update to config generation and default config to remove deprecated a…
mattprintz Sep 19, 2025
8b62582
Updates to fix per-user pathing
mattprintz Oct 10, 2025
dccf9c1
Fix for app handling
mattprintz Oct 18, 2025
be67fa8
Set beaker kernel dir to beaker home dir
mattprintz Oct 20, 2025
3add089
wip
mattprintz Oct 23, 2025
7c0ea69
Merge remote-tracking branch 'origin/dev' into server-upgrades/server…
mattprintz Oct 23, 2025
eb17ee0
Refactor on how notebooks are stored.
mattprintz Oct 23, 2025
6b2a648
Update vue build to be sequential
mattprintz Oct 29, 2025
05c3b9e
Notebook storage improvement and session management cleanup
mattprintz Nov 4, 2025
30593b0
Fix for duplicated root in path
mattprintz Nov 4, 2025
b888a74
Merge branch 'main' into server-upgrades/server-traitlet-refactor
mattprintz Nov 5, 2025
521c697
Merge branch 'dev' into server-upgrades/server-traitlet-refactor
mattprintz Nov 5, 2025
a485a33
Allow auto-discovery/importing from both entrypoints and json files
mattprintz Nov 20, 2025
053ae77
Merge upstream
mattprintz Nov 20, 2025
7739cb4
Changes for consistent xsrf header passing from frontend
mattprintz Nov 20, 2025
d2baaa8
Finishing touches to autodiscovery udpate
mattprintz Nov 20, 2025
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
/*.ipynb
**/.cache
**/.ipython
**/.notebooks/

# Gradle
.gradle/
Expand Down
6 changes: 3 additions & 3 deletions beaker-ts/src/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { BeakerRenderer, IBeakerRendererOptions } from './render';
export interface IBeakerSessionOptions {
settings: any;
name: string;
kernelName: string;
kernelName?: string;
sessionId?: string;
rendererOptions?: IBeakerRendererOptions;
messageHandler?: Slot<any, any>;
Expand Down Expand Up @@ -80,9 +80,9 @@ export class BeakerSession {
specsManager: this._services.kernelspecs,
name: options?.name,
path: options?.sessionId,
kernelPreference: {
kernelPreference: options?.kernelName ? {
name: options?.kernelName,
},
} : undefined,
});

// Track all messages from kernels. The disconnect on newValue is in case the kernel connection is reused, to
Expand Down
1 change: 1 addition & 0 deletions beaker-vue/src/components/dev-interface/BeakerFilePane.vue
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ import Panel from 'primevue/panel';
import Column from 'primevue/column';
import DataTable from 'primevue/datatable';
import cookie from 'cookie';
import { fetch } from '@/util/fetch';

import { ContentsManager } from '@jupyterlab/services';

Expand Down
1 change: 1 addition & 0 deletions beaker-vue/src/components/misc/StreamlineExportDialog.vue
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ import { ProgressSpinner, Button, Divider, ToggleSwitch, InputGroup, InputGroupA
import { getDateTimeString, downloadFileDOM } from "@/util";
import { PageConfig, URLExt } from '@jupyterlab/coreutils';
import contentDisposition from "content-disposition";
import { fetch } from '@/util/fetch';

const showOverlay = inject<(contents: string, header?: string) => void>('show_overlay');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ import OpenNotebookButton from "../misc/OpenNotebookButton.vue";
import { downloadFileDOM, getDateTimeString } from '../../util';
import StreamlineExportDialog from "../misc/StreamlineExportDialog.vue"
import { type BeakerSessionComponentType } from "../session/BeakerSession.vue";
import { fetch } from '@/util/fetch';

const session = inject<BeakerSession>('session');
const notebook = inject<BeakerNotebookComponentType>('notebook');
Expand Down
1 change: 1 addition & 0 deletions beaker-vue/src/components/panels/ConfigPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ import type { BeakerSessionComponentType } from '../session/BeakerSession.vue';
import ConfigEntryComponent from '../misc/ConfigEntryComponent.vue'
import { useConfirm } from "primevue/useconfirm";
import ProgressSpinner from "primevue/progressspinner";
import { fetch } from '@/util/fetch';

const beakerSession = inject<BeakerSessionComponentType>("beakerSession");

Expand Down
1 change: 1 addition & 0 deletions beaker-vue/src/components/panels/FileContentsPanel.vue
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ import Toolbar from "primevue/toolbar";
import Button from "primevue/button";
import CodeEditor from "../misc/CodeEditor.vue";
import BeakerMimeBundle from "../render/BeakerMimeBundle.vue";
import { fetch } from '@/util/fetch';

const codeEditorRef = ref();
const pdfPreviewRef = ref();
Expand Down
8 changes: 8 additions & 0 deletions beaker-vue/src/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ import { vKeybindings } from './directives/keybindings';
import { vAutoScroll } from './directives/autoscroll';
import BeakerThemePlugin from './plugins/theme';
import BeakerAppConfigPlugin from './plugins/appconfig';
import { fetch, client } from './util/fetch';
import * as cookie from 'cookie';

import App from './App.vue';
import createRouter from './router';
Expand All @@ -25,6 +27,8 @@ const baseUrl = PageConfig.getBaseUrl();
const confUrl = URLExt.join(baseUrl, '/config') + `?q=${Date.now().toString()}`;
const configResponse = await fetch(confUrl);
const config = await configResponse.json();
const baseHost = URLExt.parse(config.baseUrl).host;


const app = createApp(App, {config});
const router = createRouter(config);
Expand Down Expand Up @@ -54,4 +58,8 @@ app.directive('focustrap', FocusTrap);
app.directive('keybindings', vKeybindings);
app.directive('autoscroll', vAutoScroll);

const cookies = cookie.parse(document.cookie);
const xsrfCookie = cookies._xsrf;
client.setDefaultHeaders(baseHost, {"X-XSRFToken": xsrfCookie})

app.mount('#app');
Loading