Bug 2013742

Summary: Online Accounts setup does not appear when wifi is configured through Gnome Initial Setup
Product: [Fedora] Fedora Reporter: Brandon Nielsen <nielsenb>
Component: gnome-initial-setupAssignee: Rui Matos <tiagomatos>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: awilliam, gnome-sig, jstpierr, mcatanza, nielsenb, robatino, tiagomatos
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-16 19:50:08 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1891955    
Attachments:
Description Flags
Journal from first boot with skipped Online Accounts step none

Description Brandon Nielsen 2021-10-13 15:59:12 UTC
Created attachment 1832631 [details]
Journal from first boot with skipped Online Accounts step

Description of problem: After configuring wifi through Gnome Initial Setup the Online Accounts setup page appears to be skipped, setup otherwise continues as normal.


Version-Release number of selected component (if applicable): Tested with Fedora 35 Branched 20211013.n.0[0], gnome-initial-setup 41.0-1.fc35.x86_64


How reproducible: Every time


Steps to Reproduce:
1. Install Fedora without configuring a network connection
2. Boot into newly installed system
3. Connect to a wifi network using the configuration page in Gnome Initial Setup
4. Continue with setup


Actual results: Setup continues, but Online Accounts page never appears


Expected results: Online Accounts page to appear as one of the steps after configuring wifi, but before creating a user


Additional info: Connecting to wifi before starting the installer in the live environment does result in the Online Accounts page being shown as expected.

I have attached the journal from the first boot without wifi configured in the installer.

[0] - https://kojipkgs.fedoraproject.org/compose/branched/Fedora-35-20211013.n.0/compose/Workstation/x86_64/iso/Fedora-Workstation-Live-x86_64-35-20211013.n.0.iso

Comment 1 Fedora Blocker Bugs Application 2021-10-13 16:03:47 UTC
Proposed as a Blocker for 35-final by Fedora user nielsenb using the blocker tracking app because:

 The "Online Accounts" panel cannot meet the "withstand a basic functionality test" portion of the "First boot experience" criterion[0] if it never appears. 

[0] - https://fedoraproject.org/wiki/Fedora_35_Final_Release_Criteria#First_boot_experience

Comment 2 Adam Williamson 2021-10-13 18:53:37 UTC
So looking into this a bit, the page does have a mechanism that's meant to make it show only when there is a network connection. It's hooked up to a callback which *should* re-run that decision any time the network changes:

  g_signal_connect (network_monitor, "network-changed",
                    G_CALLBACK (network_status_changed), page);

but maybe something went wrong with that mechanism?

Comment 3 Brandon Nielsen 2021-10-13 19:43:03 UTC
Thanks for opening the upstream issue, I got called away.

I agree, that looks suspicious. Pages can also be skipped via a `vendor.conf` file[0], but that doesn't seem to be the case here.

[0] - https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/blob/master/gnome-initial-setup/gnome-initial-setup.c#L128

Comment 4 Brandon Nielsen 2021-10-13 23:40:00 UTC
(In reply to Adam Williamson from comment #2)
> So looking into this a bit, the page does have a mechanism that's meant to
> make it show only when there is a network connection. It's hooked up to a
> callback which *should* re-run that decision any time the network changes:
> 
>   g_signal_connect (network_monitor, "network-changed",
>                     G_CALLBACK (network_status_changed), page);
> 
> but maybe something went wrong with that mechanism?

Played with it a bit more, you can actually recreate the issue in Boxes if you're quick enough disabling the network connection before G-I-S starts. After that I can't make the Online Accounts page appear no matter what combination of stepping forward and back through pages and re-enabling network I try.

Comment 5 Brandon Nielsen 2021-10-14 00:25:11 UTC
Last bit of digging for tonight, 'g_network_monitor_get_network_available'[0][1] seems to always return whatever state it is in when G-I-S starts. So if it returned `TRUE` the first time, it will always return `TRUE` and show the Online Accounts page no matter what connectivity changes have occurred, and vice versa. That feels like a bug, though I'm not sure where yet. Is it possible there's a default route that isn't getting cleaned up somewhere?

Either way, I'm not convinced doing `g_network_monitor_get_connectivity () == G_NETWORK_CONNECTIVITY_FULL` wouldn't be the more appropriate check.

[0] - https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/blob/master/gnome-initial-setup/pages/goa/gis-goa-page.c#L216
[1] - https://developer-old.gnome.org/gio/stable/GNetworkMonitor.html#g-network-monitor-get-network-available

Comment 6 Fedora Update System 2021-10-15 17:47:42 UTC
FEDORA-2021-14f2ed62fd has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-14f2ed62fd

Comment 7 Michael Catanzaro 2021-10-15 18:25:09 UTC
(In reply to Brandon Nielsen from comment #5)
> Either way, I'm not convinced doing `g_network_monitor_get_connectivity ()
> == G_NETWORK_CONNECTIVITY_FULL` wouldn't be the more appropriate check.

I agree, that would surely be a better check. Shame that g_network_monitor_get_network_available() has such a tempting name.

Comment 8 Brandon Nielsen 2021-10-15 19:27:53 UTC
I see this as fixed with FEDORA-2021-14f2ed62fd. Should it be marked as closed?

Comment 9 Michael Catanzaro 2021-10-15 19:38:13 UTC
(In reply to Brandon Nielsen from comment #8)
> I see this as fixed with FEDORA-2021-14f2ed62fd. Should it be marked as
> closed?

It will be closed when the update is released.

Comment 10 Fedora Update System 2021-10-15 20:51:37 UTC
FEDORA-2021-14f2ed62fd has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-14f2ed62fd`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-14f2ed62fd

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2021-10-16 19:50:08 UTC
FEDORA-2021-14f2ed62fd has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.