Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add sys message in FriendRequest Event #260

Closed
lijiarui opened this issue Feb 16, 2017 · 22 comments
Closed

add sys message in FriendRequest Event #260

lijiarui opened this issue Feb 16, 2017 · 22 comments
Assignees
Labels

Comments

@lijiarui
Copy link
Member

lijiarui commented Feb 16, 2017

According to the reply of JohnChang in Wechaty Developers' Home:

Expected behavior

fire friendRequest event when accepted a friend request

Actual behavior

cannot fire friendRequest event

Fix

This bug because we cannot recognize this sys message, so wechaty cannot fire friendrequest event. I will add sys message in fire.ts then.

sys message as follows:

johnbassserver@gmail.com just added you to his/her contacts list. Send a message to him/her now!

If others have any sys message, please help to add in this issue, Thanks!

@JOHNBASS
Copy link

sys message as follows 簡體中文:

johnbassserver@gmail.com刚刚把你添加到通讯录,现在可以开始聊天了。

The issue only friend event not work, other event is work.

@lijiarui
Copy link
Member Author

lijiarui commented Feb 16, 2017

@JOHNBASS

johnbassserver@gmail.com刚刚把你添加到通讯录,现在可以开始聊天了。

Please help me to confirm whether it has a space between johnbassserver@gmail.com and 刚刚把你添加到通讯录.

Thanks

@JOHNBASS
Copy link

@lijiarui

No space for Chinese. thank you.

Add wechaty log:

JohnChang login

Contact: johnbassserver@gmail.com Content: johnbassserver@gmail.com刚刚把你添加到通讯录,现在可以开始聊天了。

Regards,
John.

@lijiarui
Copy link
Member Author

@JOHNBASS please try the latest code and tell us whether it works

@JOHNBASS
Copy link

@lijiarui I got it, i will try and feedback result. thank you!

@lijiarui
Copy link
Member Author

@zixia Please help me to open this issue until @JOHNBASS have checked it works.

I cannot open the issue.

@huan huan reopened this Feb 17, 2017
@huan
Copy link
Member

huan commented Feb 17, 2017

@lijiarui Sorry for the closing, because I put a fix #260 in the PR merge message by mistake.

I remember there's a Wechaty developer who is from Taiwan(using traditional Chinese). It would be wonderful if he could help us to add Traditional Chinese support to those messages.

@lijiarui
Copy link
Member Author

@zixia you mean the developer send the picture with traditional Chinese in Wechaty Developers Home ? He is @JOHNBASS here.

@JOHNBASS After checking the latest fix, could you paste related sys-message here, and wechaty can support traditional Chinese then.

@JOHNBASS
Copy link

@lijiarui ok, i will try it again. Thank you.

@zixia My issue is English language not work.
I have tested Traditional Chinese and Simplified Chinese, but same as the not work.

@JOHNBASS
Copy link

@lijiarui Always not work for English language.

testing log:

JohnChang login
Contact: johnbassserver@gmail.com Content: <a target="_blank" href="/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fjohnbassserver%40gmail.com&skey=%40crypt_a6245341_2aebca13417adca518c264f3e630f6dc&deviceid=e719503398193393&pass_ticket=undefined&opcode=2&scene=1&username=@a985e3c520f4799c35e29b3698ade1e9f82ea5d137b605e35549e6af82bef339">johnbassserver@gmail.com</a> just added you to his/her contacts list. Send a message to him/her now!

@lijiarui
Copy link
Member Author

lijiarui commented Feb 17, 2017

Thanks @JOHNBASS , could you paste the following log here?

1.Run npm run doctor or wechaty run doctor(for docker user), paste output here
2.Set WECHATY_LOG=silly and paste the full log here?

Thanks!

@JOHNBASS
Copy link

JOHNBASS commented Feb 17, 2017

@lijiarui

1.Run wechaty run doctor(for docker user), paste output here

`ubuntu@ip-172-31-46-80:/home/wechat/wechaty$ sudo docker run -ti --rm --volume="$(pwd)":/bot zixia/wechaty test.ts


\ \ / /__ | | __ | | _ _
\ \ /\ / / _ / _| ' \ / ` | __| | | |
\ V V / / (| | | | (
| | |
| || |
_/_/ _|_|
| ||_,|_|_, |
|
__/


        https://www.wechaty.io

/ | _ __ _ __ ___ | |() __ __ _
| | / _ | '_ | '_ \ / _ / | | | ' \ / _` |
| |
| () | | | | | | | / (| || | | | | (| |
_
_/|| ||| ||_|_|_||| ||_, |
|
_/


/ | | __ | || __ ) ___ | | ___
| | | '_ \ / ` | __| _ \ / _ | _/ |
| |
| | | | (
| | || |) | () | |__
_|| ||_,|_|/ ___/ _|/

Starting Wechaty ... v0.7.32

Working directory: /bot
Install dependencies modules ...
yarn install v0.19.1
[1/4] Resolving packages...
[2/4] Fetching packages...
warning fsevents@1.0.17: The platform "linux" is incompatible with this module.
info "fsevents@1.0.17" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
Done in 22.16s.
Executing ts-node test.ts
INFO Wechaty v0.7.32 initializing...
https://login.weixin.qq.com/qrcode/oZM5TaDXPg==
JohnChang login
Contact: johnbassserver@gmail.com Content: johnbassserver@gmail.com just added you to his/her contacts list. Send a message to him/her now!
`
2. Sorry, how to Set WECHATY_LOG=silly ?

@lijiarui
Copy link
Member Author

lijiarui commented Feb 17, 2017

@JOHNBASS

1. About full log

It seems you are using docker, and the docker version 0.7.32 don't support the latest commit.

If you want to try the latest, you should use git clone https://github.com/wechaty/wechaty.git and npm install, or you would wait for @zixia push change docker.

or @zixia Could you give some suggestion?

2. Set WECHATY_LOG to silly

run wechaty with the following code:

docker run -ti --rm -e WECHATY_LOG=silly --volume="$(pwd)":/bot zixia/wechaty test.ts

-e WECHATY_LOG="$WECHATY_LOG" : Pass the environment variable WECHATY_LOG into the container

you can click wiki/docker get more information.

@JOHNBASS
Copy link

@lijiarui thank you!
debug log:
`ubuntu@ip-172-31-46-80:/home/wechat/wechaty$ sudo docker run -ti --rm -e WECHATY_LOG=silly --volume="$(pwd)":/bot zixia/wechaty test.ts


\ \ / /__ | | __ | | _ _
\ \ /\ / / _ / _| ' \ / ` | __| | | |
\ V V / / (| | | | (
| | |
| || |
_/_/ _|_|
| ||_,|_|_, |
|
__/


        https://www.wechaty.io

/ | _ __ _ __ ___ | |() __ __ _
| | / _ | '_ | '_ \ / _ / | | | ' \ / _` |
| |
| () | | | | | | | / (| || | | | | (| |
_
_/|| ||| ||_|_|_||| ||_, |
|
_/


/ | | __ | || __ ) ___ | | ___
| | | '_ \ / ` | __| _ \ / _ | _/ |
| |
| | | | (
| | || |) | () | |__
_|| ||_,|_|/ ___/ _|/

Starting Wechaty ... v0.7.32

Working directory: /bot
Install dependencies modules ...
yarn install v0.19.1
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.94s.
Executing ts-node test.ts
SILL Brolog WECHATY_LOG set level to silly
SILL StateMonitor constructor(Wechaty, standby)
VERB Wechaty contructor()
VERB Wechaty addListener(scan, function)
VERB Wechaty addListener(login, function)
VERB Wechaty addListener(friend, function)
VERB Wechaty addListener(message, function)
SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/wechaty/dist/.git'
INFO Wechaty v0.7.32 initializing...
VERB Wechaty puppet: web
VERB Wechaty head: chrome
VERB Wechaty profile: null
VERB Wechaty uuid: 16984153-af98-4de4-be16-1bf4299f1c93
SILL StateMonitor Wechaty:current() - standby
VERB StateMonitor Wechaty:target(ready) <- (standby)
VERB StateMonitor Wechaty:current(ready,false) <- (standby,true)
SILL StateMonitor constructor(Puppet, dead)
VERB Config puppetInstance(PuppetWeb)
VERB PuppetWeb init() with head:chrome, profile:null
VERB StateMonitor Puppet:target(live) <- (dead)
VERB StateMonitor Puppet:current(live,false) <- (dead,true)
SILL UtilLib getPort(18788)
SILL UtilLib getPort(18788) return: 19747
VERB PuppetWeb init() getPort 19747
VERB PuppetWeb initServer()
SILL StateMonitor Puppet:target() - live
VERB PuppetWebServer init() on port 19747
VERB PuppetWebServer createHttpsServer() listen on port 19747
VERB PuppetWeb initServer() done
VERB PuppetWeb initBrowser()
SILL StateMonitor constructor(Browser, close)
VERB PuppetWebBrowser constructor() with head(chrome) sessionFile(null)
VERB PuppetWebBrowserDriver constructor(chrome)
VERB PuppetWebBrowserCookie constructor(BrowserDriver, )
SILL StateMonitor Puppet:target() - live
VERB PuppetWebBrowser init()
SILL StateMonitor Browser:current() - close
VERB StateMonitor Browser:target(open) <- (close)
VERB StateMonitor Browser:current(open,false) <- (close,true)
VERB PuppetWebBrowserCookie hostname()
VERB PuppetWebBrowserCookie getCookiesFromFile() from "undefined"
SILL PuppetWebBrowserCookie getCookiesFromFile() no cookies: no store file
SILL PuppetWebBrowserCookie hostname() no cookie, return default hostname
VERB PuppetWebBrowserDriver init() for head: chrome
VERB PuppetWebBrowserDriver initChromeDriver()
VERB PuppetWebBrowserDriver initChromeDriver() wechaty in docker confirmed(should not show this in CI)
VERB PuppetWebBrowserDriver initChromeDriver() new Builder()
VERB PuppetWebBrowserDriver initChromeDriver() new Builder() done
VERB PuppetWebBrowserDriver valid()
VERB PuppetWebBrowserDriver valid() getSession()
VERB PuppetWebBrowserDriver valid() getSession() then() done
VERB PuppetWebBrowserDriver valid() getSession() then() watchdog timer exist, will be cleared
VERB PuppetWebBrowserDriver watchdogTimer = null after set null
VERB PuppetWebBrowserDriver valid() driver.getSession() done()
VERB PuppetWebBrowserDriver valid() driver.executeScript() done
SILL PuppetWebBrowserDriver valid() driver ok
VERB PuppetWebBrowserDriver initChromeDriver() valid() done: true
SILL PuppetWebBrowserDriver initChromeDriver() success
VERB PuppetWebBrowser init() driver.init() done
VERB PuppetWebBrowser open(https://wx.qq.com/zh_CN/htmledition/v2/images/webwxgeticon.jpg)
VERB PuppetWebBrowserCookie load() from "undefined"
VERB PuppetWebBrowserCookie getCookiesFromFile() from "undefined"
SILL PuppetWebBrowserCookie getCookiesFromFile() no cookies: no store file
SILL PuppetWebBrowserCookie load() no cookies
VERB PuppetWebBrowser open(https://wx.qq.com)
SILL StateMonitor Browser:target() - open
VERB StateMonitor Browser:current(open,true) <- (open,false)
VERB PuppetWeb initBrowser() done
VERB PuppetWeb initBridge()
VERB PuppetWebBridge new Bridge({puppet: PuppetWeb, port: 19747})
SILL StateMonitor Puppet:target() - live
VERB PuppetWebBridge init()
VERB PuppetWebBridge inject()
VERB PuppetWebBridge getInjectio()
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("injectioReturnValue = /** * * Wechaty - Wechat for Bot, and human who talk to ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done] port[19747]
VERB PuppetWebBridge proxyWechaty(init, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ on port: 19747] port[19747]
VERB PuppetWebBridge ding(inject())
VERB PuppetWebBridge proxyWechaty(ding, inject())
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() ding success
VERB PuppetWeb initBridge() done
VERB StateMonitor Puppet:current(live,true) <- (live,false)
SILL PuppetWebWatchdog onFeed: 120000, HEARTBEAT[inited]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
VERB PuppetWebWatchdog clearWatchDogTimer() nothing to clear
SILL PuppetWebWatchdog setWatchDogTimer(120000, HEARTBEAT:[inited])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 11 MB, require: 4 MB
VERB PuppetWeb init() done
VERB StateMonitor Wechaty:current(ready,true) <- (ready,false)
VERB PuppetWebServer createSocketIo() got connection from browser
VERB PuppetWebServer initEventFromClient()
VERB PuppetWebEvent onServerConnection: [object Object]
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(connectSocket: io not found. loading lib...)
VERB PuppetWebEvent onServerLog(checkScan() - code change detected: from null to 0)
VERB PuppetWebEvent onServerScan(0)
VERB PuppetWebBrowserCookie save() no store file
SILL PuppetWebWatchdog onFeed: 60000, SCAN[[object Object]]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [120] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, SCAN:[[object Object]])
SILL PuppetWebWatchdog monitorScan(SCAN)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 13 MB, require: 4 MB

https://login.weixin.qq.com/qrcode/wb_ulLkU7Q==
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [60] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 12 MB, require: 4 MB
VERB PuppetWebEvent onServerLog(recv ding)
VERB PuppetWebEvent onServerLog(socket io lib loaded.)
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(checkScan() - code change detected: from 0 to 201)
VERB PuppetWebEvent onServerScan(201)
VERB PuppetWebBrowserCookie save() no store file
SILL PuppetWebWatchdog onFeed: 60000, SCAN[[object Object]]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [54] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, SCAN:[[object Object]])
SILL PuppetWebWatchdog monitorScan(SCAN)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 11 MB, require: 4 MB

https://login.weixin.qq.com/qrcode/wb_ulLkU7Q==
SILL PuppetWebServer initEventsFromClient() on(disconnect) socket.io disconnect: transport close
VERB PuppetWebEvent onServerDisconnect(transport close)
SILL StateMonitor Puppet:current() - live
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebBrowser readyLive()
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBrowser Browser.execute("return 1+1")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerDisconnect() re-initing bridge
VERB PuppetWebBridge init()
VERB PuppetWebBridge inject()
VERB PuppetWebBridge getInjectio()
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("injectioReturnValue = /** * * Wechaty - Wechat for Bot, and human who talk to ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done] port[19747]
VERB PuppetWebBridge proxyWechaty(init, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ on port: 19747] port[19747]
VERB PuppetWebBridge ding(inject())
VERB PuppetWebBridge proxyWechaty(ding, inject())
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebServer createSocketIo() got connection from browser
VERB PuppetWebServer initEventFromClient()
VERB PuppetWebEvent onServerConnection: [object Object]
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() ding success
VERB PuppetWebEvent onServerDisconnect() setTimeout() bridge.init() done.
VERB PuppetWebEvent onServerLog(login(page refresh))
VERB PuppetWebEvent onServerLogin(page refresh, 0)
VERB PuppetWebBridge getUserName()
VERB PuppetWebBridge proxyWechaty(getUserName, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerLog(connectSocket())
SILL PuppetWebEvent bridge.getUserName: @f43fa99437e7feb1bbb8a73ef1ff8a1d29532c752a0d48ef93cc4740803e60e8
SILL Contact constructor(@f43fa99437e7feb1bbb8a73ef1ff8a1d29532c752a0d48ef93cc4740803e60e8)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @f43fa99437e7feb1bbb8a73ef1ff8a1d29532c752a0d48ef93cc4740803e60e8)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerLog(connectSocket: io not found. loading lib...)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@f43fa99437e7feb1bbb8a73ef1ff8a1d29532c752a0d48ef93cc4740803e60e8) resolved
SILL PuppetWebEvent onServerLogin() user JohnChang logined
VERB PuppetWebBrowserCookie save() no store file
JohnChang login
VERB PuppetWebEvent onServerLog(checkScan() - already login, no more check, and return(only))
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [54] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 13 MB, require: 4 MB
VERB PuppetWebEvent onServerLog(socket io lib loaded.)
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(recv ding)
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [46] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 21 MB, require: 4 MB
SILL Message constructor() SN:0
SILL Message ready()
SILL Contact constructor(@af16202e7e18c6a1e4f10ee04465139e0764f7b79096fc8a9b6374c9a9c5fb9d)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @af16202e7e18c6a1e4f10ee04465139e0764f7b79096fc8a9b6374c9a9c5fb9d)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@af16202e7e18c6a1e4f10ee04465139e0764f7b79096fc8a9b6374c9a9c5fb9d) resolved
SILL Contact ready()
SILL PuppetWebFirer fireFriendConfirm(johnbassserver@gmail.com just added you to his/her contacts list. Send a message to him/her now!)
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
Contact: johnbassserver@gmail.com Content: johnbassserver@gmail.com just added you to his/her contacts list. Send a message to him/her now!
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [46] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 50 MB, require: 4 MB
SILL Message constructor() SN:1
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
SILL PuppetWebFirer fireFriendConfirm(Transacting with this user may be compromised. Double check and verify user's identity to prevent fraud. Learn more, )
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
Contact: johnbassserver@gmail.com Content: Transacting with this user may be compromised. Double check and verify user's identity to prevent fraud. Learn more,
SILL Message constructor() SN:2
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
Contact: johnbassserver@gmail.com Content: Hi
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 41 MB, require: 4 MB
`

@lijiarui
Copy link
Member Author

@JOHNBASS I guess because your wechaty version isn't the latest, I saw @zixia updated docker an hour ago, you can try the following code:

docker pull zixia/wechaty

Then run wechaty run doctor(for docker user), check your wechaty version, if you get version is 0.7.33 then you get the latest code, and you can check whether it works.

@JOHNBASS
Copy link

Ok, i will try it. Thank you very much!

@JOHNBASS
Copy link

JOHNBASS commented Feb 20, 2017

@lijiarui
I upgrade to V0.7.33.
Good news , i can catch the add friend event, but i can not trigger request.accept() .

wechaty script :

.on('friend', async function (contact, request){
  console.log(`ok`)
  if (request) {
      await request.accept()
      console.log(`Contact: ${contact.name()} ok`)
  }

})

server log:

Starting Wechaty ... v0.7.33

Working directory: /bot
Install dependencies modules ...
Skipped yarn. Please make sure you had installed all the NPM modules which is depended by your bot script.
Executing ts-node test.ts
INFO Wechaty v0.7.33 initializing...
JohnChang login
ok
Contact: johnbassserver@gmail.com Content: <a target="_blank" href="/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fjohnbassserver%40gmail.com&skey=%40crypt_a6245341_a7449ca724371d6506b317a7337d8155&deviceid=e630012654636467&pass_ticket=undefined&opcode=2&scene=1&username=@726fecd50c1d6fd14b5b1682186e835940e1d4d891f72f530408703c62c87ee1">johnbassserver@gmail.com</a> just added you to his/her contacts list. Send a message to him/her now!
Contact: johnbassserver@gmail.com Content: Hh
Contact: johnbassserver@gmail.com Content: room
Room: test Contact: JohnChang Content: <a target="_blank" href="/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2F%40johnbassserver%40gmail.com&skey=%40crypt_a6245341_a7449ca724371d6506b317a7337d8155&deviceid=e630012654636467&pass_ticket=undefined&opcode=2&scene=1&username=@726fecd50c1d6fd14b5b1682186e835940e1d4d891f72f530408703c62c87ee1">@johnbassserver@gmail.com</a> welcome!


@lijiarui
Copy link
Member Author

lijiarui commented Feb 20, 2017

@JOHNBASS Glad to hear that !

I want to clear one thing:
A friendrequest event will be emited twice, one is request, and one is accept, I think it seems the friend event is catched after accepted, but I'm not sure whether it is emited when there is a request.

So I suggest add a console.log(request) in if(request) block. and paste the full log here.

What's more, if you could paste the full code and I'll try it on my server using your wechat, maybe I can catch the bug.

@JOHNBASS
Copy link

@lijiarui

I add a console.log(request) return undefined

wechaty script :

.on('friend', async function (contact, request){
  console.log(`in friend event.`)
  console.log(request)
  if (request) {
      await request.accept()
      console.log(`Contact: ${contact.name()} ok`)
  }

})

server log:

ubuntu@ip-172-31-46-80:/home/wechat/wechaty$ sudo docker run -ti --rm -e WECHATY_LOG=silly --volume="$(pwd)":/bot zixia/wechaty test.ts




 __        __        _           _
 \ \      / /__  ___| |__   __ _| |_ _   _
  \ \ /\ / / _ \/ __| '_ \ / _` | __| | | |
   \ V  V /  __/ (__| | | | (_| | |_| |_| |
    \_/\_/ \___|\___|_| |_|\__,_|\__|\__, |
                                     |___/
____________________________________________________
            https://www.wechaty.io
  ____                            _   _
 / ___|___  _ __  _ __   ___  ___| |_(_)_ __   __ _
| |   / _ \| '_ \| '_ \ / _ \/ __| __| | '_ \ / _` |
| |__| (_) | | | | | | |  __/ (__| |_| | | | | (_| |
 \____\___/|_| |_|_| |_|\___|\___|\__|_|_| |_|\__, |
                                              |___/
  ____ _           _   ____        _
 / ___| |__   __ _| |_| __ )  ___ | |_ ___
| |   | '_ \ / _` | __|  _ \ / _ \| __/ __|
| |___| | | | (_| | |_| |_) | (_) | |_\__ \
 \____|_| |_|\__,_|\__|____/ \___/ \__|___/


Starting Wechaty ... v0.7.33

Working directory: /bot
Install dependencies modules ...
Skipped yarn. Please make sure you had installed all the NPM modules which is depended by your bot script.
Executing ts-node test.ts
SILL Brolog WECHATY_LOG set level to silly
SILL StateMonitor constructor(Wechaty, standby)
VERB Wechaty contructor()
VERB Wechaty addListener(scan, function)
VERB Wechaty addListener(login, function)
VERB Wechaty addListener(friend, function)
VERB Wechaty addListener(message, function)
SILL Wechaty version() form development environment is not availble: ENOENT: no such file or directory, stat '/wechaty/dist/.git'
INFO Wechaty v0.7.33 initializing...
VERB Wechaty puppet: web
VERB Wechaty head: chrome
VERB Wechaty profile: null
VERB Wechaty uuid: 2b8cc174-56cc-4372-a722-d12e344d0c7f
SILL StateMonitor Wechaty:current() - standby
VERB StateMonitor Wechaty:target(ready) <- (standby)
VERB StateMonitor Wechaty:current(ready,false) <- (standby,true)
SILL StateMonitor constructor(Puppet, dead)
VERB Config puppetInstance(PuppetWeb)
VERB PuppetWeb init() with head:chrome, profile:null
VERB StateMonitor Puppet:target(live) <- (dead)
VERB StateMonitor Puppet:current(live,false) <- (dead,true)
SILL UtilLib getPort(18788)
SILL UtilLib getPort(18788) return: 20080
VERB PuppetWeb init() getPort 20080
VERB PuppetWeb initServer()
SILL StateMonitor Puppet:target() - live
VERB PuppetWebServer init() on port 20080
VERB PuppetWebServer createHttpsServer() listen on port 20080
VERB PuppetWeb initServer() done
VERB PuppetWeb initBrowser()
SILL StateMonitor constructor(Browser, close)
VERB PuppetWebBrowser constructor() with head(chrome) sessionFile(null)
VERB PuppetWebBrowserDriver constructor(chrome)
VERB PuppetWebBrowserCookie constructor(BrowserDriver, )
SILL StateMonitor Puppet:target() - live
VERB PuppetWebBrowser init()
SILL StateMonitor Browser:current() - close
VERB StateMonitor Browser:target(open) <- (close)
VERB StateMonitor Browser:current(open,false) <- (close,true)
VERB PuppetWebBrowserCookie hostname()
VERB PuppetWebBrowserCookie getCookiesFromFile() from "undefined"
SILL PuppetWebBrowserCookie getCookiesFromFile() no cookies: no store file
SILL PuppetWebBrowserCookie hostname() no cookie, return default hostname
VERB PuppetWebBrowserDriver init() for head: chrome
VERB PuppetWebBrowserDriver initChromeDriver()
VERB PuppetWebBrowserDriver initChromeDriver() wechaty in docker confirmed(should not show this in CI)
VERB PuppetWebBrowserDriver initChromeDriver() new Builder()
VERB PuppetWebBrowserDriver initChromeDriver() new Builder() done
VERB PuppetWebBrowserDriver valid()
VERB PuppetWebBrowserDriver valid() getSession()
VERB PuppetWebBrowserDriver valid() getSession() then() done
VERB PuppetWebBrowserDriver valid() getSession() then() watchdog timer exist, will be cleared
VERB PuppetWebBrowserDriver watchdogTimer = null after set null
VERB PuppetWebBrowserDriver valid() driver.getSession() done()
VERB PuppetWebBrowserDriver valid() driver.executeScript() done
SILL PuppetWebBrowserDriver valid() driver ok
VERB PuppetWebBrowserDriver initChromeDriver() valid() done: true
SILL PuppetWebBrowserDriver initChromeDriver() success
VERB PuppetWebBrowser init() driver.init() done
VERB PuppetWebBrowser open(https://wx.qq.com/zh_CN/htmledition/v2/images/webwxgeticon.jpg)
VERB PuppetWebBrowserCookie load() from "undefined"
VERB PuppetWebBrowserCookie getCookiesFromFile() from "undefined"
SILL PuppetWebBrowserCookie getCookiesFromFile() no cookies: no store file
SILL PuppetWebBrowserCookie load() no cookies
VERB PuppetWebBrowser open(https://wx.qq.com)
SILL StateMonitor Browser:target() - open
VERB StateMonitor Browser:current(open,true) <- (open,false)
VERB PuppetWeb initBrowser() done
VERB PuppetWeb initBridge()
VERB PuppetWebBridge new Bridge({puppet: PuppetWeb, port: 20080})
SILL StateMonitor Puppet:target() - live
VERB PuppetWebBridge init()
VERB PuppetWebBridge inject()
VERB PuppetWebBridge getInjectio()
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("injectioReturnValue = /** * * Wechaty - Wechat for Bot, and human who talk to  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done] port[20080]
VERB PuppetWebBridge proxyWechaty(init, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ on port: 20080] port[20080]
VERB PuppetWebBridge ding(inject())
VERB PuppetWebBridge proxyWechaty(ding, inject())
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() ding success
VERB PuppetWeb initBridge() done
VERB StateMonitor Puppet:current(live,true) <- (live,false)
SILL PuppetWebWatchdog onFeed: 120000, HEARTBEAT[inited]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
VERB PuppetWebWatchdog clearWatchDogTimer() nothing to clear
SILL PuppetWebWatchdog setWatchDogTimer(120000, HEARTBEAT:[inited])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 16 MB, require: 4 MB
VERB PuppetWeb init() done
VERB StateMonitor Wechaty:current(ready,true) <- (ready,false)
VERB PuppetWebServer createSocketIo() got connection from browser
VERB PuppetWebServer initEventFromClient()
VERB PuppetWebEvent onServerConnection: [object Object]
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(connectSocket: io not found. loading lib...)
VERB PuppetWebEvent onServerLog(checkScan() - code change detected: from null to 408)
VERB PuppetWebEvent onServerScan(408)
VERB PuppetWebBrowserCookie save() no store file
SILL PuppetWebWatchdog onFeed: 60000, SCAN[[object Object]]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [120] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, SCAN:[[object Object]])
SILL PuppetWebWatchdog monitorScan(SCAN)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 12 MB, require: 4 MB































https://login.weixin.qq.com/qrcode/YY1p4vhUBA==
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [60] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 13 MB, require: 4 MB
VERB PuppetWebEvent onServerLog(recv ding)
VERB PuppetWebEvent onServerLog(socket io lib loaded.)
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(checkScan() - code change detected: from 408 to 201)
VERB PuppetWebEvent onServerScan(201)
VERB PuppetWebBrowserCookie save() no store file
SILL PuppetWebWatchdog onFeed: 60000, SCAN[[object Object]]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [56] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, SCAN:[[object Object]])
SILL PuppetWebWatchdog monitorScan(SCAN)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 12 MB, require: 4 MB































https://login.weixin.qq.com/qrcode/YY1p4vhUBA==
SILL PuppetWebServer initEventsFromClient() on(disconnect) socket.io disconnect: transport close
VERB PuppetWebEvent onServerDisconnect(transport close)
SILL StateMonitor Puppet:current() - live
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebBrowser readyLive()
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBrowser Browser.execute("return 1+1")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerDisconnect() re-initing bridge
VERB PuppetWebBridge init()
VERB PuppetWebBridge inject()
VERB PuppetWebBridge getInjectio()
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("injectioReturnValue = /** * * Wechaty - Wechat for Bot, and human who talk to  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done] port[20080]
VERB PuppetWebBridge proxyWechaty(init, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ on port: 20080] port[20080]
VERB PuppetWebBridge ding(inject())
VERB PuppetWebBridge proxyWechaty(ding, inject())
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() ding success
VERB PuppetWebEvent onServerDisconnect() setTimeout() bridge.init() done.
VERB PuppetWebServer createSocketIo() got connection from browser
VERB PuppetWebServer initEventFromClient()
VERB PuppetWebEvent onServerConnection: [object Object]
VERB PuppetWebEvent onServerLog(login(page refresh))
VERB PuppetWebEvent onServerLogin(page refresh, 0)
VERB PuppetWebBridge getUserName()
VERB PuppetWebBridge proxyWechaty(getUserName, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerLog(connectSocket())
SILL PuppetWebEvent bridge.getUserName: @283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35
SILL Contact constructor(@283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerLog(connectSocket: io not found. loading lib...)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35) resolved
SILL PuppetWebEvent onServerLogin() user JohnChang logined
VERB PuppetWebBrowserCookie save() no store file
JohnChang login
VERB PuppetWebEvent onServerLog(checkScan() - already login, no more check, and return(only))
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [49] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 15 MB, require: 4 MB
VERB PuppetWebEvent onServerLog(recv ding)
VERB PuppetWebEvent onServerLog(socket io lib loaded.)
VERB PuppetWebEvent onServerLog(connectSocket())
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [47] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 22 MB, require: 4 MB
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 18 MB, require: 4 MB
SILL Message constructor() SN:0
SILL Message ready()
SILL Contact constructor(@ef9073680b41da4b4e95041a4547adca6d0bee09dfd6d9d451db18297f50454e)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @ef9073680b41da4b4e95041a4547adca6d0bee09dfd6d9d451db18297f50454e)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@ef9073680b41da4b4e95041a4547adca6d0bee09dfd6d9d451db18297f50454e) resolved
SILL Contact ready()
SILL PuppetWebFirer fireFriendConfirm(<a target="_blank" href="/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fjohnbassserver%40gmail.com&skey=%40crypt_a6245341_f9fef695c96689114830ae025a4f2177&deviceid=e479997733445538&pass_ticket=undefined&opcode=2&scene=1&username=@283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35">johnbassserver@gmail.com</a> just added you to his/her contacts list. Send a message to him/her now!)
VERB PuppetWebFriendRequest constructor()
VERB FriendRequest constructor()
VERB PuppetWebFriendRequest confirm(johnbassserver@gmail.com)
SILL Contact ready()
SILL Message ready()
SILL Contact ready()
in friend event.
undefined
SILL Contact ready()
Contact: johnbassserver@gmail.com Content: <a target="_blank" href="/cgi-bin/mmwebwx-bin/webwxcheckurl?requrl=http%3A%2F%2Fjohnbassserver%40gmail.com&skey=%40crypt_a6245341_f9fef695c96689114830ae025a4f2177&deviceid=e479997733445538&pass_ticket=undefined&opcode=2&scene=1&username=@283c2a5883f21251e94ea99b188b38c9bcc0cfb2d58aea887ca9325830dc3a35">johnbassserver@gmail.com</a> just added you to his/her contacts list. Send a message to him/her now!
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 53 MB, require: 4 MB
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [46] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 60 MB, require: 4 MB
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 58 MB, require: 4 MB
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 56 MB, require: 4 MB
SILL Message constructor() SN:1
SILL Message ready()
SILL Contact constructor(@a9f921513d4193c1365d3953d86fab0b9e69986acb098d7463a257e138f2fe72)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a9f921513d4193c1365d3953d86fab0b9e69986acb098d7463a257e138f2fe72)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a9f921513d4193c1365d3953d86fab0b9e69986acb098d7463a257e138f2fe72) resolved
SILL Contact ready()
SILL Room constructor(@@7f22240afb715d37a5dd861138697a076241c9173ef46e4e882a9fb7e214b6a2)
SILL Room ready()
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @@7f22240afb715d37a5dd861138697a076241c9173ef46e4e882a9fb7e214b6a2)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Room contactGetter(@@7f22240afb715d37a5dd861138697a076241c9173ef46e4e882a9fb7e214b6a2) resolved
SILL Contact constructor(@e630ea245966252b4b4d14cceaaf6d5eeda368bd7075e97ddd7361e23ba0add0)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @e630ea245966252b4b4d14cceaaf6d5eeda368bd7075e97ddd7361e23ba0add0)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@e630ea245966252b4b4d14cceaaf6d5eeda368bd7075e97ddd7361e23ba0add0) resolved
SILL Contact constructor(@33999b7449e03d0cd048a739dd42dc6f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @33999b7449e03d0cd048a739dd42dc6f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@33999b7449e03d0cd048a739dd42dc6f) resolved
SILL Contact constructor(@23801eb55b8d769a76fbf4284e5272b5)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @23801eb55b8d769a76fbf4284e5272b5)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@23801eb55b8d769a76fbf4284e5272b5) resolved
SILL Contact constructor(@b61da50efce1420e4b0cff194273f1ed6ba9869d5fe4f3f3147555db7db5106a)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @b61da50efce1420e4b0cff194273f1ed6ba9869d5fe4f3f3147555db7db5106a)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@b61da50efce1420e4b0cff194273f1ed6ba9869d5fe4f3f3147555db7db5106a) resolved
SILL Contact constructor(@cf1e3a0d4eb066a1c8c3c6e7d0883ae66646b2e87f4d51e4ef48692108805db7)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @cf1e3a0d4eb066a1c8c3c6e7d0883ae66646b2e87f4d51e4ef48692108805db7)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@cf1e3a0d4eb066a1c8c3c6e7d0883ae66646b2e87f4d51e4ef48692108805db7) resolved
SILL Contact constructor(@6840e7b207ff1f760059568c38d80287)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @6840e7b207ff1f760059568c38d80287)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@6840e7b207ff1f760059568c38d80287) resolved
SILL Contact constructor(@85a90602bf6a21a646c4286cf65af236bc967b410bdef7aa9491b94d200127f2)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @85a90602bf6a21a646c4286cf65af236bc967b410bdef7aa9491b94d200127f2)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@85a90602bf6a21a646c4286cf65af236bc967b410bdef7aa9491b94d200127f2) resolved
SILL Contact constructor(@dfc680d8f6133e22de71c4090814a48b1716056b2617e718c7a2834a84b4714e)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @dfc680d8f6133e22de71c4090814a48b1716056b2617e718c7a2834a84b4714e)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@dfc680d8f6133e22de71c4090814a48b1716056b2617e718c7a2834a84b4714e) resolved
SILL Contact constructor(@9755eb942c99d64477cbcc8aa200d59610cf281f05f855327f1cc5a641a224e0)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @9755eb942c99d64477cbcc8aa200d59610cf281f05f855327f1cc5a641a224e0)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@9755eb942c99d64477cbcc8aa200d59610cf281f05f855327f1cc5a641a224e0) resolved
SILL Contact constructor(@34b5c8e0a37089c55af1abeed63258a3)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @34b5c8e0a37089c55af1abeed63258a3)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@34b5c8e0a37089c55af1abeed63258a3) resolved
SILL Contact constructor(@1f15a5357e0d5957013ba8aae86908f366ab3dd50b8d7415023fd8db466434b4)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @1f15a5357e0d5957013ba8aae86908f366ab3dd50b8d7415023fd8db466434b4)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@1f15a5357e0d5957013ba8aae86908f366ab3dd50b8d7415023fd8db466434b4) resolved
SILL Contact constructor(@5918284be472bc15a0cfc1eccbee1778)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @5918284be472bc15a0cfc1eccbee1778)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@5918284be472bc15a0cfc1eccbee1778) resolved
SILL Contact constructor(@eab38b9fc10b9d6b99a16b0f0fa214af)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @eab38b9fc10b9d6b99a16b0f0fa214af)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@eab38b9fc10b9d6b99a16b0f0fa214af) resolved
SILL Contact constructor(@c73b46a1fdd90f19e4c0f18c1710a1cf)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @c73b46a1fdd90f19e4c0f18c1710a1cf)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@c73b46a1fdd90f19e4c0f18c1710a1cf) resolved
SILL Contact constructor(@a216bee6787b010518703c2a504202f3d0004b2f38a4c38ceae927e606a12b49)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a216bee6787b010518703c2a504202f3d0004b2f38a4c38ceae927e606a12b49)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a216bee6787b010518703c2a504202f3d0004b2f38a4c38ceae927e606a12b49) resolved
SILL Contact constructor(@136d0ac5d613ab410b442b5e7a31aa2a)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @136d0ac5d613ab410b442b5e7a31aa2a)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@136d0ac5d613ab410b442b5e7a31aa2a) resolved
SILL Contact constructor(@ef4a1313816773558c72da5351746d4a971b87ba5ac35fb603a1fe57e5d23453)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @ef4a1313816773558c72da5351746d4a971b87ba5ac35fb603a1fe57e5d23453)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@ef4a1313816773558c72da5351746d4a971b87ba5ac35fb603a1fe57e5d23453) resolved
SILL Contact constructor(@a8e0734c580e3c2b1eb4c2292989c2ad)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a8e0734c580e3c2b1eb4c2292989c2ad)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a8e0734c580e3c2b1eb4c2292989c2ad) resolved
SILL Contact constructor(@46fdcd7c5f66d280f57e3a2218063b0d)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @46fdcd7c5f66d280f57e3a2218063b0d)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@46fdcd7c5f66d280f57e3a2218063b0d) resolved
SILL Contact constructor(@92d14152d566b0c221d262869cf498db586b6367773d5190908891852d39f3bf)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @92d14152d566b0c221d262869cf498db586b6367773d5190908891852d39f3bf)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@92d14152d566b0c221d262869cf498db586b6367773d5190908891852d39f3bf) resolved
SILL Contact constructor(@8bcffb26daf57f65e2b515f2bb4294498e9ccb51646d1ee7e291746f4ba4ee7f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @8bcffb26daf57f65e2b515f2bb4294498e9ccb51646d1ee7e291746f4ba4ee7f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@8bcffb26daf57f65e2b515f2bb4294498e9ccb51646d1ee7e291746f4ba4ee7f) resolved
SILL Contact constructor(@84bf2509c4d3e90d0b1daac22fa7ed20)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @84bf2509c4d3e90d0b1daac22fa7ed20)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@84bf2509c4d3e90d0b1daac22fa7ed20) resolved
SILL Contact ready()
SILL Contact constructor(@971e236542e66818c7966b656aa97658)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @971e236542e66818c7966b656aa97658)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@971e236542e66818c7966b656aa97658) resolved
SILL Contact constructor(@793e397295c82855acdda4b96f3f35e7)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @793e397295c82855acdda4b96f3f35e7)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@793e397295c82855acdda4b96f3f35e7) resolved
SILL Contact constructor(@90754843363235e34678436c2363a5c5)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @90754843363235e34678436c2363a5c5)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@90754843363235e34678436c2363a5c5) resolved
SILL Contact constructor(@07400567c341f89d02cb203da6dba619935aee12f02ae0064a4b2958b48ac2d2)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @07400567c341f89d02cb203da6dba619935aee12f02ae0064a4b2958b48ac2d2)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@07400567c341f89d02cb203da6dba619935aee12f02ae0064a4b2958b48ac2d2) resolved
SILL Contact constructor(@d864824eb43a4991bafd2ddd74870575c30caef097fdb12faeace5f117ec8c4a)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @d864824eb43a4991bafd2ddd74870575c30caef097fdb12faeace5f117ec8c4a)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@d864824eb43a4991bafd2ddd74870575c30caef097fdb12faeace5f117ec8c4a) resolved
SILL Contact constructor(@b4b4b38c41d8deefad545ba17c3be14f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @b4b4b38c41d8deefad545ba17c3be14f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@b4b4b38c41d8deefad545ba17c3be14f) resolved
SILL Contact constructor(@a6d7dd7813db707bf0a04a395803cb67)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a6d7dd7813db707bf0a04a395803cb67)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a6d7dd7813db707bf0a04a395803cb67) resolved
SILL Contact constructor(@1f9e346683cb3d7f358a92a35b94b90a)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @1f9e346683cb3d7f358a92a35b94b90a)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@1f9e346683cb3d7f358a92a35b94b90a) resolved
SILL Contact constructor(@3b569d5b75e9d0dfbddcdbc670a2c101)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @3b569d5b75e9d0dfbddcdbc670a2c101)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@3b569d5b75e9d0dfbddcdbc670a2c101) resolved
SILL Contact constructor(@a6c325ba686df30d9b15069341be1b05)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a6c325ba686df30d9b15069341be1b05)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a6c325ba686df30d9b15069341be1b05) resolved
SILL Contact constructor(@1933a6e54d5848a030cd1e6530d6bef4ec699c458f772fdef93491ff56f01587)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @1933a6e54d5848a030cd1e6530d6bef4ec699c458f772fdef93491ff56f01587)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@1933a6e54d5848a030cd1e6530d6bef4ec699c458f772fdef93491ff56f01587) resolved
SILL Contact constructor(@c080aad617b4c0aa52f2ead3a4ca706dc43fc4130bcbf30939655bba829d4451)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @c080aad617b4c0aa52f2ead3a4ca706dc43fc4130bcbf30939655bba829d4451)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@c080aad617b4c0aa52f2ead3a4ca706dc43fc4130bcbf30939655bba829d4451) resolved
SILL Contact constructor(@51cd4178b9eaa9bed7b6653e9e420368)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @51cd4178b9eaa9bed7b6653e9e420368)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@51cd4178b9eaa9bed7b6653e9e420368) resolved
SILL Contact constructor(@275abe2678730af510500f95851ba5b47727643dec31cf29aee5fd16c03efe42)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @275abe2678730af510500f95851ba5b47727643dec31cf29aee5fd16c03efe42)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@275abe2678730af510500f95851ba5b47727643dec31cf29aee5fd16c03efe42) resolved
SILL Contact constructor(@38d46409c336e6357f2eae41942726f1)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @38d46409c336e6357f2eae41942726f1)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@38d46409c336e6357f2eae41942726f1) resolved
SILL Contact constructor(@ce27679007f6b4e5bafc70fdcdeef43183e2bb8306154710afc61d7a67fd4684)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @ce27679007f6b4e5bafc70fdcdeef43183e2bb8306154710afc61d7a67fd4684)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@ce27679007f6b4e5bafc70fdcdeef43183e2bb8306154710afc61d7a67fd4684) resolved
SILL Contact constructor(@c4003c74761fced9276371df00d0fea6)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @c4003c74761fced9276371df00d0fea6)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@c4003c74761fced9276371df00d0fea6) resolved
SILL Contact constructor(@d934f37591cfaa2d86f879149c36110c)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @d934f37591cfaa2d86f879149c36110c)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@d934f37591cfaa2d86f879149c36110c) resolved
SILL Contact constructor(@4ff498c661c27ae73430e869434cd7d2fe5d4b17055f19a10a83da7a9fc7dd50)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @4ff498c661c27ae73430e869434cd7d2fe5d4b17055f19a10a83da7a9fc7dd50)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@4ff498c661c27ae73430e869434cd7d2fe5d4b17055f19a10a83da7a9fc7dd50) resolved
SILL Contact constructor(@b94c1bffb4cffa8bb366d77e2a36ad49)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @b94c1bffb4cffa8bb366d77e2a36ad49)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@b94c1bffb4cffa8bb366d77e2a36ad49) resolved
SILL Contact constructor(@23a7a1cd9f47193cefae7ce83e829f4f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @23a7a1cd9f47193cefae7ce83e829f4f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@23a7a1cd9f47193cefae7ce83e829f4f) resolved
SILL Contact constructor(@82d29096ab711991ad0497c2e407a89ebed82c2f5d602e517b926f9c2632c48f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @82d29096ab711991ad0497c2e407a89ebed82c2f5d602e517b926f9c2632c48f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@82d29096ab711991ad0497c2e407a89ebed82c2f5d602e517b926f9c2632c48f) resolved
SILL Contact constructor(@8900feae8608ee9a9cb5945f92064d16dc0d03612d3949d3aa07f0a2960d9e86)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @8900feae8608ee9a9cb5945f92064d16dc0d03612d3949d3aa07f0a2960d9e86)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@8900feae8608ee9a9cb5945f92064d16dc0d03612d3949d3aa07f0a2960d9e86) resolved
SILL Contact constructor(@a4ed383a49297f71b6322de1fb904a82e900f129f04a2dbf5d33900e72f7930c)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a4ed383a49297f71b6322de1fb904a82e900f129f04a2dbf5d33900e72f7930c)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a4ed383a49297f71b6322de1fb904a82e900f129f04a2dbf5d33900e72f7930c) resolved
SILL Contact constructor(@52b9d6cd84c9b9946164b58c2047741d0470b637d81e29dce23084739387f323)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @52b9d6cd84c9b9946164b58c2047741d0470b637d81e29dce23084739387f323)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@52b9d6cd84c9b9946164b58c2047741d0470b637d81e29dce23084739387f323) resolved
SILL Contact constructor(@8f96de4f5656e5a150b1f77fa9a1713b52813abb1db12ec97e66abf5d723a857)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @8f96de4f5656e5a150b1f77fa9a1713b52813abb1db12ec97e66abf5d723a857)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@8f96de4f5656e5a150b1f77fa9a1713b52813abb1db12ec97e66abf5d723a857) resolved
SILL Contact constructor(@7dec2eefd86a7fc646d892f23dcd7d94)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @7dec2eefd86a7fc646d892f23dcd7d94)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@7dec2eefd86a7fc646d892f23dcd7d94) resolved
SILL Contact constructor(@40f89138a8bb8c813119c70231292f7805051fbdbf045bc5df3c116f230d3666)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @40f89138a8bb8c813119c70231292f7805051fbdbf045bc5df3c116f230d3666)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@40f89138a8bb8c813119c70231292f7805051fbdbf045bc5df3c116f230d3666) resolved
SILL Contact constructor(@b6d91b0a654e56d70e8176dcda84c63c)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @b6d91b0a654e56d70e8176dcda84c63c)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@b6d91b0a654e56d70e8176dcda84c63c) resolved
SILL Contact constructor(@8388f322a7ef80b2cd63844940454a9a34bc24b6325425cf55f2d341d8fa3556)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @8388f322a7ef80b2cd63844940454a9a34bc24b6325425cf55f2d341d8fa3556)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@8388f322a7ef80b2cd63844940454a9a34bc24b6325425cf55f2d341d8fa3556) resolved
SILL Contact constructor(@041d1ba878d9348d256211e6eed8b4a9dd25c09720b57b7d3e772fd1aa432d71)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @041d1ba878d9348d256211e6eed8b4a9dd25c09720b57b7d3e772fd1aa432d71)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@041d1ba878d9348d256211e6eed8b4a9dd25c09720b57b7d3e772fd1aa432d71) resolved
SILL Contact constructor(@848bea456c9c92205ec028c4a792d6e5)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @848bea456c9c92205ec028c4a792d6e5)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@848bea456c9c92205ec028c4a792d6e5) resolved
SILL Contact constructor(@ab69637e4455be6654de3b67af5e2395)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @ab69637e4455be6654de3b67af5e2395)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@ab69637e4455be6654de3b67af5e2395) resolved
SILL Contact constructor(@cd1a7db1e178d05b91d4fc864797131a)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @cd1a7db1e178d05b91d4fc864797131a)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@cd1a7db1e178d05b91d4fc864797131a) resolved
SILL Contact constructor(@f37774105bc4fd96f839856c56e62d80)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @f37774105bc4fd96f839856c56e62d80)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@f37774105bc4fd96f839856c56e62d80) resolved
SILL Contact constructor(@4fd8292b8915b7be045c749597406e8cbed5c080f77d4610890fd4d53764b990)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @4fd8292b8915b7be045c749597406e8cbed5c080f77d4610890fd4d53764b990)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@4fd8292b8915b7be045c749597406e8cbed5c080f77d4610890fd4d53764b990) resolved
SILL Contact constructor(@f02ec3e1f63e59b83fe40f052c312903e8320548a1ebc9cf3ff7767b369aa895)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @f02ec3e1f63e59b83fe40f052c312903e8320548a1ebc9cf3ff7767b369aa895)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@f02ec3e1f63e59b83fe40f052c312903e8320548a1ebc9cf3ff7767b369aa895) resolved
SILL Contact constructor(@c74a5e4bcf7eb7da78fba8c1e94c5602)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @c74a5e4bcf7eb7da78fba8c1e94c5602)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@c74a5e4bcf7eb7da78fba8c1e94c5602) resolved
SILL Contact constructor(@d5c81a30e8377a56f60ddc14fa20735b)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @d5c81a30e8377a56f60ddc14fa20735b)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@d5c81a30e8377a56f60ddc14fa20735b) resolved
SILL Contact constructor(@755e1e2f5b5aa92bd4b86582588cb6cd)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @755e1e2f5b5aa92bd4b86582588cb6cd)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@755e1e2f5b5aa92bd4b86582588cb6cd) resolved
SILL Contact constructor(@76ec71237c441ce4a7a9f569ca971aff)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @76ec71237c441ce4a7a9f569ca971aff)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@76ec71237c441ce4a7a9f569ca971aff) resolved
SILL Contact constructor(@7360604f616e94585c228c546c832cce5a4e3e51f0cb222aed12291ea97e386c)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @7360604f616e94585c228c546c832cce5a4e3e51f0cb222aed12291ea97e386c)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@7360604f616e94585c228c546c832cce5a4e3e51f0cb222aed12291ea97e386c) resolved
SILL Contact constructor(@e3b2713e054b490b467387a432637899)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @e3b2713e054b490b467387a432637899)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@e3b2713e054b490b467387a432637899) resolved
SILL Contact constructor(@00d7b21c4e4d4c6eea679dab67b11102)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @00d7b21c4e4d4c6eea679dab67b11102)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@00d7b21c4e4d4c6eea679dab67b11102) resolved
SILL Contact constructor(@674025e5e4cbcfd36da723e15a5a5243)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @674025e5e4cbcfd36da723e15a5a5243)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@674025e5e4cbcfd36da723e15a5a5243) resolved
SILL Contact constructor(@361748baad156fd235a0e50f78689b59)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @361748baad156fd235a0e50f78689b59)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@361748baad156fd235a0e50f78689b59) resolved
SILL Contact constructor(@0be60e12468adc8a0b3293bd33e27022568e63b5de91ef799a56f53318208018)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @0be60e12468adc8a0b3293bd33e27022568e63b5de91ef799a56f53318208018)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@0be60e12468adc8a0b3293bd33e27022568e63b5de91ef799a56f53318208018) resolved
SILL Contact constructor(@a35753855c4458494e7f95d9fb4eaa20)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @a35753855c4458494e7f95d9fb4eaa20)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@a35753855c4458494e7f95d9fb4eaa20) resolved
SILL Contact constructor(@702df2eaa0dcefbc971b136d7ce3e4ba)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @702df2eaa0dcefbc971b136d7ce3e4ba)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@702df2eaa0dcefbc971b136d7ce3e4ba) resolved
SILL Contact constructor(@5db65de8228d7bd2d45c80e18ca196e6212892c0f78acee5e7cf9b84e300ef1b)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @5db65de8228d7bd2d45c80e18ca196e6212892c0f78acee5e7cf9b84e300ef1b)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@5db65de8228d7bd2d45c80e18ca196e6212892c0f78acee5e7cf9b84e300ef1b) resolved
SILL Contact constructor(@4cd2e6e2741b2ec8804c543a3233956d)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @4cd2e6e2741b2ec8804c543a3233956d)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@4cd2e6e2741b2ec8804c543a3233956d) resolved
SILL Contact constructor(@03d97f103d378a621901665e27adfb15c9d35c21a0c9698d80b3537aa809b372)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @03d97f103d378a621901665e27adfb15c9d35c21a0c9698d80b3537aa809b372)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@03d97f103d378a621901665e27adfb15c9d35c21a0c9698d80b3537aa809b372) resolved
SILL Contact constructor(@3307f9e9d1bffe49aec7a4fd97625367)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @3307f9e9d1bffe49aec7a4fd97625367)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@3307f9e9d1bffe49aec7a4fd97625367) resolved
SILL Contact constructor(@f92ae00da2af75a1b503cef5ef42b0a9b38817a85ac24217e3cedfd47592291d)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @f92ae00da2af75a1b503cef5ef42b0a9b38817a85ac24217e3cedfd47592291d)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@f92ae00da2af75a1b503cef5ef42b0a9b38817a85ac24217e3cedfd47592291d) resolved
SILL Contact constructor(@c38ac233ebba65e352465ed78a60cc02cb84199619c7caa3a2eb65fc130af6c0)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @c38ac233ebba65e352465ed78a60cc02cb84199619c7caa3a2eb65fc130af6c0)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@c38ac233ebba65e352465ed78a60cc02cb84199619c7caa3a2eb65fc130af6c0) resolved
SILL Contact constructor(@cc587b37f0809eaaa4c48815dbba3a9e)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @cc587b37f0809eaaa4c48815dbba3a9e)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@cc587b37f0809eaaa4c48815dbba3a9e) resolved
SILL Contact constructor(@7a6362e29ebb7c6bc37fdeb59e43c4f8)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @7a6362e29ebb7c6bc37fdeb59e43c4f8)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@7a6362e29ebb7c6bc37fdeb59e43c4f8) resolved
SILL Contact constructor(@4ecfd9148f2caa3dfc21fef944d53dcb31ff5d366cf4a8a9d04d368059c530ee)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @4ecfd9148f2caa3dfc21fef944d53dcb31ff5d366cf4a8a9d04d368059c530ee)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@4ecfd9148f2caa3dfc21fef944d53dcb31ff5d366cf4a8a9d04d368059c530ee) resolved
SILL Contact constructor(@5432841f57f2229962b9896eace7b7e1)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @5432841f57f2229962b9896eace7b7e1)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@5432841f57f2229962b9896eace7b7e1) resolved
SILL Contact constructor(@e98ee6d7fd676f6e60590be96a02ee2a1ed3ed31cde816938af8d8b9d8d10f1d)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @e98ee6d7fd676f6e60590be96a02ee2a1ed3ed31cde816938af8d8b9d8d10f1d)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@e98ee6d7fd676f6e60590be96a02ee2a1ed3ed31cde816938af8d8b9d8d10f1d) resolved
SILL Contact constructor(@48d77e82a184e7d787180790d08016ea)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @48d77e82a184e7d787180790d08016ea)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@48d77e82a184e7d787180790d08016ea) resolved
SILL Contact constructor(@6f50b9783d512adf9495a32afb44731350da7c0a9a7a447e22f894c5e72bc964)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @6f50b9783d512adf9495a32afb44731350da7c0a9a7a447e22f894c5e72bc964)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@6f50b9783d512adf9495a32afb44731350da7c0a9a7a447e22f894c5e72bc964) resolved
SILL Contact ready()
SILL Contact constructor(@f930a7bf2415ee2650f9a273167e2dfe)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @f930a7bf2415ee2650f9a273167e2dfe)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@f930a7bf2415ee2650f9a273167e2dfe) resolved
SILL Contact constructor(@63d785b69bd0d1fbaf717c8093d92573)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @63d785b69bd0d1fbaf717c8093d92573)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@63d785b69bd0d1fbaf717c8093d92573) resolved
SILL Contact constructor(@232e27c03960bf76c5b500b9a6cfb7d3)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @232e27c03960bf76c5b500b9a6cfb7d3)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@232e27c03960bf76c5b500b9a6cfb7d3) resolved
SILL Contact constructor(@5ebbcde7c5db8fd0da430469fa29c497)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @5ebbcde7c5db8fd0da430469fa29c497)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@5ebbcde7c5db8fd0da430469fa29c497) resolved
SILL Contact constructor(@06d69ad7e2267a330248f65072f7fefc)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @06d69ad7e2267a330248f65072f7fefc)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@06d69ad7e2267a330248f65072f7fefc) resolved
SILL Contact constructor(@e743370455a613413ad9254e71eabedcbc60294ba4d1b01a3dbab32135869c1f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @e743370455a613413ad9254e71eabedcbc60294ba4d1b01a3dbab32135869c1f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@e743370455a613413ad9254e71eabedcbc60294ba4d1b01a3dbab32135869c1f) resolved
SILL Contact constructor(@8c62a052c01d3bf5d67c16aca27088f2bf1cab47d5fbed9047c9dca75d4413d4)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @8c62a052c01d3bf5d67c16aca27088f2bf1cab47d5fbed9047c9dca75d4413d4)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@8c62a052c01d3bf5d67c16aca27088f2bf1cab47d5fbed9047c9dca75d4413d4) resolved
SILL Contact constructor(@646be0ae1b53f405ba547be49b7838df03126c1e47c98b9f5a7e2736f6cfb8d0)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @646be0ae1b53f405ba547be49b7838df03126c1e47c98b9f5a7e2736f6cfb8d0)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@646be0ae1b53f405ba547be49b7838df03126c1e47c98b9f5a7e2736f6cfb8d0) resolved
SILL Contact constructor(@0a27a671e311f42ef03a075294b6d340)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @0a27a671e311f42ef03a075294b6d340)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@0a27a671e311f42ef03a075294b6d340) resolved
SILL Contact constructor(@6153a53486ce5b862589fc5b9cb832f5)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @6153a53486ce5b862589fc5b9cb832f5)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@6153a53486ce5b862589fc5b9cb832f5) resolved
SILL Contact constructor(@e04aedb9b904292d81b0858a47431da2)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @e04aedb9b904292d81b0858a47431da2)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@e04aedb9b904292d81b0858a47431da2) resolved
SILL Contact constructor(@4ccbc7fb4a22a2ff820325b94cc12750)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @4ccbc7fb4a22a2ff820325b94cc12750)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@4ccbc7fb4a22a2ff820325b94cc12750) resolved
SILL Contact constructor(@3afbaa9a3eac0cf4b09b277c0aec9cb14498c80971eacc148abd8a1896627cfa)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @3afbaa9a3eac0cf4b09b277c0aec9cb14498c80971eacc148abd8a1896627cfa)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@3afbaa9a3eac0cf4b09b277c0aec9cb14498c80971eacc148abd8a1896627cfa) resolved
SILL Contact constructor(@5387e58909e5b75403053ef4fa7414c33001fc93cbb1aa3fe36ce3faca46e85f)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @5387e58909e5b75403053ef4fa7414c33001fc93cbb1aa3fe36ce3faca46e85f)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@5387e58909e5b75403053ef4fa7414c33001fc93cbb1aa3fe36ce3faca46e85f) resolved
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
VERB PuppetWebEvent onServerMessage() EMOTICON/IMAGE/VIDEO/VOICE/MICROVIDEO message
SILL Message constructor() SN:2
SILL MediaMessage ready()
SILL Message ready()
SILL Contact ready()
SILL Contact ready()
SILL Room ready()
VERB PuppetWebBridge getMsgEmoticon(9067022988155103973)
VERB PuppetWebBridge proxyWechaty(getMsgEmoticon, 9067022988155103973)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
Room: Wechaty Developers' Home Contact: Quentin Bouvier (张蔚) Content: &lt;msg&gt;&lt;emoji fromusername = "wxid_1ediy7ccy10a22" tousername = "7582163093@chatroom" type="2" idbuffer="media:0_0" md5="9dccd4106e1e9da6f22ea7ebe34f2352" len = "802288" productid="" androidmd5="9dccd4106e1e9da6f22ea7ebe34f2352" androidlen="802288" s60v3md5 = "9dccd4106e1e9da6f22ea7ebe34f2352" s60v3len="802288" s60v5md5 = "9dccd4106e1e9da6f22ea7ebe34f2352" s60v5len="802288" cdnurl = "http://emoji.qpic.cn/wx_emoji/zBk9Uq83DOoYpVoe1JDibE5ibsNHHlqC5uoZ970aM0vjEUcJOGP72xbA/" designerid = "" thumburl = "" encrypturl = "http://emoji.qpic.cn/wx_emoji/CYVzhbWTgtcgvicoXyEBAxb7z6Y8yL1wkOlaB5xFseaBhNkqSm9ibRYg/" aeskey= "5b454baa83ae9b0785a959c4e692b99f" width= "291" height= "271" &gt;&lt;/emoji&gt; &lt;gameext type="0" content="0" &gt;&lt;/gameext&gt;&lt;/msg&gt;
VERB Room find({ topic: test })
VERB Room findAll({ topic: test })
VERB PuppetWebBridge proxyWechaty(roomFind, (function (c) { return c === 'test' }))
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Room constructor(@@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91)
SILL Room ready()
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Room contactGetter(@@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91) resolved
SILL Contact ready()
SILL Contact constructor(@b6de5ae4f0c27bf690db51e0ed2cb4e631bcf39da2e723073fb7ab3caef9b6f4)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @b6de5ae4f0c27bf690db51e0ed2cb4e631bcf39da2e723073fb7ab3caef9b6f4)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@b6de5ae4f0c27bf690db51e0ed2cb4e631bcf39da2e723073fb7ab3caef9b6f4) resolved
SILL Contact constructor(@1fa391de7db9e13aacc7a1a9c619c3727c88b2b0dd3b5ed698a698a3c18545ec)
SILL Contact ready()
SILL Contact get contact via PuppetWeb
SILL PuppetWebBridge getContact() retryPromise: attampt 1/35 time for timeout 306250
VERB PuppetWebBridge proxyWechaty(getContact, @1fa391de7db9e13aacc7a1a9c619c3727c88b2b0dd3b5ed698a698a3c18545ec)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Contact contactGetter(@1fa391de7db9e13aacc7a1a9c619c3727c88b2b0dd3b5ed698a698a3c18545ec) resolved
SILL Contact alias()
SILL Contact alias()
SILL Contact alias()
SILL Contact ready(function)
SILL Contact ready(function)
SILL Contact ready(function)
VERB Room add(Quentin Bouvier (张蔚))
VERB PuppetWebBridge roomAddMember(@@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91, @a9f921513d4193c1365d3953d86fab0b9e69986acb098d7463a257e138f2fe72)
VERB PuppetWebBridge proxyWechaty(roomAddMemberAsync, @@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91, @a9f921513d4193c1365d3953d86fab0b9e69986acb098d7463a257e138f2fe72)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBrowser Browser.executeAsync( const callback = arguments[arguments.length - 1]
      const isAsync = (typeof )
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerLog(roomAddMemberAsync() return: )
VERB PuppetWebEvent onServerLog([object Object])
VERB Room say(welcome!, Quentin Bouvier (张蔚))
SILL Message constructor() SN:3
SILL PuppetWeb send() destination: @@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91, content: @Quentin Bouvier (张蔚) welcome!)
VERB PuppetWebBridge proxyWechaty(send, @@5e797a994f220a0a4563ab85ef548ab038e18171d8918adcc2dcf0e81c628a91, @Quentin Bouvier (张蔚) welcome!)
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL Message constructor() SN:4
SILL Message ready()
SILL Contact ready()
SILL Room ready()
SILL Message ready()
SILL Contact ready()
SILL Room ready()
Room: test Contact: JohnChang Content: @Quentin Bouvier (张蔚) welcome!
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [45] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
SILL PuppetWebWatchdog memoryCheck() free: 42 MB, require: 4 MB
SILL PuppetWebServer initEventsFromClient() on(disconnect) socket.io disconnect: transport close
VERB PuppetWebEvent onServerDisconnect(transport close)
VERB PuppetWebEvent onServerDisconnect() there has user set. emit a logout event and set it to null
SILL StateMonitor Puppet:current() - live
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebBrowser readyLive()
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBrowser Browser.execute("return 1+1")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
VERB PuppetWebEvent onServerDisconnect() re-initing bridge
VERB PuppetWebBridge init()
VERB PuppetWebBridge inject()
VERB PuppetWebBridge getInjectio()
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("injectioReturnValue = /** * * Wechaty - Wechat for Bot, and human who talk to  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() eval(Wechaty) return code[200] message[WechatyBro Inject Done] port[20080]
VERB PuppetWebBridge proxyWechaty(init, )
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() Wechaty.init() return code[200] message[WechatyBro Init Succ on port: 20080] port[20080]
VERB PuppetWebBridge ding(inject())
VERB PuppetWebBridge proxyWechaty(ding, inject())
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute("return typeof WechatyBro === "undefined"")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge execute()
SILL PuppetWebBrowser Browser.execute(" const callback = arguments[arguments.length - 1] const isAsync = (typeof  ... ")
SILL StateMonitor Browser:target() - open
SILL StateMonitor Browser:current() - open
SILL PuppetWebBridge inject() ding success
VERB PuppetWebEvent onServerDisconnect() setTimeout() bridge.init() done.
VERB PuppetWebServer createSocketIo() got connection from browser
VERB PuppetWebServer initEventFromClient()
VERB PuppetWebEvent onServerConnection: [object Object]
VERB PuppetWebEvent onServerLog(connectSocket())
VERB PuppetWebEvent onServerLog(connectSocket: io not found. loading lib...)
VERB PuppetWebEvent onServerLog(checkScan() - code change detected: from null to 408)
VERB PuppetWebEvent onServerScan(408)
VERB PuppetWebBrowserCookie save() no store file
SILL PuppetWebWatchdog onFeed: 60000, SCAN[[object Object]]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [27] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, SCAN:[[object Object]])
SILL PuppetWebWatchdog monitorScan(SCAN)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 58 MB, require: 4 MB































https://login.weixin.qq.com/qrcode/Af92h9zwqA==
SILL PuppetWebEvent onServerDing(heartbeat@browser)
SILL PuppetWebWatchdog onFeed: 60000, HEARTBEAT[heartbeat@browser]
SILL StateMonitor Puppet:target() - live
SILL StateMonitor Puppet:inprocess() false
SILL PuppetWebWatchdog clearWatchDogTimer() [60] seconds left
SILL PuppetWebWatchdog setWatchDogTimer(60000, HEARTBEAT:[heartbeat@browser])
SILL PuppetWebWatchdog monitorScan(HEARTBEAT)
SILL PuppetWebWatchdog autoSaveSession()
VERB PuppetWebWatchdog autoSaveSession() skiped as no this.userId
SILL PuppetWebWatchdog memoryCheck() free: 58 MB, require: 4 MB
VERB PuppetWebEvent onServerLog(recv ding)
VERB PuppetWebEvent onServerLog(socket io lib loaded.)
VERB PuppetWebEvent onServerLog(connectSocket())

@lijiarui
Copy link
Member Author

@JOHNBASS
hi does this issue fix? or we can debug together.

@JOHNBASS
Copy link

JOHNBASS commented Mar 1, 2017

@lijiarui I can get add friend event, but i can not run await request.accept()

@lijiarui
Copy link
Member Author

@JOHNBASS If there isn't any detailed problem, I'll close the issue.
Please feel free to contact me if you have any problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants