We have an infinite loop when we use this custom widget

    class HDAppUserInfo extends SIBDisplayLookupList {
      get parentElement() {return "div"}
      getTemplate(value, index) {
        var firstname, lastname, email;

        if(typeof value == "object")
          if(value.first_name) {
            firstname = value.first_name;
            lastname  = value.last_name;
            email     = value.email;
          }
          else {
            store.get(value).then(resource => {
                this.value.push(resource);
                this.render();
            });
            if(Array.isArray(this.value))this.value.splice(this.value.indexOf(value), 1);
            else this.value = [];
            return '';
          }
        return `<div id="${firstname}-${lastname}">${firstname} ${lastname}</div>
                <div id="${email}">${email}</div>`;
      }
    }
    customElements.define('hdapp-userinfo', HDAppUserInfo);

cf members.pug

Edited by Clément