Closed Bug 1135023 Opened 9 years ago Closed 9 years ago

Recent contact's name disappears if you call him back with the call log

Categories

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

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, b2g-v2.1S unaffected, b2g-v2.2 verified, b2g-master verified)

VERIFIED FIXED
2.2 S7 (6mar)
blocking-b2g 2.2+
Tracking Status
b2g-v2.1S --- unaffected
b2g-v2.2 --- verified
b2g-master --- verified

People

(Reporter: jlorenzo, Assigned: gsvelto)

References

Details

(Keywords: regression, Whiteboard: [planned-sprint c=3])

Attachments

(3 files)

STR
1. Place a call to an unknown number.
2. From the call log, create new contact with that number => The contact name is displayed on the call log.
3. From the call log, call the contact again.

Actual results
The phone number gets displayed again on the call log. This is not an actual data loss as you can close the app to get the name back. See this video for details: http://mzl.la/17jgISK

Additional info
I checked the behavior against 2.1, this bug is not present.

Repro rate: 3/3
[Blocking Requested - why for this release]: Regression easy to trigger for an end user.
blocking-b2g: --- → 2.2?
(In reply to Johan Lorenzo [:jlorenzo] (QA) from comment #0)
> Additional info
> I checked the behavior against 2.1, this bug is not present.

Tested also against a master before bug 1112677 landed, no repro there.

Build ID               20150214010227
Gaia Revision          f0b93e0668ef9565bd6f050b15b4f794d59feb65
Gaia Date              2015-02-13 13:13:27
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/a7c177546ca0
Gecko Version          38.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150214.043959
Firmware Date          Sat Feb 14 04:40:10 EST 2015
Bootloader             L1TC000118D0
Triage: Regression
blocking-b2g: 2.2? → 2.2+
Whiteboard: [planned-sprint c=?]
Target Milestone: --- → 2.2 S7 (6mar)
Assignee: nobody → gsvelto
Whiteboard: [planned-sprint c=?] → [planned-sprint c=3]
OS: Linux → Gonk (Firefox OS)
Hardware: x86_64 → ARM
Status: NEW → ASSIGNED
Comment on attachment 8569174 [details] [review]
[gaia] gabrielesvelto:bug-1135023-contact-cache-validation > mozilla-b2g:master

This was another silly mistake caused by an undeclared self variable. It's quite annoying that the linter doesn't catch these issues. This was also what caused bug 1135044 to never update the information displayed on the page, even after restarting the application.
Attachment #8569174 - Flags: review?(thills)
Hi Gabriele,

I don't see this as fixed according to the STR.  Here's what I'm noticing:

1.  after I create the contact and then go back to the call log, I'm noticing that it only populates the dialer.  Isn't it supposed to launch the call as well?  I can't remember off the top of my head.  Maybe this is unrelated.

2.  So then I hit the dial button (after pressing the call log with the new name I created) and the call launches and I cancel (just like in video) and then I go back to call log and I see the number there instead of the name.  Like Johan mentioned I can kill the dialer and the name shows up then.

Thanks,

-tamara
Flags: needinfo?(gsvelto)
You're right, the issue still occurs though I'm able to directly call via the call log.
Flags: needinfo?(gsvelto)
Attachment #8569174 - Flags: review?(thills)
Comment on attachment 8569174 [details] [review]
[gaia] gabrielesvelto:bug-1135023-contact-cache-validation > mozilla-b2g:master

There was another misplaced `self` declaration which was preventing the code from working correctly. Figuring out why things weren't working turned out to be a lot more complicated because of a very bizarre side-effect I've encountered. Due to function scoping of variables the place where we declared the `self` variable updateExistingGroup() shouldn't have mattered. However for some obscure reason the code was picking a different declaration of that variable and using that one instead. The declaration is this one:

https://github.com/mozilla-b2g/gaia/blob/3b2c0cfc25b6fe14a98936ad3bdb18399e54ce8d/apps/communications/dialer/js/dialer.js#L29

Since another declaration was being picked up correctly for that variable the runtime didn't complain nor did it throw errors.

I have no idea what kind of bizarre scoping rules (or gecko bug?) are causing this but I'll definitely post on dev-platform a small test-case to clarify if this is expected behavior or the external declaration of `self` is somehow leaking where it shouldn't.
Attachment #8569174 - Flags: review?(thills)
Comment on attachment 8569174 [details] [review]
[gaia] gabrielesvelto:bug-1135023-contact-cache-validation > mozilla-b2g:master

Hi Gabriele,

Looks good.  I tested and it works.  I'll be curious to see what the dev-platform folks say.  Looks like a scope resolution issue.

Also, I'm going to follow another bug about the call log not automatically dialing.  I confirmed it's not related to your patch.  It also occurs on master.

Thanks,

-tamara
Attachment #8569174 - Flags: review?(thills) → review+
Thanks for the review Tamara, adding checkin-needed,
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Keywords: verifyme
Comment on attachment 8569174 [details] [review]
[gaia] gabrielesvelto:bug-1135023-contact-cache-validation > mozilla-b2g:master

[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): bug 1112577
[User impact] if declined: The call log exhibits erratic behavior when creating and modifying contacts, with entries appearing either as a number when they should display the name or as the wrong name
[Testing completed]: Tested on a device, QA verification pending
[Risk to taking this patch] (and alternatives if risky): This patch is low risk as it addresses an obvious regression from bug 1112577; the alternative is backing out bug 1112577
[String changes made]: None
Attachment #8569174 - Flags: approval-gaia-v2.2?(bbajaj)
Hi Eric,

    This bug has been failed verified on latest Flame v3.0. Could you help with this bug?

Thank you very much.

See attachments: verify_v3.0.MP4 and logcat_1126.txt
Reproduce rate: 3/8

Repro STR:
1.Insert one or two SIM cards.
2.Open Phone app.
3.Input some number on keypad.
4.Call out and end call.
5.Long tap on the number in call log, then create a new contact with only first name(Important).
6.From the call log, tap on the contact to call again.
**After user end call and back to call log,the recent contact's first name disappears. --KO

Flame 3.0 build:
Build ID               20150308160204
Gaia Revision          fea83511df9ccba64259346bc02ebf2c417a12c2
Gaia Date              2015-03-08 06:36:28
Gecko Revision         https://hg.mozilla.org/mozilla-central/rev/eab4a81e4457
Gecko Version          39.0a1
Device Name            flame
Firmware(Release)      4.4.2
Firmware(Incremental)  eng.cltbld.20150308.192120
Firmware Date          Sun Mar  8 19:21:31 EDT 2015
Bootloader             L1TC000118D0
Flags: needinfo?(echang)
FWD ni to RD.
Flags: needinfo?(echang) → needinfo?(gsvelto)
Tested again on my side and I can confirm the issue detailed in comment 13; I've also figured out why I couldn't reproduce it before: it only happens when you have two SIMs. I'm going to open a follow up to address that.
Flags: needinfo?(gsvelto)
Blocks: 1141578
(In reply to Gabriele Svelto [:gsvelto] from comment #17)
> Tested again on my side and I can confirm the issue detailed in comment 13;
> I've also figured out why I couldn't reproduce it before: it only happens
> when you have two SIMs. I'm going to open a follow up to address that.

Waiting to see of we can fix the follow-up before the branch uplift on this one.
QA Whiteboard: [MGSEI-Triage+]
Attachment #8569174 - Flags: approval-gaia-v2.2?(bbajaj) → approval-gaia-v2.2+
This bug has been successfully verified on latest Flame v2.2&3.0 in https://bugzilla.mozilla.org/show_bug.cgi?id=1141578#c10
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: