New issue
Advanced search Search tips

Issue 888277 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 3
Type: Bug



Sign in to add a comment

[CRD iOS] Can't report feedback when connection drops

Project Member Reported by yuweih@chromium.org, Sep 22

Issue description

App Version: 70.0.3538.28
OS Version: 12.0

What steps will reproduce the problem?
(1) Connect to a host
(2) Bring the app to background and wait for ~1 minute
(3) Reopen the app, which should pop back to the ClientConnectionView
(4) Tap "Report this"

What is the expected result?

The feedback window pops up

What happens instead?

Nothing happened

Please use labels and text to provide additional information.

This is an existing problem in currently launched app. The issue is that we move the RemotingClient object from ClientConnectionVC to HostViewVC when the connection is established, then we didn't move it back when the connection drops and we go back to ClientConnectionVC. ClientConnectionVC can't send feedback without a RemotingClient object.

To fix this, we will either need to move the RemotingClient object back to ClientConnectionVC, or make ClientConnectionVC keep a strong reference to the RemotingClient object. The later should be easier to do, but we will need to verify this doesn't cause a retain cycle or memory leakage.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/59e9790eee1c744c57beb37527f5f480373a6c50

commit 59e9790eee1c744c57beb37527f5f480373a6c50
Author: Yuwei Huang <yuweih@chromium.org>
Date: Thu Oct 18 23:28:52 2018

[CRD iOS] Fix "report this" when connection dropped

We release the reference to _client when ClientConnectionViewController
opens up the HostViewController. When the connection is dropped, the
ClientConnectionViewController pops out without transferring the
ownership of _client to ClientConnectionVC, so user now cannot send
feedback by tapping "report this".

There is no retain cycle between RemotingClient and ClientConnectionVC
or HostVC so it is fine to make ClientConnectionVC keep the reference
to _client after the HostVC is showing. Verified that no RemotingClient
persists in any scenarios after the connection ends.

Bug: 888277
Change-Id: I25940441327f5bf1a77eeb072d6fc45fc991e02f
Reviewed-on: https://chromium-review.googlesource.com/c/1287438
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Commit-Queue: Yuwei Huang <yuweih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#600963}
[modify] https://crrev.com/59e9790eee1c744c57beb37527f5f480373a6c50/remoting/ios/app/client_connection_view_controller.mm

Sign in to add a comment