jupyterlab_claude_code_extension 1.1.13 → 1.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/widget.d.ts +2 -1
- package/lib/widget.js +5 -8
- package/package.json +1 -1
- package/src/widget.ts +5 -11
- package/style/base.css +0 -7
package/lib/widget.d.ts
CHANGED
|
@@ -50,7 +50,8 @@ export declare class ClaudeCodeSessionsWidget extends Widget {
|
|
|
50
50
|
private _findTerminalForCwd;
|
|
51
51
|
private _showCloseExistingDialog;
|
|
52
52
|
/** Show a modal with a spinner while the terminal is being launched. The
|
|
53
|
-
* caller must dismiss it via ``.
|
|
53
|
+
* caller must dismiss it via ``.dispose()`` once the work is done - the
|
|
54
|
+
* dialog has no buttons so ``.resolve()`` would be a no-op.
|
|
54
55
|
*/
|
|
55
56
|
private _showLaunchSpinner;
|
|
56
57
|
private _wireTerminalDisposal;
|
package/lib/widget.js
CHANGED
|
@@ -346,7 +346,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
346
346
|
// via terminal:open. When claude exits, the tab closes. The launch
|
|
347
347
|
// RPC + the WebSocket-resize waiter on the server can take a few
|
|
348
348
|
// seconds, so show a modal spinner for visual feedback.
|
|
349
|
-
const spinner = this._showLaunchSpinner(
|
|
349
|
+
const spinner = this._showLaunchSpinner();
|
|
350
350
|
try {
|
|
351
351
|
const launched = await requestAPI('launch-terminal', this._serverSettings, {
|
|
352
352
|
method: 'POST',
|
|
@@ -366,7 +366,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
finally {
|
|
369
|
-
spinner.
|
|
369
|
+
spinner.dispose();
|
|
370
370
|
}
|
|
371
371
|
}
|
|
372
372
|
catch (err) {
|
|
@@ -452,19 +452,16 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
452
452
|
});
|
|
453
453
|
}
|
|
454
454
|
/** Show a modal with a spinner while the terminal is being launched. The
|
|
455
|
-
* caller must dismiss it via ``.
|
|
455
|
+
* caller must dismiss it via ``.dispose()`` once the work is done - the
|
|
456
|
+
* dialog has no buttons so ``.resolve()`` would be a no-op.
|
|
456
457
|
*/
|
|
457
|
-
_showLaunchSpinner(
|
|
458
|
+
_showLaunchSpinner() {
|
|
458
459
|
const body = new Widget();
|
|
459
460
|
body.node.className = 'jp-ClaudeSessionsPanel-launchOverlay';
|
|
460
461
|
const spinner = document.createElement('div');
|
|
461
462
|
spinner.className =
|
|
462
463
|
'jp-claude-sessions-panel-spinner jp-ClaudeSessionsPanel-launchSpinner';
|
|
463
464
|
body.node.appendChild(spinner);
|
|
464
|
-
const text = document.createElement('div');
|
|
465
|
-
text.className = 'jp-ClaudeSessionsPanel-launchLabel';
|
|
466
|
-
text.textContent = label;
|
|
467
|
-
body.node.appendChild(text);
|
|
468
465
|
const dialog = new Dialog({
|
|
469
466
|
title: 'Opening Claude Code session',
|
|
470
467
|
body,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jupyterlab_claude_code_extension",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"description": "Browse, resume, and manage your Claude Code CLI sessions from a JupyterLab side panel. One click reactivates the right terminal - no duplicate tabs, live remote-control indicator, and favourites for the projects you keep coming back to.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"jupyter",
|
package/src/widget.ts
CHANGED
|
@@ -431,9 +431,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
431
431
|
// via terminal:open. When claude exits, the tab closes. The launch
|
|
432
432
|
// RPC + the WebSocket-resize waiter on the server can take a few
|
|
433
433
|
// seconds, so show a modal spinner for visual feedback.
|
|
434
|
-
const spinner = this._showLaunchSpinner(
|
|
435
|
-
`Opening ${this._lookupName(session)}...`
|
|
436
|
-
);
|
|
434
|
+
const spinner = this._showLaunchSpinner();
|
|
437
435
|
try {
|
|
438
436
|
const launched = await requestAPI<ILaunchTerminalResponse>(
|
|
439
437
|
'launch-terminal',
|
|
@@ -457,7 +455,7 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
457
455
|
this._focusTerminal(widget);
|
|
458
456
|
}
|
|
459
457
|
} finally {
|
|
460
|
-
spinner.
|
|
458
|
+
spinner.dispose();
|
|
461
459
|
}
|
|
462
460
|
} catch (err) {
|
|
463
461
|
this._showError(err);
|
|
@@ -545,9 +543,10 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
545
543
|
}
|
|
546
544
|
|
|
547
545
|
/** Show a modal with a spinner while the terminal is being launched. The
|
|
548
|
-
* caller must dismiss it via ``.
|
|
546
|
+
* caller must dismiss it via ``.dispose()`` once the work is done - the
|
|
547
|
+
* dialog has no buttons so ``.resolve()`` would be a no-op.
|
|
549
548
|
*/
|
|
550
|
-
private _showLaunchSpinner(
|
|
549
|
+
private _showLaunchSpinner(): Dialog<unknown> {
|
|
551
550
|
const body = new Widget();
|
|
552
551
|
body.node.className = 'jp-ClaudeSessionsPanel-launchOverlay';
|
|
553
552
|
|
|
@@ -556,11 +555,6 @@ export class ClaudeCodeSessionsWidget extends Widget {
|
|
|
556
555
|
'jp-claude-sessions-panel-spinner jp-ClaudeSessionsPanel-launchSpinner';
|
|
557
556
|
body.node.appendChild(spinner);
|
|
558
557
|
|
|
559
|
-
const text = document.createElement('div');
|
|
560
|
-
text.className = 'jp-ClaudeSessionsPanel-launchLabel';
|
|
561
|
-
text.textContent = label;
|
|
562
|
-
body.node.appendChild(text);
|
|
563
|
-
|
|
564
558
|
const dialog = new Dialog<unknown>({
|
|
565
559
|
title: 'Opening Claude Code session',
|
|
566
560
|
body,
|
package/style/base.css
CHANGED
|
@@ -256,13 +256,6 @@
|
|
|
256
256
|
border-width: 3px;
|
|
257
257
|
}
|
|
258
258
|
|
|
259
|
-
.jp-ClaudeSessionsPanel-launchLabel {
|
|
260
|
-
font-size: var(--jp-ui-font-size1);
|
|
261
|
-
color: var(--jp-ui-font-color1);
|
|
262
|
-
text-align: center;
|
|
263
|
-
word-break: break-word;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
259
|
.jp-ClaudeSessionsPanel-row.jp-mod-busy {
|
|
267
260
|
opacity: 0.55;
|
|
268
261
|
pointer-events: none;
|