提交 fe130b76 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

merge

......@@ -298,7 +298,7 @@ function checkRoomJoin(room: Room, inviteeList: Contact[], inviter: Contact) {
try {
// let to, content
const user = bot.user()
const user = bot.self()
if (!user) {
throw new Error('no user')
}
......
此差异已折叠。
{
"name": "wechaty",
"version": "0.8.86",
"version": "0.8.93",
"description": "Wechat for Bot(Personal Account)",
"main": "dist/index.js",
"types": "dist/index.d.ts",
......@@ -124,21 +124,20 @@
"devDependencies": {
"@types/body-parser": "1.16.3",
"@types/express": "4.0.35",
"@types/fluent-ffmpeg": "2.1.0",
"@types/fluent-ffmpeg": "2.1.1",
"@types/mime": "0.0.29",
"@types/node": "7.0.22",
"@types/node": "7.0.26",
"@types/request": "0.0.43",
"@types/selenium-webdriver": "3.0.4",
"@types/sinon": "2.2.2",
"@types/sinon": "2.3.0",
"@types/socket.io": "1.4.29",
"@types/ws": "0.0.41",
"@types/ws": "3.0.0",
"apiai": "4.0.2",
"ava": "0.18.2",
"babel-cli": "^6.24.1",
"babel-eslint": "7.2.3",
"babel-preset-es2015": "^6.24.1",
"check-node-version": "2.1.0",
"codelyzer": "3.0.1",
"cookie-parser": "1.4.3",
"coveralls": "2.13.1",
"cross-env": "5.0.0",
......@@ -147,7 +146,7 @@
"finis": "0.0.2",
"fluent-ffmpeg": "2.1.2",
"jsdoc-to-markdown": "3.0.0",
"nyc": "10.3.2",
"nyc": "11.0.2",
"qrcode-terminal": "0.11.0",
"shx": "0.2.2",
"sinon": "2.3.1",
......
......@@ -709,8 +709,8 @@ export class Contact implements Sayable {
const content = textOrMedia instanceof MediaMessage ? textOrMedia.filename() : textOrMedia
log.verbose('Contact', 'say(%s)', content)
const wechaty = Wechaty.instance()
const user = wechaty.user()
const bot = Wechaty.instance()
const user = bot.self()
if (!user) {
throw new Error('no user')
......@@ -728,7 +728,7 @@ export class Contact implements Sayable {
m.to(this)
log.silly('Contact', 'say() from: %s to: %s content: %s', user.name(), this.name(), content)
return await wechaty.send(m)
return await bot.send(m)
}
}
......
......@@ -146,7 +146,7 @@ export class BrowserDriver {
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() new Builder() done')
valid = await this.valid(driver)
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() valid() done: %s', valid)
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() valid() is %s at ttl %d', valid, ttl)
if (valid) {
log.silly('PuppetWebBrowserDriver', 'getChromeDriver() success')
......@@ -154,16 +154,17 @@ export class BrowserDriver {
return driver
} else {
const e = new Error('getChromeDriver() got invalid driver')
const e = new Error('got invalid driver at ttl ' + ttl)
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() %s', e.message)
driverError = e
driver.quit() // do not `await` here
log.verbose('PuppetWebBrowserDriver', 'getChromeDriver() driver.quit() at ttl %d', ttl)
driver.quit() // do not await, because a invalid driver will always hang when quit()
.catch(err => {
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() driver.quit() exception %s', err.message)
log.warn('PuppetWebBrowserDriver', 'getChromeDriver() driver.quit() exception: %s', err.message)
driverError = err
})
}
} // END if
} catch (e) {
if (/could not be found/.test(e.message)) {
......@@ -304,7 +305,7 @@ export class BrowserDriver {
* because we are in state(open, false) state, which will cause Watchdog Reset failure.
* https://travis-ci.org/wechaty/wechaty/jobs/179022657#L3246
*/
const TIMEOUT = 13 * 1000
const TIMEOUT = 7 * 1000
let timer: NodeJS.Timer | null
......
......@@ -128,13 +128,13 @@ export class Browser extends EventEmitter {
// Issue #175
// TODO: set a timer to guard driver.get timeout, then retry 3 times 201607
const TIMEOUT = 60 * 1000
let TTL = 3
while (TTL--) {
log.verbose('PuppetWebBrowser', 'open() begin for ttl:%d', TTL)
let ttl = 3
while (ttl--) {
log.verbose('PuppetWebBrowser', 'open() begin for ttl:%d', ttl)
try {
await new Promise(async (resolve, reject) => {
const id = setTimeout(async () => {
const timer = setTimeout(async _ => {
try {
await this.driver.close()
await this.driver.quit()
......@@ -148,7 +148,7 @@ export class Browser extends EventEmitter {
const e = new Error('timeout after '
+ Math.round(TIMEOUT / 1000) + ' seconds'
+ 'at ttl:' + TTL,
+ 'at ttl:' + ttl,
)
reject(e)
}, TIMEOUT)
......@@ -159,12 +159,12 @@ export class Browser extends EventEmitter {
} catch (e) {
reject(e)
} finally {
clearTimeout(id)
clearTimeout(timer)
}
})
// open successful!
log.verbose('PuppetWebBrowser', 'open() end at ttl:%d', TTL)
log.verbose('PuppetWebBrowser', 'open() end at ttl:%d', ttl)
return
} catch (e) {
......
......@@ -150,6 +150,7 @@ export class Wechaty extends EventEmitter implements Sayable {
public version(forceNpm = false): string {
// TODO: use git rev-parse HEAD ?
const dotGitPath = path.join(__dirname, '..', '.git') // only for ts-node, not for dist
// TODO: use git rev-parse HEAD ?
const gitLogCmd = 'git'
const gitLogArgs = ['log', '--oneline', '-1']
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册