diff --git a/packages/services/src/kernel/manager.ts b/packages/services/src/kernel/manager.ts index f2a9fb75b582..2f3c0702de9f 100644 --- a/packages/services/src/kernel/manager.ts +++ b/packages/services/src/kernel/manager.ts @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. import { IIterator, iter, every } from '@lumino/algorithm'; -import { JSONExt, JSONObject } from '@lumino/coreutils'; import { Poll } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; @@ -257,12 +256,13 @@ export class KernelManager extends BaseManager implements Kernel.IManager { if ( this._models.size === models.length && - every(models, x => - JSONExt.deepEqual( - (this._models.get(x.id) as unknown) as JSONObject, - (x as unknown) as JSONObject - ) - ) + every(models, x => { + const existing = this._models.get(x.id); + if (!existing) { + return false; + } + return existing.name === x.name; + }) ) { // Identical models list (presuming models does not contain duplicate // ids), so just return diff --git a/packages/services/src/session/manager.ts b/packages/services/src/session/manager.ts index 939fa6a55560..1e9d092a5516 100644 --- a/packages/services/src/session/manager.ts +++ b/packages/services/src/session/manager.ts @@ -2,7 +2,6 @@ // Distributed under the terms of the Modified BSD License. import { IIterator, iter, every } from '@lumino/algorithm'; -import { JSONExt, JSONObject } from '@lumino/coreutils'; import { Poll } from '@lumino/polling'; import { ISignal, Signal } from '@lumino/signaling'; @@ -267,12 +266,19 @@ export class SessionManager extends BaseManager implements Session.IManager { if ( this._models.size === models.length && - every(models, x => - JSONExt.deepEqual( - (this._models.get(x.id) as unknown) as JSONObject, - (x as unknown) as JSONObject - ) - ) + every(models, x => { + const existing = this._models.get(x.id); + if (!existing) { + return false; + } + return ( + existing.kernel?.id === x.kernel?.id && + existing.kernel?.name === x.kernel?.name && + existing.name === x.name && + existing.path === x.path && + existing.type === x.type + ); + }) ) { // Identical models list (presuming models does not contain duplicate // ids), so just return