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
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
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?
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
(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.
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
FEDORA-2021-14f2ed62fd has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2021-14f2ed62fd
(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.
I see this as fixed with FEDORA-2021-14f2ed62fd. Should it be marked as closed?
(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.
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.
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.