setDownloadUpdateSection(info) {
    if (UpdaterRenderer.isSettingsVisible()) {
      const checkForUpdateSection = document.querySelector('#check-for-update-section');

      checkForUpdateSection.innerHTML = `
        <div style="animation: fade_in_from_right_anim 300ms;">
          <span>
            <img src="../res/download.svg" style="
              height: 20px;
              width: 20px;
              vertical-align: bottom;
              padding-right: 5px;"
            >
          </span>
          <span style="vertical-align: -webkit-baseline-middle; margin-right: 15px;">
            New update available:
            <span style="color: var(--color-accent);">
              v${info.version}
            </span>
          </span>
          <label id="download-update-btn" class="button setting-item-button">
            ${(!isSnap()) ? 'Download update' : 'Learn more'}
          </label>
          <span
            id="check-for-update-btn"
            class="hyperlink"
            style="margin-left: 10px; color: #999; vertical-align: bottom;"
          >
            Recheck
          </span>
        </div>
      `;

      /**
       * Show snap update info
       */
      const showSnapUpdateDoc = () => {
        const snapRefreshCommand = 'sudo snap refresh g-assist';

        const res = displayDialog({
          type: 'info',
          message: 'Snap update',
          detail: [
            'Snaps generally update automatically, so there\'s no need to force an update. ',
            'You will probably be able to use the latest version from the next session by restarting the app (provided some time is given for auto-update to complete).\n\n',
            `In case the snap package does not update automatically, you can force an update by typing "${snapRefreshCommand}" in the terminal and restarting the app.`,
          ].join(''),
          buttons: [
            'Restart app',
            'Copy update command',
            'OK',
          ],
          cancelId: 2,
        });

        switch (res) {
          case 0:
            console.log('Restarting app');
            ipcRenderer.send('restart-normal');
            break;

          case 1:
            clipboard.writeText(snapRefreshCommand);
            break;

          default:
            // no-op
        }
      };

      /** @type {HTMLElement} */
      const downloadUpdateButton = checkForUpdateSection.querySelector('#download-update-btn');
      const doesUseGenericUpdater = ipcRenderer.sendSync('update:doesUseGenericUpdater');

      if (!isSnap()) {
        downloadUpdateButton.onclick = () => {
          UpdaterRenderer.requestDownloadUpdate();

          if (!doesUseGenericUpdater) {
            downloadUpdateButton.classList.add('disabled');
            downloadUpdateButton.onclick = undefined;

            downloadUpdateButton.innerHTML = `
              <img
                src="../res/throbber.svg"
                style="
                  height: 18px;
                  width: 18px;
                  vertical-align: sub;
                  padding-right: 10px;
                "
              />

              Preparing download
            `;
          }
        };
      }
      else {
        downloadUpdateButton.onclick = () => showSnapUpdateDoc();
      }

      /** @type {HTMLElement} */
      const checkForUpdatesButton = checkForUpdateSection.querySelector('#check-for-update-btn');
      checkForUpdatesButton.onclick = () => UpdaterRenderer.requestCheckForUpdates();
    }
  }
Set the "Download Update" section in the `About`
section. This status is not shown if auto-updates
are enabled.

@param {object} info
New Update Info