Manual Deploy not working for me

I have used deploy appflow succesfully for some time but now I would like to implement a beta channel for my app (ionic v3).

My app is currently setup as auto on Production channel. I wwould like to add an option in the app to try the beta channel version. Since many of the doc seems outaded, I am trying my best to understand the steps but it is not working. The first thing I see in my console which is surprising is an info that says: cordova-plugin-ionic has been disabled. Searching on the web, it seems that it could be something to do with fetch not being present even though window.fetch in the console returns me a functton. I even try to import ‘whatwg-fetch’; as suggested by others.

Here are the steps I do. In my app.module.ts I include import { Deploy } from ‘cordova-plugin-ionic/dist/ngx’; and define Deploy in my providers: .

I then create a service which change the channel and try to download if a new version is available.

    let progress = this.loadingCtrl.create({ content: 'Checking for new update' });
    progress.present();

    try {

      await Deploy.configure({ channel: action.channel, debug: true });
      const update = await Deploy.checkForUpdate();
      console.log('check for update : ', update.available);

      if (update.available) {
        progress = this.loadingCtrl.create({ content: 'Downloading new update' });
        progress.present();
        const downloaded = await Deploy.downloadUpdate((p) => console.log(`downloading: ${p}%`));
        if (downloaded) {
          progress.dismiss();
          progress = this.loadingCtrl.create({ content: 'Extracting new update' });
          const extracted = await Deploy.extractUpdate((p) => console.log(`extracting: ${p}%`));
          if (extracted) {
            progress.dismiss();
            progress = this.loadingCtrl.create({ content: 'Restarting now ...' });
            return Deploy.reloadApp();
          } else {
            progress.dismiss();
            const alert = this.alertCtrl.create({ message: 'Extraction failed', buttons: ['RESTART'] });
            alert.present();
            return Deploy.reloadApp();
          }

        } else {
          progress.dismiss();
          const alert = this.alertCtrl.create({ message: 'Download failed', buttons: ['RESTART'] });
          alert.present();
          return Deploy.reloadApp();
        }
      }

      return progress.dismissAll();

    }
    catch (err) {
      console.error(`error updating app: ${err}`);
      progress.dismissAll();
    }
  }

Any help or working code appreciated

Pascal