Skip to content

feat(daemon): Linux D-Bus integration — notifications, Secret Service, systemd #21

@igouss

Description

@igouss

Summary

Implements Linux-native integration for the GSD daemon (M005):

  • DBusEventBridge — desktop notifications via org.freedesktop.Notifications on session lifecycle events
  • DBusBridgeBlocker — action-button blocker toasts via org.freedesktop.portal.Notification (requires systemd service registration)
  • SecretServiceAdapter — credential storage/retrieval via org.freedesktop.secrets (GNOME Keyring / KDE Wallet), with 2s timeout and null-on-any-failure contract
  • GApplicationService — GApplication lifecycle management for portal access
  • linux.ts — systemd user service unit generation and installation helpers
  • cli.ts--keyring flag defaults to true on Linux; new subcommands: install-service, secret-set, secret-get

Design constraints upheld

  • D-Bus unavailability never crashes or delays the daemon (R005)
  • getCredential returns null on any failure — never throws
  • bus.disconnect() always runs in finally to avoid ERR_STREAM_WRITE_AFTER_END

Branch

feat/m005-daemon-linux-dbus-secretservice

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions