|
1 |
| -var fs = require('fs') |
2 |
| -var Path = require('path') |
3 |
| -var electron = require('electron') |
| 1 | +const electron = require('electron') |
| 2 | +const Client = require('ssb-client') |
| 3 | +const scuttleshell = require('scuttle-shell') |
4 | 4 |
|
5 |
| -console.log('STARTING SBOT') |
| 5 | +// Get config options from depject |
| 6 | +const config = require('./config').create().config.sync.load() |
6 | 7 |
|
7 |
| -var createSbot = require('scuttlebot') |
8 |
| - .use(require('scuttlebot/plugins/master')) |
9 |
| - .use(require('scuttlebot/plugins/gossip')) |
10 |
| - .use(require('scuttlebot/plugins/replicate')) |
11 |
| - .use(require('scuttlebot/plugins/invite')) |
12 |
| - .use(require('scuttlebot/plugins/local')) |
13 |
| - .use(require('scuttlebot/plugins/logging')) |
14 |
| - .use(require('ssb-about')) |
15 |
| - .use(require('ssb-backlinks')) |
16 |
| - .use(require('ssb-blobs')) |
17 |
| - .use(require('ssb-chess-db')) |
18 |
| - .use(require('ssb-ebt')) |
19 |
| - .use(require('ssb-friends')) |
20 |
| - .use(require('ssb-meme')) |
21 |
| - .use(require('ssb-private')) |
22 |
| - .use(require('ssb-query')) |
23 |
| - .use(require('ssb-search')) |
24 |
| - .use(require('ssb-unread')) |
25 |
| - .use(require('ssb-ws')) |
26 |
| - // .use(require('ssb-mutual')) // this is has recursion problems atm |
| 8 | +// Check if scuttle-shell is already running |
| 9 | +// TODO - make this check for scuttle-shell specifically (and not just an sbot) |
27 | 10 |
|
28 |
| -// pull config options out of depject |
29 |
| -var config = require('./config').create().config.sync.load() |
30 |
| - |
31 |
| -var sbot = createSbot(config) |
32 |
| -var manifest = sbot.getManifest() |
33 |
| -fs.writeFileSync(Path.join(config.path, 'manifest.json'), JSON.stringify(manifest)) |
34 |
| -electron.ipcRenderer.send('server-started') |
| 11 | +Client(config.keys, config, (err, server) => { |
| 12 | + // err implies no server currently running |
| 13 | + if (err) { |
| 14 | + console.warn('client connection failed:', err) |
| 15 | + console.log('> starting scuttle-shell') |
| 16 | + scuttleshell.start({}, (startErr) => { |
| 17 | + console.log('start done!', startErr) |
| 18 | + if (startErr) { |
| 19 | + console.error('failed to start scuttle-shell:', startErr) |
| 20 | + } else { |
| 21 | + electron.ipcRenderer.send('server-started') |
| 22 | + } |
| 23 | + }) |
| 24 | + } else { |
| 25 | + console.log('> scuttle-shell / sbot already running') |
| 26 | + server.close() // close this connection (app starts one of its own) |
| 27 | + electron.ipcRenderer.send('server-started') |
| 28 | + } |
| 29 | +}) |
0 commit comments