Fix user instantiation bug #3
|
@ -224,7 +224,7 @@ class User(DBUser, BaseUser):
|
|||
|
||||
if create:
|
||||
cls.log.debug(f"Creating user instance for {mxid}")
|
||||
user = cls(mxid)
|
||||
user = cls(mxid, False, False)
|
||||
await user.insert()
|
||||
user._add_to_cache()
|
||||
return user
|
||||
|
@ -424,10 +424,10 @@ class User(DBUser, BaseUser):
|
|||
state_event=BridgeStateEvent.UNKNOWN_ERROR,
|
||||
error_code="kt-reconnection-error",
|
||||
)
|
||||
except Exception:
|
||||
except Exception as e:
|
||||
self.log.exception("Error connecting to KakaoTalk")
|
||||
await self.send_bridge_notice(
|
||||
"Failed to connect to KakaoTalk: unknown error (see logs for more details)",
|
||||
f"Failed to connect to KakaoTalk: {e.message}",
|
||||
edit=event_id,
|
||||
state_event=BridgeStateEvent.UNKNOWN_ERROR,
|
||||
error_code="kt-reconnection-error",
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
},
|
||||
"dependencies": {
|
||||
"arg": "^4.1.3",
|
||||
"hash-wasm": "^4.8.0",
|
||||
"node-kakao": "4.5.0",
|
||||
"systemd-daemon": "^1.1.2"
|
||||
},
|
||||
|
|
|
@ -40,6 +40,7 @@ const { OpenChannelUserPerm } = openlink
|
|||
import chat from "node-kakao/chat"
|
||||
const { KnownChatType } = chat
|
||||
|
||||
import * as modutil from "./modutil.js"
|
||||
import { emitLines, promisify } from "./util.js"
|
||||
|
||||
/**
|
||||
|
@ -581,7 +582,7 @@ export default class PeerClient {
|
|||
* @param {string} uuid
|
||||
*/
|
||||
async #createAuthClient(uuid) {
|
||||
return await AuthApiClient.create(this.deviceName, uuid)
|
||||
return await AuthApiClient.create(this.deviceName, uuid, {}, modutil.ModXVCProvider)
|
||||
}
|
||||
|
||||
// TODO Wrapper for per-user commands
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
// matrix-appservice-kakaotalk - A Matrix-KakaoTalk puppeting bridge.
|
||||
// Copyright (C) 2022 Tulir Asokan, Andrew Ferrazzutti
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Affero General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Affero General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
import { sha512 } from "hash-wasm"
|
||||
|
||||
import kakao from "node-kakao"
|
||||
const { DefaultConfiguration } = kakao
|
||||
|
||||
|
||||
DefaultConfiguration.version = "3.4.2"
|
||||
DefaultConfiguration.appVersion = "3.4.2.3187"
|
||||
|
||||
export const ModXVCProvider = {
|
||||
toFullXVCKey(deviceUUID, userAgent, email) {
|
||||
const source = `WINTER|${userAgent}|ARTHUR|${email}|${deviceUUID}`
|
||||
return sha512(source)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue