Gnome-shell doesn't work after F38->F39 update

After updating from F38 to F39 there is just a grey screen after login and a black screen for VNC sessions. Manually launching gnome-shell, dbus-run-session gnome-shell --display-server {type} kind of helps in that the window manager/gnome-shell displays, but windows for applications do not (they start though since they show up in the list of processes).

Looking through the journal there were no obvious errors that I could spot. There is this which repeats a lot so it’s probably noise or a symptom of the real issue:

Apr 01 10:26:42 {hostname} gnome-shell[4057]: keyringPrompt: Failed to show modal dialog. Dismissing promp>
Apr 01 10:26:42 {hostname} gnome-shell[4057]: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed>

                                                           Stack trace:
                                                             _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/>
                                                             @resource:///org/gnome/shell/ui/init.js:21:20
                                                             ### Promise created here: ###
                                                             _setEngine@resource:///org/gnome/shell/misc/ibusManager.js>
                                                             setEngine@resource:///org/gnome/shell/misc/ibusManager.js:>
                                                             activateInputSource@resource:///org/gnome/shell/ui/status/>
                                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_sign>
                                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:1>
                                                             activate@resource:///org/gnome/shell/ui/status/keyboard.js>
                                                             _inputSourcesChanged@resource:///org/gnome/shell/ui/status>
                                                             reload@resource:///org/gnome/shell/ui/status/keyboard.js:4>
                                                             _ibusSetContentType@resource:///org/gnome/shell/ui/status/>
                                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_sign>
                                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:1>
                                                             _setContentType@resource:///org/gnome/shell/misc/ibusManag>
                                                             @resource:///org/gnome/shell/ui/init.js:21:20

Apr 01 10:26:42 {hostname} gnome-shell[4057]: keyringPrompt: Failed to show modal dialog. Dismissing promp>
Apr 01 10:26:42 {hostname} gnome-shell[4057]: Failed to get met.no forecast data: Unacceptable TLS certifi>
Apr 01 10:26:42 {hostname} systemd[2712]: Starting xdg-desktop-portal-gtk.service - Portal service (GTK/GN>
Apr 01 10:26:42 {hostname} gnome-shell[4057]: Gio.DBusError: GDBus.Error:org.freedesktop.DBus.Error.Failed>

                                                           Stack trace:
                                                             _promisify/proto[asyncFunc]/</<@resource:///org/gnome/gjs/>
                                                             @resource:///org/gnome/shell/ui/init.js:21:20
                                                             ### Promise created here: ###
                                                             _setEngine@resource:///org/gnome/shell/misc/ibusManager.js>
                                                             setEngine@resource:///org/gnome/shell/misc/ibusManager.js:>
                                                             activateInputSource@resource:///org/gnome/shell/ui/status/>
                                                             _callHandlers@resource:///org/gnome/gjs/modules/core/_sign>
                                                             _emit@resource:///org/gnome/gjs/modules/core/_signals.js:1>
                                                             activate@resource:///org/gnome/shell/ui/status/keyboard.js>

And much earlier this:

Apr 01 10:26:41 {hostname} gnome-shell[4057]: keyringPrompt: Failed to show modal dialog. Dismissing prompt request
Apr 01 10:26:41 {hostname} systemd[2712]: Starting xdg-desktop-portal-gnome.service - Portal service (GNOME implementation)...
Apr 01 10:26:41 {hostname} systemd[2712]: gnome-initial-setup-first-login.service - GNOME Initial Setup was skipped because of an unmet condition check (ConditionPathExists=!/home/{user}/.config/gnome->
Apr 01 10:26:41 {hostname} systemd[2712]: Reached target graphical-session.target - Current graphical user session.
Apr 01 10:26:41 {hostname} systemd[2712]: Reached target gnome-session-x11@gnome.target - GNOME X11 Session (session: gnome).
Apr 01 10:26:41 {hostname} systemd[2712]: Reached target gnome-session.target - GNOME Session.
Apr 01 10:26:41 {hostname} systemd[2712]: Reached target org.gnome.SettingsDaemon.XSettings.target - GNOME XSettings target.
Apr 01 10:26:41 {hostname} systemd[2712]: gnome-session-x11-services-ready.target - GNOME session X11 services is inactive.
Apr 01 10:26:41 {hostname} systemd[2712]: Started org.gnome.SettingsDaemon.XSettings.service - GNOME XSettings service.

Update: Switched to i3 so gnome is not entirely broken.