message: fix: race condition in RPC session manager
diff: @@ -126,8 +126,13 @@ class RpcSessionForFile {
  private failWithoutClosing(reason: any): void {
  this.failed = reason;
  + // NOTE(WN): the sessions map is keyed by URI rather than ID and by the time this
  + // function executes, a new session for the same file may already have been added.
  + // So we should only delete the stored session if it is this one.
  + if (this.sessions.sessions.get(this.uri) === this) {
  this.sessions.sessions.delete(this.uri);
  }
  + }
  fail(reason: any) {
  this.failWithoutClosing(reason);
  