Closed Bug 1585299 Opened 6 months ago Closed 6 months ago

[FxA] The fxA sync notification is displayed repeatedly - too many times

Categories

(Firefox :: Firefox Accounts, defect, P1)

defect

Tracking

()

VERIFIED FIXED
Firefox 71
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox67 --- unaffected
firefox68 --- unaffected
firefox69 --- unaffected
firefox70 --- unaffected
firefox71 --- fixed

People

(Reporter: irusiczki, Assigned: markh)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Attached image Sync enabled2.gif

Affected versions
Tested on FF Nightly 71.0a1

Affected platforms:
Tested on Windows 10x86

STR:

  1. With a new profile - open a tab and go to the FxA icon and create a new account.
  2. After confirming the new sync account on e-mail observe the notification down on the right corner about the sync being enabled

Expected result:
Sync Enabled notification is displayed once and will no longer be displayed if it's dismissed.

Actual result:
The Sync Enabled notification shows up several times (even if it's dismissed using the x button).

Notes:
This issue is reproducible with FF71 - Nightly.
I could not reproduce the issue on FF70beta9 or FF69 (release).
It is reproducible the same way even if I don't try to dismiss the notification (I counted it's been displayed 8 times).

Blocks: 1572097
No longer blocks: 1580115
Keywords: regression

Regressed by 1574048:

Before that bug, the ONVERIFIED notification was sent after we did the getKeys dance - and that dance was triggered at https://hg.mozilla.org/mozilla-central/file/5eb6540f097e55aa61711e43d879694d6413ce76/services/fxaccounts/FxAccounts.jsm#l1537. However, startVerifiedCheck() was called many times before the user was verified, so we actually ended up calling getKeys() many times - but that early-returned if we already had keys, so the ONVERIFIED notification was only sent once.

That bug changed things to do the notification instead of calling getKeys() - so we get many notifications.

The fix is easy.

Assignee: nobody → markh
Status: NEW → ASSIGNED
Priority: -- → P1
Regressed by: 1574048
Pushed by mhammond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/961eac228e3e
ensure only 1 fxaccounts:onverified notification when a new account verifies. r=lina

Backed out changeset 961eac228e3e (Bug 1585299) for ES Lint failures on FxAccounts.jsm && test_accounts.js

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&fromchange=961eac228e3ea9e4cb4d291ce7db53fe6c4dd6fa&tochange=16c8f8e2e02311cfc2499114964bce18e4ff9e6a&selectedJob=269375832

Backout link: https://hg.mozilla.org/integration/autoland/rev/16c8f8e2e02311cfc2499114964bce18e4ff9e6a

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=269375832&repo=autoland&lineNumber=54

[task 2019-10-02T06:13:21.045Z] b"running build_ext\nbuilding 'psutil._psutil_linux' extension\ncreating build\ncreating build/temp.linux-x86_64-3.5\ncreating build/temp.linux-x86_64-3.5/psutil\nx86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=543 -DPSUTIL_LINUX=1 -I/usr/include/python3.5m -I/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/init_py3/include/python3.5m -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_common.o\nx86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=543 -DPSUTIL_LINUX=1 -I/usr/include/python3.5m -I/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/init_py3/include/python3.5m -c psutil/_psutil_posix.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_posix.o\nx86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=543 -DPSUTIL_LINUX=1 -I/usr/include/python3.5m -I/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/init_py3/include/python3.5m -c psutil/_psutil_linux.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_linux.o\ncreating build/lib.linux-x86_64-3.5\ncreating build/lib.linux-x86_64-3.5/psutil\nx86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/psutil/_psutil_common.o build/temp.linux-x86_64-3.5/psutil/_psutil_posix.o build/temp.linux-x86_64-3.5/psutil/_psutil_linux.o -o build/lib.linux-x86_64-3.5/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so\nbuilding 'psutil._psutil_posix' extension\nx86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=543 -DPSUTIL_LINUX=1 -I/usr/include/python3.5m -I/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/init_py3/include/python3.5m -c psutil/_psutil_common.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_common.o\nx86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DPSUTIL_POSIX=1 -DPSUTIL_VERSION=543 -DPSUTIL_LINUX=1 -I/usr/include/python3.5m -I/builds/worker/checkouts/gecko/obj-x86_64-pc-linux-gnu/_virtualenvs/init_py3/include/python3.5m -c psutil/_psutil_posix.c -o build/temp.linux-x86_64-3.5/psutil/_psutil_posix.o\nx86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/psutil/_psutil_common.o build/temp.linux-x86_64-3.5/psutil/_psutil_posix.o -o build/lib.linux-x86_64-3.5/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so\ncopying build/lib.linux-x86_64-3.5/psutil/_psutil_linux.cpython-35m-x86_64-linux-gnu.so -> psutil\ncopying build/lib.linux-x86_64-3.5/psutil/_psutil_posix.cpython-35m-x86_64-linux-gnu.so -> psutil\n"
[task 2019-10-02T06:13:21.045Z] Error processing command. Ignoring because optional. (optional:packages.txt:comm/build/virtualenv_packages.txt)
[task 2019-10-02T06:28:30.574Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1461:35 | Insert err·=> (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1462:1 | Replace ······err·=> with ····· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1511:54 | Insert ⏎········ (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1512:1 | Replace ········ with ·········· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1513:1 | Insert ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1514:1 | Insert ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1515:9 | Insert ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1516:1 | Insert ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1517:1 | Replace ······}, with ········},⏎······· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1518:1 | Insert ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/FxAccounts.jsm:1519:7 | Replace } with ··}⏎······ (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:585:22 | Delete ⏎···· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:587:1 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:588:5 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:589:5 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:590:1 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:598:22 | Delete ⏎···· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:600:1 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:601:5 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:602:5 | Delete ·· (prettier/prettier)
[task 2019-10-02T06:28:30.575Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/services/fxaccounts/tests/xpcshell/test_accounts.js:603:1 | Delete ·· (prettier/prettier)
[taskcluster 2019-10-02 06:28:30.919Z] === Task Finished ===
[taskcluster 2019-10-02 06:28:31.660Z] Unsuccessful task run with exit code: 1 completed in 937.487 seconds

Flags: needinfo?(markh)
Pushed by mhammond@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/65b9baa6f476
ensure only 1 fxaccounts:onverified notification when a new account verifies. r=lina
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 71
Attached image fxa2verified.gif

I verified both scenarios (with and without dismissing the notification) on FF71 (Win10).
This issue is no longer reproducible.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.