Closed Bug 1282344 Opened 8 years ago Closed 8 years ago

[Remote Control] After reboot TV, send tab will switch to previous remote control page but it cannot work

Categories

(Firefox OS Graveyard :: Gaia::TV, defect, P1)

ARM
Gonk (Firefox OS)
defect

Tracking

(blocking-b2g:2.6+, b2g-v2.6 fixed)

RESOLVED FIXED
blocking-b2g 2.6+
Tracking Status
b2g-v2.6 --- fixed

People

(Reporter: mlien, Assigned: chunmin)

References

Details

(Whiteboard: [ft:conndevices])

Attachments

(1 file)

[Testing Steps] 0. Paired Fennec and TV 1. Reboot TV 2. Send tab again from Fennec (will switch to previous remote control page) 3. Try to use remote control page [Expected result] Remote control page should work normally [Actual result] Remote control page cannot work [Build Info] Environment: 2.6 Nexus Player gaia: https://github.com/mozilla-b2g/gaia/commit/500eba02e3bf90099eb23864008f3f2ae3bb4947 gecko: https://github.com/mozilla-b2g/gecko-b2g/commit/49b98aa3b415380cc7a021d740b242894654245a Fennec add-on: https://github.com/ChunMinChang/fennec-fxos-tv/commit/68e9f6c5f25f9664a2b8201a1f51e274e9849de7
Hi Mike, I just update a patch. The add-on currently will kill the control page once the connection is closed. Therefore, this case won't exist anymore. Please help to test it, thanks! https://github.com/ChunMinChang/fennec-fxos-tv/commit/907b25ba04102d8c70072c37eb79cd39772f43bd
Assignee: nobody → cchang
Depends on: 1282390
After verifying, the above patch can work on nexus 5 if we use power key to reboot/shutdown. However, nexus player doesn't have power key, so it can only be shutdown by unplugging, and the patch can't work on this case. The problem is that Fennec can't get the callback when the connection is dropper. What's worse is the |nsISocketTransport.isAlive()| returns true when the TV is already power-off. I open another bug to track this issue: Bug 1282390
No longer depends on: 1282390
Depends on: 1282390
A workaround here is to use a dummy packet to test whether the connection is alive or not. Before sending a web page to TV, if Fennec think the connection with the server is alive, then send a dummy packet and wait for an ack. If there is no ack received in time, then Fennec will think the connection is closed and build a new connection to TV.
Can I assume the connection is established and already in send command status when you want to test? If so, how about send a unused key code in key press event (like KeyboardEvent.DOM_VK_F24) for it?
Blocks: TV_FxOS2.6
Hi Eric, Yes, you can assume the connection status is already authenticated. I think if we use something like {type: 'check'} and {type: 'ack'} will be clearer for its purpose.
How about {type: "ack", detail: "ping" (and "pong" from TV)}? This is only available as send command, so you can't send before JPAKE authentication.
Attachment #8765817 - Flags: review?(cchang) → review+
Comment on attachment 8765817 [details] Patch 1. Implement ping-pong for connection detection [Approval Request Comment] [Bug caused by] (feature/regressing bug #): [User impact] if declined: [Testing completed]: [Risk to taking this patch] (and alternatives if risky): [String changes made]:
Attachment #8765817 - Flags: approval-gaia-v2.6?(jocheng)
blocking-b2g: 2.6? → 2.6+
Comment on attachment 8765817 [details] Patch 1. Implement ping-pong for connection detection Approve for TV 2.6
Attachment #8765817 - Flags: approval-gaia-v2.6?(jocheng) → approval-gaia-v2.6+
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: