Define more accurate error messages for Bluetooth file-sharing (Gecko)

RESOLVED FIXED in Firefox 25, Firefox OS v1.1hd

Status

Firefox OS
Gaia::Bluetooth
P1
normal
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: leo.bugzilla.gecko, Assigned: ericchou)

Tracking

(Blocks: 1 bug)

unspecified
1.1 QE4 (15jul)
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(blocking-b2g:leo+, firefox23 wontfix, firefox24 wontfix, firefox25 fixed, b2g18 fixed, b2g18-v1.0.0 wontfix, b2g18-v1.0.1 wontfix, b2g-v1.1hd fixed)

Details

(Whiteboard: [TD-46587])

Attachments

(4 attachments)

(Reporter)

Description

4 years ago
A and B devices is D300

step>
1. A and B pair
2. File transfer from A to B
3. File currently being transferred.
   Select a photo.
4. B is selected.
5. Click on the OK button.

Black screen appears. but the First file transfer has been completed.
So, When you send the file before the transfer is complete, the screen will appear black.
Please check.
Thanks.
Hi Leo,

May I know what the build version do you work on? And I don't know D300 means. Does it have any other id? Thank you.
(Reporter)

Comment 2

4 years ago
Hi Ian,

A and B device is leo and this bug is not seem to relate with build version.
I'll attach the reprodeced video, so please check your devices.

Thanks.
blocking-b2g: --- → leo+
Priority: -- → P1
Whiteboard: [TD-46587]
Target Milestone: --- → 1.1 QE3 (24jun)
(Reporter)

Comment 3

4 years ago
Created attachment 765212 [details]
black_screen_during_opp
(In reply to leo.bugzilla.gecko from comment #2)
> Hi Ian,
> 
> A and B device is leo and this bug is not seem to relate with build version.
> I'll attach the reprodeced video, so please check your devices.
> 
> Thanks.

Thanks for your information in detail. Since the issue could not be reproduced in latest version, I would like to request QA team for double verification. They could have enough Leo device for test quickly.

Water,
Could you please help to verify it?

Thank you all.
Keywords: qawanted
QA Contact: wachen
(Reporter)

Comment 5

4 years ago
I found bug 876823 and this seem to be same bug.
After patch applied, fail alert popup is appeared instead of black screen.
Is this correct scenario?
It looks very similar to the scenario. One different step is waiting/starting transferring file from device B. It will need Eric's input here for client/service mechanism. Thanks.
Flags: needinfo?(echou)
(Assignee)

Comment 7

4 years ago
(In reply to leo.bugzilla.gecko from comment #5)
> I found bug 876823 and this seem to be same bug.
> After patch applied, fail alert popup is appeared instead of black screen.
> Is this correct scenario?

Looks like that the build you used didn't have the patch of bug 876823, then it should not be the latest build so what you see is expected.

And yes, once the patch is applied, then you would see the error dialog if you try to start a file-transfer session while another one is ongoing.

If you use the latest build, "multiple file transferring" on b2g18 has been supported. That means users can pick more than one photo at a time and share via Bluetooth. Please note that you have to pick all photos at one time. If one is being sent and you want to send another, you need to wait until the ongoing session is done or you'll see the prompt.

We should mark this a dup of bug 876823 based on comment 5.
Flags: needinfo?(echou)

Updated

4 years ago
Blocks: 885496
(Assignee)

Comment 8

4 years ago
Ehsan, did you mark the wrong bug? I don't think this blocks bug 885496.
Flags: needinfo?(ehsan)
(Reporter)

Comment 9

4 years ago
Hi Eric,

I confirmed to appear fail popup after applied bug 876823.
But I concern that message of fail popup is common.
I think that the message is needed more clear and fail cause is written.
I hope this discuss.

Thanks.
(Assignee)

Comment 10

4 years ago
Created attachment 765754 [details]
Error screen
(Assignee)

Comment 11

4 years ago
(In reply to leo.bugzilla.gecko from comment #9)
> Hi Eric,
> 
> I confirmed to appear fail popup after applied bug 876823.
> But I concern that message of fail popup is common.
> I think that the message is needed more clear and fail cause is written.
> I hope this discuss.
> 
> Thanks.

I understand. Using the same error message for all cases was an idea from our UX team. It's good for most cases since people may not interested in seeing too many error messages which they don't know how to deal with. But for this case, I agree with you and let's pull in our UX Casey.

Hi Casey,

Leo suggests that we should show error messages more accurately when user's file-sharing request is declined because an ongoing session already exists. Currently it's "Bluetooth file transfer failed. Check that the Bluetooth settings are correct.". (Please refer to the screenshot I attached.) Could you give some feedback? Thanks.
Flags: needinfo?(kyee)

Updated

4 years ago
No longer blocks: 885496

Comment 12

4 years ago
(In reply to Eric Chou [:ericchou] [:echou] (6/25 ~ 28 @ Shanghai, GSMA MAE) from comment #8)
> Ehsan, did you mark the wrong bug? I don't think this blocks bug 885496.

Yeah, sorry!
Flags: needinfo?(ehsan)
Over to Tim to reassign. This bug is still up for grabs.
Assignee: nobody → timdream

Comment 14

4 years ago
retested 6 times and was unable to repro issue
Leo Build ID: 20130621070212
Gecko: http://hg.mozilla.org/releases/mozilla-b2g18/rev/a34f6d62cb05
Gaia: cca61224e6df8e9f7e450d77cb6a8cf91029be64
Platform Version: 18.0

Sent picture right after each other before first one was received and was unable to get black screen on leo device.
Keywords: qawanted
Assignee: timdream → iliu
(Reporter)

Comment 15

4 years ago
Dear Mozilla Team,

I have a question about this bug.
This bug is caused by file-transfer session while another one is ongoing.
Do you have to modify the plan for send file several times while ongoing.

Thanks.
(In reply to leo.bugzilla.gecko from comment #15)
> Dear Mozilla Team,
> 
> I have a question about this bug.
> This bug is caused by file-transfer session while another one is ongoing.
> Do you have to modify the plan for send file several times while ongoing.
> 
> Thanks.

According to comment 11, we would like to propose UX for improving error message in this situation. Exact error message is clear and definite to let user know why sent file failed. Thanks.
(Reporter)

Comment 17

4 years ago
I understatnd your comment but I think that users seem to be uncomfortable if this case is reproduced. Because they maybe want to send another files while sending the file. So I would like to know if there are plans to support it in the future.
(Assignee)

Comment 18

4 years ago
Hi Leo,

(In reply to leo.bugzilla.gecko from comment #17)
> I understatnd your comment but I think that users seem to be uncomfortable
> if this case is reproduced. Because they maybe want to send another files
> while sending the file. So I would like to know if there are plans to
> support it in the future.

Please file a bug and we'll see if we could fix this by v1.1.

Comment 19

4 years ago
This issue might be fixed next version.
Target Milestone: 1.1 QE3 (24jun) → ---

Comment 20

4 years ago
(In reply to Eric Chou [:ericchou] [:echou] (6/25 ~ 28 @ Shanghai, GSMA MAE) from comment #11)

> 
> Leo suggests that we should show error messages more accurately when user's
> file-sharing request is declined because an ongoing session already exists.
> Currently it's "Bluetooth file transfer failed. Check that the Bluetooth
> settings are correct.". (Please refer to the screenshot I attached.) Could
> you give some feedback? Thanks.

I suppose we could add a "Bluetooth file transfer declined" message though I don't think that is any less ambiguous than "Bluetooth file transfer failed".   The issue is that it's not really obvious in any case what has happened or what the user should do.  

We could add additional information to the error like "Only 1 file can be transferred at a time."  Can this be done?  What are the different error states that we need to handle?   How much information do we get for any given error?
Flags: needinfo?(kyee)
(In reply to Casey Yee [:cyee] from comment #20)
> (In reply to Eric Chou [:ericchou] [:echou] (6/25 ~ 28 @ Shanghai, GSMA MAE)
> from comment #11)
> 
> > 
> > Leo suggests that we should show error messages more accurately when user's
> > file-sharing request is declined because an ongoing session already exists.
> > Currently it's "Bluetooth file transfer failed. Check that the Bluetooth
> > settings are correct.". (Please refer to the screenshot I attached.) Could
> > you give some feedback? Thanks.
> 
> I suppose we could add a "Bluetooth file transfer declined" message though I
> don't think that is any less ambiguous than "Bluetooth file transfer
> failed".   The issue is that it's not really obvious in any case what has
> happened or what the user should do.  
> 
Casey,
Thanks for your suggestion. It's clear really. We will need Adapter.connect() API to provide the error code for the use case. Then, we're able to identify the use case for showing "Bluetooth file transfer declined" message.

Eric,
Could we have a change for getting the error code? If we can reach that, I think we can fix the issue at this stage. Thanks.

> We could add additional information to the error like "Only 1 file can be
> transferred at a time."  Can this be done?  What are the different error
> states that we need to handle?   How much information do we get for any
> given error?
Before we send a file, we would need to check Bluetooth enable/disable state, get adapter, paired devices, and target adapter connection. Following failed action which is can be reached in gaia side.

====== Failed Action: "Debuging Message" ======
Get Bluetooth state failed: "Can not get bluetooth.enabled from setting!"
Get adapter failed:         "Can not get bluetooth adapter!"
Get paired devices failed:  "Can not get paired devices from adapter."
Get adapter connect failed: "Can not get adapter connect!"

But I think that user might do not want to know so many error state in experience. For the section, I still agree with previous discussion in spec. 

For identifying whether file(s) is(are) transferring or not, we will need to revise sending queue in Gecko and Gaia. [1]Bluetooth API supports multiple file transfer at a time. But, we cannot get the connection from the working adapter until the previous sending queue finished.

The proposal are as following:

a) We should remove sending queue in adapter.sendFile() API. Then, only handle the sending queue in Gaia side.
b) We will need modify the mechanism[1] in Gecko side.

It's better to create another issue for the big change. Thanks.
Flags: needinfo?(echou)
(Assignee)

Comment 22

4 years ago
> 
> I suppose we could add a "Bluetooth file transfer declined" message though I
> don't think that is any less ambiguous than "Bluetooth file transfer
> failed".   The issue is that it's not really obvious in any case what has
> happened or what the user should do.  
> 
> We could add additional information to the error like "Only 1 file can be
> transferred at a time."  Can this be done?  

Yeah, that should be enough for this case.

> What are the different error states that we need to handle? 
> How much information do we get for any given error?

Another one I can think of is the remote device does not support file-transfer profile. We might need another error message such as "The target device does not support Bluetooth file-sharing".
Flags: needinfo?(echou)
(Assignee)

Comment 23

4 years ago
> Casey,
> Thanks for your suggestion. It's clear really. We will need
> Adapter.connect() API to provide the error code for the use case. Then,
> we're able to identify the use case for showing "Bluetooth file transfer
> declined" message.
> 
> Eric,
> Could we have a change for getting the error code? If we can reach that, I
> think we can fix the issue at this stage. Thanks.
> 

Sure. We can define error code based on our needs.
(Reporter)

Updated

4 years ago
Target Milestone: --- → 1.1 QE4 (15jul)
Blocks: 889754
Let's separate and trace Gaia task on bug 889754.
(Assignee)

Updated

4 years ago
Summary: [Bluetooth]When you send the file before the transfer is complete, the screen will appear black. → Define more accurate error messages for Bluetooth file-sharing (Gecko)
(Assignee)

Comment 25

4 years ago
Modify title based on comment 11, comment 20, comment 21.
(Assignee)

Comment 26

4 years ago
Created attachment 771152 [details] [diff] [review]
patch 1: v1: Define new error messages for Bluetooth profiles

Based on above comments, we need new error messages for Gaia to distinguish different errors after calling profile.Connect(). In this patch, I define a new error message "AlreadyConnectedError", which would be sent to Gaia as an argument of onError() if Gaia tries to connect with a connected device.

For more information, please see bug 889754 comment 2.
Assignee: iliu → echou
Attachment #771152 - Flags: review?(gyeh)
Comment on attachment 771152 [details] [diff] [review]
patch 1: v1: Define new error messages for Bluetooth profiles

Review of attachment 771152 [details] [diff] [review]:
-----------------------------------------------------------------

Looks perfect, thanks :)
Attachment #771152 - Flags: review?(gyeh) → review+
Eric, you may need to rebase this patch. I cannot apply this patch neither on m-c nor on b2g18.
Sorry, this patch can be successfully applied on m-c, but failed on b2g18.
(Assignee)

Updated

4 years ago
Depends on: 839370
(Assignee)

Comment 30

4 years ago
(In reply to Gina Yeh [:gyeh] [:ginayeh] from comment #29)
> Sorry, this patch can be successfully applied on m-c, but failed on b2g18.

Hi Sheriff,

We need bug 839370 to be merged into b2g18 before this, so please don't apply the reviewed patch to b2g18. Thank you.
(Assignee)

Comment 31

4 years ago
https://hg.mozilla.org/projects/birch/rev/5b5827f2c64f
Whiteboard: [TD-46587] → [TD-46587][fixed-in-birch]
https://hg.mozilla.org/mozilla-central/rev/5b5827f2c64f
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Whiteboard: [TD-46587][fixed-in-birch] → [TD-46587]
(Assignee)

Comment 33

4 years ago
Created attachment 771921 [details] [diff] [review]
patch 1: for b2g18

* b2g18-specific patch
(Assignee)

Updated

4 years ago
status-b2g18: --- → affected
status-b2g18-v1.0.1: --- → wontfix
https://hg.mozilla.org/releases/mozilla-b2g18/rev/41fa27430f5f
status-b2g18: affected → fixed
status-b2g18-v1.0.0: --- → wontfix
status-b2g-v1.1hd: --- → affected
status-firefox23: --- → wontfix
status-firefox24: --- → wontfix
status-firefox25: --- → fixed
https://hg.mozilla.org/releases/mozilla-b2g18_v1_1_0_hd/rev/41fa27430f5f
status-b2g-v1.1hd: affected → fixed
You need to log in before you can comment on or make changes to this bug.