Closed Bug 1078663 Opened 7 years ago Closed 7 years ago

[Dialer][Call log] Hidden number incoming call is displayed as Voicemail

Categories

(Firefox OS Graveyard :: Gaia::Dialer, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.1+, b2g-v2.0 unaffected, b2g-v2.1 verified, b2g-v2.2 verified)

VERIFIED FIXED
2.1 S6 (10oct)
blocking-b2g 2.1+
Tracking Status
b2g-v2.0 --- unaffected
b2g-v2.1 --- verified
b2g-v2.2 --- verified

People

(Reporter: ychung, Assigned: drs)

References

Details

(Keywords: dataloss, regression, Whiteboard: [2.1-flame-test-run-3])

Attachments

(3 files, 1 obsolete file)

Description:
Hidden number incoming call is displayed as "Withheld number" in the call log on 2.0. After OTA upgrade to 2.1, it is displayed as "Voicemail" instead.

Repro Steps:
1) Update a Flame device to 2.0 BuildID: 20141006000202
2) Change update channel and url on device to appropriate 2.1 build (20141006000205).
3) Receive an incoming call from a hidden number.
4) Perform OTA upgrade.
5) When the upgrade is done, open Phone app > Call log.

Actual:
Hidden number is displayed as "Voicemail".

Expected:
Hidden number is displayed as "Withheld number" as before upgrade.

[Before OTA - Flame 2.0]
  
Environmental Variables:
Device: Flame 2.0 (319mb, Full Flash)
BuildID: 20141006000202
Gaia: 092d2b7678774c8b0b06dca0e0a8119e9eafdec3
Gecko: 69ca61f7edf3
Gonk: 2c909e821d107d414f851e267dedcd7aae2cebf
Version: 32.0 (2.0)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:32.0) Gecko/32.0 Firefox/32.0
  
[After OTA - Flame 2.1]

Environmental Variables:
Device: Flame 2.1
BuildID: 20141006000205
Gaia: 778ebac47554e1c4b7e9a952d73e850f58123914
Gecko: c4a4b04c617c
Gonk: 2c909e821d107d414f851e267dedcd7aae2cebf
Version: 34.0a2 (2.1)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

Repro Frequency: 100%
Link to failed test case: https://moztrap.mozilla.org/manage/case/11456/
See attached: logcat, screenshot
This issue also reproduces after OTA upgrade from 2.1 to 2.2:

[Before OTA - Flame 2.1]

Environmental Variables:
Device: Flame 2.1 (319mb, Full Flash)
BuildID: 20141006000205
Gaia: 778ebac47554e1c4b7e9a952d73e850f58123914
Gecko: c4a4b04c617c
Gonk: 2c909e821d107d414f851e267dedcd7aae2cebf
Version: 34.0a2 (2.1)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

[After OTA - Flame 2.2]

Environmental Variables:
Device: Flame 2.2 Master
BuildID: 20141006040204
Gaia: 470826d13ae130a5c3d572d1029e595105485fb0
Gecko: e0d714f43edc
Gonk: 2c909e821d107d414f851e267dedcd7aae2cebf
Version: 35.0a1 (2.2 Master)
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Hidden number is displayed as "Voicemail".
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(dharris)
Attached image WithheldNumber.png
[Blocking Requested - why for this release]: Data loss (or confusing display) after an update.
blocking-b2g: --- → 2.1?
Duplicate of this bug: 1077473
I suspect that this isn't actually a data loss issue, and is instead a presentation issue, but I have no evidence of this. I'm leaving the flag up for now.

Here is a simpler STR from bug 1077473:

(In reply to Johan Lorenzo [:jlorenzo] from comment #5)
> Okay, I reproduced the issue too on master (2.2) with an Orange SIM card. 
> 
> Here are the steps to reproduce:
> 1. Receive a phone call from an unknown phone number => See "Withheld Number"
> 2. Hang up.
> 3. Go to call log => See "Voicemail".
I do not 'think' the regression-window tag is appropriate here

We can not update from 1.4 to 2.0 (is invalid)

The bug repro's from 2.0 to 2.1
The bug repro's from 2.1 to 2.2

We do not have a way to update to specific older builds / we can only update to the latest
Sorry, I should have been more specific and carried more information over from bug 1077473.

I don't think that the OTA update is actually required. As seen in comment 5, you can repro this without an update. The important thing is that a call that would be considered "Withheld number" is displayed as "Voicemail".

Let's see if others can repro with the simpler steps described in comment 5. If so, we can re-add the regression and regressionwindow-wanted keywords.
Keywords: qawanted
Summary: [Dialer][Call log] Hidden number incoming call is displayed as Voicemail after OTA upgrade from 2.0 to 2.1 → [Dialer][Call log] Hidden number incoming call is displayed as Voicemail
bug 1045499 regressed this.
Assignee: nobody → drs+bugzilla
Blocks: 1045499
Keywords: qawantedregression
Target Milestone: --- → 2.1 S6 (10oct)
Looks like the changes in bug 1045499 just revealed a deeper problem. For any withheld number, we have `group.voicemail === true` here:
https://github.com/mozilla-b2g/gaia/blob/master/apps/communications/dialer/js/call_log.js#L431

Previously, the logic was arranged incorrectly and we were accidentally writing on top of the voicemail string.
PR: https://github.com/mozilla-b2g/gaia/pull/24915

For starters, this is unfortunately a data loss issue.

The call log DB is polluted with a bunch of `voicemail=true` fields, but there's not much we can do here. The best I can think of is writing a migration which makes use of the currently inserted SIMs' voicemail numbers, and sets any others to false. This seems like it would cause more trouble than it's worth.

This patch fixes the issue in terms of future storage of the `voicemail` field in the call log DB. It will not fix any existing incorrect records.
Attachment #8501513 - Flags: review?(anthony)
Status: NEW → ASSIGNED
triage: see comment 5 for simpler STR. 
It should block because it's a regression and with high user impact.
blocking-b2g: 2.1? → 2.1+
Comment on attachment 8501513 [details] [diff] [review]
Fix withheld numbers being displayed as voicemail within the call log.

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

We may not be able to fix the database issue but we can at least fix the display of it. Withheld numbers have an empty number field so we can still detect if it's really a voicemail call or not. I'm thinking that CallLogDbManager._getGroupObject could return group.voicemail = false if group.id[1] === ''. But maybe that wouldn't fix it entirely.

I also left a comment on the PR.
Attachment #8501513 - Flags: review?(anthony) → review-
Updated PR.
Attachment #8501513 - Attachment is obsolete: true
Attachment #8502550 - Flags: review?(anthony)
Comment on attachment 8502550 [details] [diff] [review]
Fix withheld numbers being displayed as voicemail within the call log.

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

We did some iterations over IRC, r+ing the pull request that is more up to date.
Attachment #8502550 - Flags: review?(anthony) → review+
https://github.com/mozilla-b2g/gaia/commit/8facd8a2fda44e68f8046f2c9b572ce6150f9c1f
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Comment on attachment 8502550 [details] [diff] [review]
Fix withheld numbers being displayed as voicemail within the call log.

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): bug 1045499
[User impact] if declined: Calls from withheld numbers will show up in the call log as being from "Voicemail".
[Testing completed]: I tested this.
[Risk to taking this patch] (and alternatives if risky): Low.
[String changes made]: None.
Attachment #8502550 - Flags: approval-gaia-v2.1?(release-mgmt)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(dharris)
Attachment #8502550 - Flags: approval-gaia-v2.1?(release-mgmt) → approval-gaia-v2.1+
The issue is verified fixed on Flame 2.2 Master KK (319mb) (Full Flash) and Flame 2.1 KK (319mb) (Full Flash) 

Environmental Variables:
Device: Flame 2.2 Master  KK (319mb) (Full Flash)
BuildID: 20141012040203
Gaia: 717ad4e8b7fc10ab8248500d00ba5ba0977fa8ab
Gecko: 44168a7af20d
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 35.0a1 
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:35.0) Gecko/35.0 Firefox/35.0

Environmental Variables:
Device: Flame 2.1 KK (319mb) (Full Flash)
BuildID: 20141012001201
Gaia: d18e130216cd3960cd327179364d9f71e42debda
Gecko: 610ee0e6a776
Gonk: 52c909e821d107d414f851e267dedcd7aae2cebf
Version: 34.0a2
Firmware: V180
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0


Result: The hidden number of an incoming call is displayed as "Withheld number" as per design
Status: RESOLVED → VERIFIED
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(ktucker)
You need to log in before you can comment on or make changes to this bug.