Superset is rad but it frequently runs into the limitations of your browser, especially the limit on local storage (5mb!). "Well", I thought to myself, "we have all these universal frameworks that are basically standalone browsers for web apps... can I get around these problems?"

Yes I can! You can too! Just

  1. Follow the Electron quick start to get everything installed and
  2. Use the code snippet below to create an app just for Superset.

Electron is basically a complete browser with some extra node goodies if you're into that sort of thing. Getting a locally-hosted website embedded was easy and now I have a nice frontend for Superset running in Electron. I regularly see LocalStorage warnings like "you're already using 19,581 kb out of 5,000!". Yeah, that's what's up.

Anyway here's the code to drop into index.js

const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({
    width: 800,
    height: 600
  })

  win.loadURL('http://127.0.0.1:8088/superset/welcome')
}
app.on('certificate-error', function(event, webContents, url, error,
  certificate, callback) {
      event.preventDefault();
      callback(true);
});


app.whenReady().then(() => {
  createWindow()

  app.on('activate', function () {
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

I tried to find a configuration file somewhere that would let me eliminate the warnings but I couldn't. Alas.