Cancelling IT2Me requires restarting client web app |
||||||
Issue descriptionVersion: 55.0.2883.17 Host and Client OS: any What steps will reproduce the problem? (1)In IT2Me, hit share (2)On client, enter the code and hit enter (3)On host, hit cancel on PIN code screen (not the confirmation dialog) (4)On client, the Connecting... dialog spins and spins and cannot be halted without exiting and restarting app
,
Oct 24 2016
,
Oct 24 2016
Per discussion with Jamie, along with debugging this issue and making sure it is solid, we we should update the error strings in the webapp. This will likely require sending a new error code to the client so we should make sure older clients can handle an unknown error reason.
,
Oct 24 2016
With respect to the original issue, I see what is going on. On the host side, the NMH process yields controls to the connection dialog and spins until the user clicks a button or the 60 second timeout occurs. For the repro, the webapp appears to hang after clicking cancel there until either the timeout occurs or the user presses cancel on the dialog. We can probably interrupt the wait cycle, I'll have to see if we can do so cleanly.
,
Oct 25 2016
Another note, this bug only reproduces on Windows, Mac/Linux/ChromeOS work fine. The reason Windows is affected is that the UI thread, which handles STDIO, is also used to drive the message pump for the Dialog. Since the UI thread is busy handling window messages, it does not pick up the message to disconnect from the webapp. I think the right fix is to create a new UI thread to run the confirmation dialog on for Windows. After thinking about it a bit more, I also think we should use a separate bug to track the string changes as there is some additional UI work for that which is not related to this change.
,
Oct 27 2016
My previous comment was technically correct but the solution isn't. I could update the dialog to own its own thread but that doesn't feel right and neither does making the owning class (the proxy) handle it. I think a better solution is to update the host to send a new connection state to the webapp, the webapp will then be able to update its message to tell the user that a dialog has been displayed which requires their interaction. Thus we can avoid the whole problem and make the process less error prone.
,
Oct 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a41e7dd53d4bc9f268939d10a02c24302cef8020 commit a41e7dd53d4bc9f268939d10a02c24302cef8020 Author: joedow <joedow@chromium.org> Date: Mon Oct 31 19:54:33 2016 It2Me Host changes to support Confirmation Dialog state This change adds a new state to the It2Me connection process. This state will be sent to the Webapp/client to indicate that the remote user has started the connection process but has not yet completed it. For our purposes, this state will signal that the local user must take action (i.e. click accept on the confirmation dialog) and we can use it to updated the text / UI state on the local machine. BUG= 658459 Review-Url: https://codereview.chromium.org/2452223002 Cr-Commit-Position: refs/heads/master@{#428776} [modify] https://crrev.com/a41e7dd53d4bc9f268939d10a02c24302cef8020/remoting/host/it2me/it2me_host.cc [modify] https://crrev.com/a41e7dd53d4bc9f268939d10a02c24302cef8020/remoting/host/it2me/it2me_host.h [modify] https://crrev.com/a41e7dd53d4bc9f268939d10a02c24302cef8020/remoting/host/it2me/it2me_host_unittest.cc [modify] https://crrev.com/a41e7dd53d4bc9f268939d10a02c24302cef8020/remoting/host/it2me/it2me_native_messaging_host.cc [modify] https://crrev.com/a41e7dd53d4bc9f268939d10a02c24302cef8020/remoting/host/it2me/it2me_native_messaging_host_unittest.cc
,
Oct 31 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/46c2064c3f4af9437ed87ffdb777978d37f47366 commit 46c2064c3f4af9437ed87ffdb777978d37f47366 Author: joedow <joedow@chromium.org> Date: Mon Oct 31 20:29:51 2016 CRD Webapp changes to support Confirmation Dialog It2Me state This change adds a new state to the CRD webapp. This state is sent to the Webapp/client to indicate that the remote user has started the connection process but has not yet completed it. For our purposes, this state will signal that the local user must take action (i.e. click Share on the confirmation dialog) and we can use it to updated the text / UI state on the local machine. The strings and webapp dialog are also updated to inform the user that an action is required on their part to complete the process. BUG= 658459 Review-Url: https://codereview.chromium.org/2453193004 Cr-Commit-Position: refs/heads/master@{#428790} [modify] https://crrev.com/46c2064c3f4af9437ed87ffdb777978d37f47366/remoting/resources/remoting_strings.grd [modify] https://crrev.com/46c2064c3f4af9437ed87ffdb777978d37f47366/remoting/webapp/base/js/ui_mode.js [modify] https://crrev.com/46c2064c3f4af9437ed87ffdb777978d37f47366/remoting/webapp/crd/html/dialog_host.html [modify] https://crrev.com/46c2064c3f4af9437ed87ffdb777978d37f47366/remoting/webapp/crd/js/host_screen.js [modify] https://crrev.com/46c2064c3f4af9437ed87ffdb777978d37f47366/remoting/webapp/crd/js/host_session.js
,
Oct 31 2016
It2Me host now provides a new state to the webapp when the confirmation dialog is present, the webapp has also been updated to instruct the user to look for the confirmation dialog.
,
Nov 4 2016
Verified on 56.0.2908.0. The option to cancel has been replaced by a reminder to confirm |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by jamiewa...@chromium.org
, Oct 24 2016Status: Assigned (was: Untriaged)