AppiumFieldDecorator doesn't work with appium server 1.8.0

Problem:
I use AppiumFieldDecorator to do lazy loading on elements. It works fine when appium server is 1.7.2. But when upgrade to appium server 1.8.0, the method doesn’t work. The server doesn’t receive implicit wait request, such as below (I can see this request when appium server is 1.7.2)
[HTTP] --> POST /wd/hub/session/54fff602-7a76-4173-9c54-8dd48e4257ef/timeouts{“type”:“implicit”,“ms”:20000}

Environment
Appium 1.8
MAC OS 10.13.4
XCODe 9.3
IOS 11.3

Please check following logs.

[debug] [W3C] Calling AppiumDriver.getCurrentContext() with args: [“30cbc562-7d57-47c4-8cb3-3a7c95b9a788”]
[debug] [XCUITest] Executing command ‘getCurrentContext’
[debug] [W3C] Responding to client with driver.getCurrentContext() result: “NATIVE_APP”
[HTTP] <-- GET /wd/hub/session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788/context 200 3 ms - 84
[HTTP]
[HTTP] --> POST /wd/hub/session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788/element
[HTTP] {“using”:“id”,“value”:“Favorites”}
[debug] [W3C] Calling AppiumDriver.findElement() with args: [“id”,“Favorites”,“30cbc562-7d57-47c4-8cb3-3a7c95b9a788”]
[debug] [XCUITest] Executing command ‘findElement’
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, name, class name, -ios predicate string, -ios class chain, accessibility id
[debug] [BaseDriver] Waiting up to 0 ms for condition
[debug] [JSONWP Proxy] Proxying [POST /element] to [POST http://localhost:8100/session/33EBC3BF-6744-4F7A-9C6C-B1CA96FE2FE9/element] with body: {“using”:“id”,“value”:“Favorites”}
[debug] [JSONWP Proxy] Got response with status 200: {“value”:{“using”:“id”,“value”:“Favorites”,“description”:“unable to find an element”},“sessionId”:“33EBC3BF-6744-4F7A-9C6C-B1CA96FE2FE9”,“status”:7}
[HTTP] <-- POST /wd/hub/session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788/element 404 191 ms - 1094
[HTTP]
[HTTP] --> DELETE /wd/hub/session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788
[HTTP] {}
[debug] [W3C] Calling AppiumDriver.deleteSession() with args: [“30cbc562-7d57-47c4-8cb3-3a7c95b9a788”]
[debug] [BaseDriver] Event ‘quitSessionRequested’ logged at 1526626803007 (15:00:03 GMT+0800 (CST))
[Appium] Removing session 30cbc562-7d57-47c4-8cb3-3a7c95b9a788 from our master session list
[debug] [JSONWP Proxy] Proxying [DELETE /session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788] to [DELETE http://localhost:8100/session/33EBC3BF-6744-4F7A-9C6C-B1CA96FE2FE9] with no body
[debug] [JSONWP Proxy] Got response with status 200: “{\n “value” : {\n\n },\n “sessionId” : “7DD2F0FF-BDCC-4C37-9EF6-DDE41107F7C0”,\n “status” : 0\n}”
[debug] [XCUITest] Not clearing log files. Use clearSystemFiles capability to turn on.
[debug] [iOSLog] Stopping iOS log capture
[debug] [BaseDriver] Event ‘quitSessionFinished’ logged at 1526626803372 (15:00:03 GMT+0800 (CST))
[debug] [W3C] Received response: null
[debug] [W3C] But deleting session, so not returning
[debug] [W3C] Responding to client with driver.deleteSession() result: null
[HTTP] <-- DELETE /wd/hub/session/30cbc562-7d57-47c4-8cb3-3a7c95b9a788 200 376 ms - 76