pull latest changes from deltachat-node

This commit is contained in:
missytake
2022-05-05 15:52:10 +02:00
committed by Simon Laux
parent e9511ebfc3
commit b238c7e743
3 changed files with 60 additions and 13 deletions

View File

@@ -27,7 +27,7 @@ export class Context extends EventEmitter {
constructor(
readonly manager: AccountManager | null,
private inner_dcn_context: NativeContext,
readonly account_id: number
readonly account_id: number | null
) {
super()
debug('DeltaChat constructor')
@@ -37,7 +37,7 @@ export class Context extends EventEmitter {
* automatically starts the event handler */
static open(cwd: string): Context {
const dbFile = join(cwd, 'db.sqlite')
const context = new Context(null, binding.dcn_context_new(dbFile), 42)
const context = new Context(null, binding.dcn_context_new(dbFile), null)
debug('Opened context')
function handleCoreEvent(
eventId: number,
@@ -48,10 +48,11 @@ export class Context extends EventEmitter {
debug(eventString, data1, data2)
if (!context.emit) {
console.log('Received an event but EventEmitter is already destroyed.')
console.log(eventString, 42, data1, data2)
console.log(eventString, data1, data2)
return
}
context.emit(eventString, 42, data1, data2)
context.emit(eventString, data1, data2)
context.emit('ALL', eventString, data1, data2)
}
binding.dcn_start_event_handler(
context.dcn_context,
@@ -170,12 +171,20 @@ export class Context extends EventEmitter {
reject(new Error(error))
}
const onConfigure = (accountId: number, data1: number, data2: string) => {
if (this.account_id !== accountId) {
return
let onConfigure: (...args: any[]) => void
if (this.account_id === null) {
onConfigure = (data1: number, data2: string) => {
if (data1 === 0) return onFail(data2)
else if (data1 === 1000) return onSuccess()
}
} else {
onConfigure = (accountId: number, data1: number, data2: string) => {
if (this.account_id !== accountId) {
return
}
if (data1 === 0) return onFail(data2)
else if (data1 === 1000) return onSuccess()
}
if (data1 === 0) return onFail(data2)
else if (data1 === 1000) return onSuccess()
}
const removeListeners = () => {