@@ -2,6 +2,7 @@ import React, { useRef, useState, useEffect } from 'react';
22import { ReactWidget , ISessionContext } from '@jupyterlab/apputils' ;
33import { IChangedArgs } from '@jupyterlab/coreutils' ;
44import { Kernel } from '@jupyterlab/services' ;
5+ import type { ServerConnection } from '@jupyterlab/services' ;
56import { TranslationBundle } from '@jupyterlab/translation' ;
67import { requestAPI } from './handler' ;
78import { KernelUsagePanel } from './panel' ;
@@ -126,8 +127,9 @@ const KernelUsage = (props: {
126127 tracker : KernelWidgetTracker ;
127128 panel : KernelUsagePanel ;
128129 trans : TranslationBundle ;
130+ serverSettings ?: ServerConnection . ISettings ;
129131} ) => {
130- const { panel } = props ;
132+ const { panel, serverSettings } = props ;
131133 const [ kernelId , setKernelId ] = useState < string > ( ) ;
132134 const [ path , setPath ] = useState < string > ( ) ;
133135 const [ usage , setUsage ] = useState < Usage | undefined > ( ) ;
@@ -147,30 +149,32 @@ const KernelUsage = (props: {
147149 kernelIdRef . current = kernelId ;
148150
149151 const requestUsage = ( kid : string ) => {
150- return requestAPI < any > ( `get_usage/${ kid } ` ) . then ( ( data ) => {
151- // The kernel reply may arrive late due to lax timeouts, so we need to
152- // check if it is for the current kernel
152+ return requestAPI < any > ( `get_usage/${ kid } ` , { } , serverSettings ) . then (
153+ ( data ) => {
154+ // The kernel reply may arrive late due to lax timeouts, so we need to
155+ // check if it is for the current kernel
153156
154- if ( kid !== kernelIdRef . current ) {
155- // Ignore outdated response, but preserve current reason
156- return ;
157- }
157+ if ( kid !== kernelIdRef . current ) {
158+ // Ignore outdated response, but preserve current reason
159+ return ;
160+ }
158161
159- if ( data . content ?. reason ) {
160- const reason = data . content ;
161- setReason ( reason ) ;
162- return ;
163- } else {
164- setReason ( undefined ) ;
165- }
162+ if ( data . content ?. reason ) {
163+ const reason = data . content ;
164+ setReason ( reason ) ;
165+ return ;
166+ } else {
167+ setReason ( undefined ) ;
168+ }
166169
167- const usage : Usage = {
168- ...data . content ,
169- timestamp : new Date ( ) ,
170- kernel_id : kid ,
171- } ;
172- setUsage ( usage ) ;
173- } ) ;
170+ const usage : Usage = {
171+ ...data . content ,
172+ timestamp : new Date ( ) ,
173+ kernel_id : kid ,
174+ } ;
175+ setUsage ( usage ) ;
176+ }
177+ ) ;
174178 } ;
175179
176180 useEffect ( ( ) => {
@@ -378,11 +382,13 @@ export class KernelUsageWidget extends ReactWidget {
378382 tracker : KernelWidgetTracker ;
379383 panel : KernelUsagePanel ;
380384 trans : TranslationBundle ;
385+ serverSettings ?: ServerConnection . ISettings ;
381386 } ) {
382387 super ( ) ;
383388 this . _tracker = props . tracker ;
384389 this . _panel = props . panel ;
385390 this . _trans = props . trans ;
391+ this . _serverSettings = props . serverSettings ;
386392 this . addClass ( KERNEL_USAGE_CLASS ) ;
387393 }
388394
@@ -392,7 +398,10 @@ export class KernelUsageWidget extends ReactWidget {
392398 tracker = { this . _tracker }
393399 panel = { this . _panel }
394400 trans = { this . _trans }
401+ serverSettings = { this . _serverSettings }
395402 />
396403 ) ;
397404 }
405+
406+ private _serverSettings : ServerConnection . ISettings | undefined ;
398407}
0 commit comments