mirror of https://codeberg.org/pzp/zooboard.git
Merge pull request 'Start using the pzp-sdk' (#9) from sdk into master
Reviewed-on: https://codeberg.org/pzp/zooboard/pulls/9
This commit is contained in:
commit
992eb762d6
77
main.js
77
main.js
|
@ -2,8 +2,8 @@ const { app, BrowserWindow, ipcMain, shell, clipboard } = require('electron')
|
|||
const Path = require('node:path')
|
||||
const URL = require('node:url')
|
||||
const p = require('node:util').promisify
|
||||
const Keypair = require('pzp-keypair')
|
||||
const awaitable = require('pull-awaitable')
|
||||
const { createPeer } = require('pzp-sdk')
|
||||
|
||||
// WARNING monkey patch! -------------------------------------------------------
|
||||
const na = require('sodium-native')
|
||||
|
@ -23,51 +23,10 @@ app.setPath('userData', process.env.ZOOBOARD_DATA)
|
|||
const path = Path.resolve(app.getPath('userData'), 'pzp')
|
||||
console.log("Appdata path:", process.env.ZOOBOARD_DATA)
|
||||
|
||||
const keypairPath = Path.join(path, 'keypair.json')
|
||||
const keypair = Keypair.loadOrCreateSync(keypairPath)
|
||||
let mainWindow
|
||||
let globalAccountID = null
|
||||
let globalAccountName = null
|
||||
|
||||
const peer = require('secret-stack/bare')()
|
||||
.use(require('secret-stack/plugins/net'))
|
||||
.use(require('secret-handshake-ext/secret-stack'))
|
||||
.use(require('pzp-net'))
|
||||
.use(require('pzp-db'))
|
||||
.use(require('pzp-set'))
|
||||
.use(require('pzp-dict'))
|
||||
.use(require('pzp-goals'))
|
||||
.use(require('pzp-sync'))
|
||||
.use(require('pzp-gc'))
|
||||
.use(require('pzp-conductor'))
|
||||
.use(require('pzp-hub-client'))
|
||||
.use(require('pzp-promise'))
|
||||
.use(require('pzp-invite'))
|
||||
.call(null, {
|
||||
shse: {
|
||||
caps: require('pzp-caps'),
|
||||
},
|
||||
global: {
|
||||
keypair,
|
||||
path,
|
||||
timers: {
|
||||
inactivity: 10 * 60e3,
|
||||
},
|
||||
connections: {
|
||||
incoming: {
|
||||
tunnel: [{ transform: 'shse', scope: 'public' }],
|
||||
},
|
||||
outgoing: {
|
||||
net: [{ transform: 'shse' }],
|
||||
tunnel: [{ transform: 'shse' }],
|
||||
},
|
||||
},
|
||||
},
|
||||
net: {
|
||||
autostart: false,
|
||||
},
|
||||
})
|
||||
|
||||
createPeer({ path }).then(({ peer, account: globalAccountID }) => {
|
||||
function createWindow() {
|
||||
mainWindow = new BrowserWindow({
|
||||
width: 1200,
|
||||
|
@ -97,25 +56,16 @@ function createWindow() {
|
|||
}
|
||||
|
||||
async function loadAccount() {
|
||||
if (globalAccountID !== null) {
|
||||
if (globalAccountName !== null) {
|
||||
return { id: globalAccountID, name: globalAccountName }
|
||||
}
|
||||
|
||||
// Kickstart
|
||||
await peer.db.loaded()
|
||||
const id = await p(peer.db.account.findOrCreate)({ subdomain: 'person' })
|
||||
globalAccountID = id
|
||||
await p(peer.set.load)(id)
|
||||
await p(peer.dict.load)(id)
|
||||
|
||||
// Read profile
|
||||
const profile = await p(peer.dict.read)(id, 'profile')
|
||||
const profile = await p(peer.dict.read)(globalAccountID, 'profile')
|
||||
const name = profile?.name ?? ''
|
||||
globalAccountName = name
|
||||
|
||||
await peer.net.start()
|
||||
|
||||
return { id, name }
|
||||
return { id: globalAccountID, name }
|
||||
}
|
||||
|
||||
async function setProfileName(ev, name) {
|
||||
|
@ -286,21 +236,6 @@ if (process.defaultApp) {
|
|||
app.setAsDefaultProtocolClient('pzp')
|
||||
}
|
||||
|
||||
//const hasLock = app.requestSingleInstanceLock()
|
||||
|
||||
//if (!hasLock) {
|
||||
// app.quit()
|
||||
//} else {
|
||||
// app.on('second-instance', (ev, argv, cwd, extraData) => {
|
||||
// if (mainWindow) {
|
||||
// if (mainWindow.isMinimized()) mainWindow.restore()
|
||||
// mainWindow.focus()
|
||||
// if (argv.length > 1) {
|
||||
// handlePZPUri(null, argv[argv.length - 1])
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
|
||||
app.whenReady().then(() => {
|
||||
ipcMain.handle('loadAccount', loadAccount)
|
||||
ipcMain.handle('setProfileName', setProfileName)
|
||||
|
@ -322,4 +257,4 @@ if (process.defaultApp) {
|
|||
if (process.platform !== 'darwin') app.quit()
|
||||
})
|
||||
})
|
||||
//}
|
||||
}).catch(err => console.error("Couldn't create peer:", err))
|
||||
|
|
|
@ -22,14 +22,15 @@
|
|||
"concurrently": "^8.2.2",
|
||||
"debounce": "2.0",
|
||||
"pzp-caps": "^1.0.0",
|
||||
"pzp-db": "^1.0.1",
|
||||
"pzp-db": "^1.0.2",
|
||||
"pzp-dict": "^1.0.0",
|
||||
"pzp-gc": "^1.0.0",
|
||||
"pzp-goals": "^1.0.0",
|
||||
"pzp-keypair": "^1.0.0",
|
||||
"pzp-sdk": "^1.0.0",
|
||||
"pzp-set": "^1.0.0",
|
||||
"pzp-sync": "^1.0.0",
|
||||
"pzp-conductor": "^1.0.0",
|
||||
"pzp-conductor": "^1.0.2",
|
||||
"pzp-hub-client": "^1.0.0",
|
||||
"pzp-invite": "^1.0.0",
|
||||
"pzp-net": "^1.0.1",
|
||||
|
|
|
@ -26,11 +26,11 @@ dependencies:
|
|||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
pzp-conductor:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
specifier: ^1.0.2
|
||||
version: 1.0.2
|
||||
pzp-db:
|
||||
specifier: ^1.0.1
|
||||
version: 1.0.1
|
||||
specifier: ^1.0.2
|
||||
version: 1.0.2
|
||||
pzp-dict:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
|
@ -55,6 +55,9 @@ dependencies:
|
|||
pzp-promise:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
pzp-sdk:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0(pzp-caps@1.0.0)(pzp-conductor@1.0.2)(pzp-db@1.0.2)(pzp-dict@1.0.0)(pzp-gc@1.0.0)(pzp-goals@1.0.0)(pzp-hub-client@1.0.0)(pzp-invite@1.0.0)(pzp-keypair@1.0.0)(pzp-net@1.0.1)(pzp-promise@1.0.0)(pzp-set@1.0.0)(pzp-sync@1.0.0)(secret-handshake-ext@0.0.11)(secret-stack@8.1.0)
|
||||
pzp-set:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0
|
||||
|
@ -9611,8 +9614,8 @@ packages:
|
|||
resolution: {integrity: sha512-X/0lJFky3ztsypwwegrhjLODxe+ZFcQPWibBWD7SOuiG6+k01EhBFf7Tb9XvrYTncz9mbNXlaF4Iw0ihI55t0g==}
|
||||
dev: false
|
||||
|
||||
/pzp-conductor@1.0.0:
|
||||
resolution: {integrity: sha512-FyZz446so7x5fRPhJZ70q1Icb4lVR7C/ovt/0fIPQf2UtxnqXaJtI1ptb/xmto6lg8ETc9OpPQMft/Ns6V8Rgw==}
|
||||
/pzp-conductor@1.0.2:
|
||||
resolution: {integrity: sha512-jNIxodNp/XjQQtJpz7kXV4r7rLYvd0pB/PP3CDvSgxO8i3p53yWmv5tRfpdIExmVwkTdjFbxsFEFWy8j0JYvQA==}
|
||||
engines: {node: '>=16'}
|
||||
dependencies:
|
||||
debug: 4.3.4
|
||||
|
@ -9620,8 +9623,8 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/pzp-db@1.0.1:
|
||||
resolution: {integrity: sha512-Bi3i4j9A49ElQ3yTGOl4a5eQ0p3vciaKUMZK+p2Rq42FrFI95BTZGYPFjgUDGgAstcnPsROEF3kCseaM46eoQg==}
|
||||
/pzp-db@1.0.2:
|
||||
resolution: {integrity: sha512-BBFw/VdFtw3toEgHHTUhnXItwOVsTgeAZuVyHqPUGw79MjI9sngY0PTLZRo51TFFxQQpFCNds4ljqXqiz2y6Pg==}
|
||||
engines: {node: '>=16'}
|
||||
dependencies:
|
||||
'@alloc/quick-lru': 5.2.0
|
||||
|
@ -9743,6 +9746,43 @@ packages:
|
|||
bs58: 5.0.0
|
||||
dev: false
|
||||
|
||||
/pzp-sdk@1.0.0(pzp-caps@1.0.0)(pzp-conductor@1.0.2)(pzp-db@1.0.2)(pzp-dict@1.0.0)(pzp-gc@1.0.0)(pzp-goals@1.0.0)(pzp-hub-client@1.0.0)(pzp-invite@1.0.0)(pzp-keypair@1.0.0)(pzp-net@1.0.1)(pzp-promise@1.0.0)(pzp-set@1.0.0)(pzp-sync@1.0.0)(secret-handshake-ext@0.0.11)(secret-stack@8.1.0):
|
||||
resolution: {integrity: sha512-kpga5eN47PEsignEgY7cMCUl5dEnnCurvCj0c3dAH4T08MPsVRXzkC5yrBEnZbdXYjUAdZEEiUlMBsconmlxiQ==}
|
||||
engines: {node: '>=18'}
|
||||
peerDependencies:
|
||||
pzp-caps: ^1.0.0
|
||||
pzp-conductor: ^1.0.2
|
||||
pzp-db: ^1.0.2
|
||||
pzp-dict: ^1.0.0
|
||||
pzp-gc: ^1.0.0
|
||||
pzp-goals: ^1.0.0
|
||||
pzp-hub-client: ^1.0.0
|
||||
pzp-invite: ^1.0.0
|
||||
pzp-keypair: ^1.0.0
|
||||
pzp-net: ^1.0.1
|
||||
pzp-promise: ^1.0.0
|
||||
pzp-set: ^1.0.0
|
||||
pzp-sync: ^1.0.0
|
||||
secret-handshake-ext: 0.0.11
|
||||
secret-stack: ~8.1.0
|
||||
dependencies:
|
||||
pzp-caps: 1.0.0
|
||||
pzp-conductor: 1.0.2
|
||||
pzp-db: 1.0.2
|
||||
pzp-dict: 1.0.0
|
||||
pzp-gc: 1.0.0
|
||||
pzp-goals: 1.0.0
|
||||
pzp-hub-client: 1.0.0
|
||||
pzp-invite: 1.0.0
|
||||
pzp-keypair: 1.0.0
|
||||
pzp-net: 1.0.1
|
||||
pzp-promise: 1.0.0
|
||||
pzp-set: 1.0.0
|
||||
pzp-sync: 1.0.0
|
||||
secret-handshake-ext: 0.0.11
|
||||
secret-stack: 8.1.0
|
||||
dev: false
|
||||
|
||||
/pzp-set@1.0.0:
|
||||
resolution: {integrity: sha512-+BLssohjri/FgNSPSPffkcgBAXAxiycoS9W0kPZJtLeqSCwkhkyhPG3CHhOFhktUJ24wbTDFn0PnhOu0f9ZhbA==}
|
||||
engines: {node: '>=16'}
|
||||
|
|
Loading…
Reference in New Issue