@@ -376,7 +376,7 @@ export class LeaseRegistry {
376376 for ( const lease of this . leases . values ( ) ) {
377377 if ( lease . expiresAt > now ) continue ;
378378 this . leases . delete ( lease . leaseId ) ;
379- this . unbindLease ( lease ) ;
379+ this . unbindLease ( lease , lease . expiresAt ) ;
380380 const expiredLease = { ...lease } ;
381381 expired . push ( expiredLease ) ;
382382 this . onLeaseExpired ?.( expiredLease ) ;
@@ -390,7 +390,7 @@ export class LeaseRegistry {
390390 const lease = this . leases . get ( normalizedLeaseId ) ;
391391 if ( ! lease || lease . expiresAt > this . now ( ) ) return undefined ;
392392 this . leases . delete ( lease . leaseId ) ;
393- this . unbindLease ( lease ) ;
393+ this . unbindLease ( lease , lease . expiresAt ) ;
394394 const expiredLease = { ...lease } ;
395395 this . onLeaseExpired ?.( expiredLease ) ;
396396 return expiredLease ;
@@ -473,7 +473,7 @@ export class LeaseRegistry {
473473 }
474474 }
475475
476- private unbindLease ( lease : DeviceLease ) : void {
476+ private unbindLease ( lease : DeviceLease , releasedAt = this . now ( ) ) : void {
477477 this . runBindings . delete (
478478 this . bindingKey ( {
479479 tenantId : lease . tenantId ,
@@ -487,7 +487,7 @@ export class LeaseRegistry {
487487 if ( deviceBindingKey ) {
488488 this . deviceBindings . delete ( deviceBindingKey ) ;
489489 }
490- this . providerSessionOwnership . markLeaseReleased ( lease ) ;
490+ this . providerSessionOwnership . markLeaseReleased ( lease , releasedAt ) ;
491491 }
492492
493493 private bindingKey ( params : {
0 commit comments