Zoom didn't work "operation is unsupported on Android"

The zoom to an element or position does not work.
I use java-client 2.1.0,and the latest appium version

Anyone an idea what’s going on?

CODE:
AndroidDriver androidDrive = (AndroidDriver)browser.driver
androidDrive.zoom(100,100)
androidDrive.zoom(element)

ERROR:

Capabilities [{platform=ANDROID, acceptSslCerts=true, javascriptEnabled=true, browserName=chrome, chrome={}, rotatable=false, locationContextEnabled=true, mobileEmulationEnabled=false, version=39.0.2171.93, takesHeapSnapshot=true, cssSelectorsEnabled=true, databaseEnabled=false, handlesAlerts=true, browserConnectionEnabled=false, webStorageEnabled=true, nativeEvents=true, applicationCacheEnabled=false, takesScreenshot=true}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:180)
at org.openqa.selenium.remote.RemoteWebDriver$RemoteWebDriverOptions$RemoteWindow.getSize(RemoteWebDriver.java:806)
at io.appium.java_client.AppiumDriver.zoom(AppiumDriver.java:459)
at io.appium.java_client.TouchShortcuts$zoom.call(Unknown Source)

APPIUMLOG:

info: --> DELETE /wd/hub/session/3d4624e3cc4143d98890e89a7d4f88b9/cookie {}
info: [debug] Proxying command to 127.0.0.1:9515
info: [debug] Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/session/3d4624e3cc
4143d98890e89a7d4f88b9/cookie”,“method”:“DELETE”}
info: [debug] Proxied response received with status 200: “{“sessionId”:“3d4624e3cc4143d98890e89a7
d4f88b9”,“status”:0,“value”:null}”
info: <-- DELETE /wd/hub/session/3d4624e3cc4143d98890e89a7d4f88b9/cookie 200 373.889 ms - 72
info: --> DELETE /wd/hub/session/3d4624e3cc4143d98890e89a7d4f88b9/window {}
info: [debug] Proxying command to 127.0.0.1:9515
info: [debug] Making http request with opts: {“url”:“http://127.0.0.1:9515/wd/hub/session/3d4624e3cc
4143d98890e89a7d4f88b9/window”,“method”:“DELETE”}
info: [debug] Proxied response received with status 200: “{“sessionId”:“3d4624e3cc4143d98890e89a7
d4f88b9”,“status”:0,“value”:null}”
info: <-- DELETE /wd/hub/session/3d4624e3cc4143d98890e89a7d4f88b9/window 200 1175.984 ms - 72
info: --> DELETE /wd/hub/session/3d4624e3cc4143d98890e89a7d4f88b9 {}
info: Shutting down appium session
info: [debug] [BOOTSTRAP] [debug] Got data from client: {“cmd”:“shutdown”}
info: [debug] [BOOTSTRAP] [debug] Got command of type SHUTDOWN
info: [debug] [BOOTSTRAP] [debug] Returning result: {“value”:“OK, shutting down”,“status”:0}
info: [debug] [BOOTSTRAP] [debug] Closed client connection
info: [debug] Sent shutdown command, waiting for UiAutomator to stop…
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: numtests=1
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: stream=.
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstr
ap
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: current=1
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS_CODE: 0
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS: stream=
info: [debug] [UIAUTOMATOR STDOUT] Test results for WatcherResultPrinter=.
info: [debug] [UIAUTOMATOR STDOUT] Time: 49.684
info: [debug] [UIAUTOMATOR STDOUT] OK (1 test)
info: [debug] [UIAUTOMATOR STDOUT] INSTRUMENTATION_STATUS_CODE: -1
info: [debug] UiAutomator shut down normally
info: [debug] Killing chromedriver
info: [debug] Chromedriver exited with code null
info: [debug] (killed by signal SIGTERM)
info: [debug] executing cmd: C:\libs\AndroidSDK\platform-tools\adb.exe -s 1195a6f0 shell “am force-s
top com.android.chrome”
info: --> GET /wd/hub/status {}
info: [debug] Proxying command to 127.0.0.1:9515
info: [debug] Making http request with opts: {“url”:"http://127.0.0.1:9515/wd/hub/status",“method”:"

Touch actions work against native content perfectly. But there are a lot of problems when you try to use it for browser/webview. As I can see you are starting the Chrome.

Actually I am waiting for the moment when this pull-request will be merged and published:

How can I help to find the bug?