Skip to content

Add glib-networking to Nix flake for WebKitGTK TLS support#454

Merged
AnthonyRonning merged 1 commit intomasterfrom
devin/1772605241-fix-gio-tls-backend
Mar 4, 2026
Merged

Add glib-networking to Nix flake for WebKitGTK TLS support#454
AnthonyRonning merged 1 commit intomasterfrom
devin/1772605241-fix-gio-tls-backend

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Mar 4, 2026

Add glib-networking to Nix flake for WebKitGTK TLS support

Summary

Fixes the desktop app "Couldn't process attestation document: Load failed" error that occurs on Linux when running the Tauri debug build in Nix-based environments (VMs, CI, containers).

Root cause: WebKitGTK uses GLib's GIO networking stack for HTTPS. The Tauri binary links against Nix's glib, which looks for GIO modules in /nix/store paths — not the system /usr/lib. Without glib-networking (which provides libgiognutls.so, the TLS backend), every fetch() to an HTTPS URL silently fails with "Load failed", breaking attestation document fetches during login.

Fix: Adds pkgs.glib-networking to the Linux dev shell packages and sets GIO_MODULE_DIR in the shell hook, following the same pattern as the existing Mesa/EGL configuration. Linux-only; macOS is unaffected.

Review & Testing Checklist for Human

  • Verify this doesn't break macOS dev shell (nix develop on a Mac should still work — the change is gated behind pkgs.stdenv.isLinux)
  • On Linux, after entering the Nix dev shell, confirm echo $GIO_MODULE_DIR points to a valid path containing libgiognutls.so
  • Build and run the desktop app (just desktop-build-debug-no-cc then launch the binary) and confirm login works without attestation errors

Notes


Open with Devin

WebKitGTK on Linux uses GLib's GIO for HTTPS networking. The Tauri binary
links against Nix's glib, which looks for GIO modules in /nix/store paths.
Without the TLS backend module (libgiognutls.so from glib-networking), all
HTTPS fetch() calls fail with 'Load failed', causing attestation document
fetches to fail during login.

This adds glib-networking to the Linux dev shell packages and sets
GIO_MODULE_DIR in the shell hook so WebKitGTK can find the TLS backend
automatically.

Co-Authored-By: tony@opensecret.cloud <TonyGiorgio@protonmail.com>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

Copy link
Copy Markdown
Contributor Author

@devin-ai-integration devin-ai-integration bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@AnthonyRonning AnthonyRonning merged commit ea3e330 into master Mar 4, 2026
12 checks passed
@AnthonyRonning AnthonyRonning deleted the devin/1772605241-fix-gio-tls-backend branch March 4, 2026 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant