Skip to content

feat(rooms): add Secret Service generation anchors - #218

Merged
tcballard merged 2 commits into
mainfrom
codex/nip29-secret-service-anchor
Sep 4, 2026
Merged

tcballard merged 2 commits into
mainfrom
codex/nip29-secret-service-anchor

Conversation

@tcballard

Copy link
Copy Markdown
Owner

Summary

  • add an opt-in Secret Service-backed NIP-29 room-state generation anchor
  • make the anchor contract asynchronous so D-Bus operations do not block Tokio workers
  • bind every keyring record to its schema version, daemon context, relay signing key, and monotonic generation
  • reject locked or unavailable collections, duplicate items, malformed records, context/key mismatches, and generation rollback
  • retain file anchors as the portable default and reject ignored directory overrides under Secret Service

Configuration

Set rooms.anchor_provider to secret-service. The default remains file. rooms.anchor_directory and omachatd --anchors are invalid with Secret Service rather than silently ignored.

Validation

  • complete portable repository gate passed
  • workspace tests and rustdoc excluding Linux-only omachat-mesh passed
  • warning-as-error clippy passed
  • relay29 black-box lifecycle and Rust capture replay passed: 20 accepted, 0 refused
  • packaging and cargo deny --locked check passed
  • release aggregate: 4,149,840 bytes / 10 MiB

The exact Linux workspace, including omachat-mesh, is delegated to the repository Ubuntu CI.

@tcballard
tcballard force-pushed the codex/nip29-duplicate-relay-identity branch from 4da995f to 7c2d185 Compare September 4, 2026 06:51
@tcballard
tcballard force-pushed the codex/nip29-secret-service-anchor branch from a3d9762 to 4a36b99 Compare September 4, 2026 06:59
@tcballard
tcballard changed the base branch from codex/nip29-duplicate-relay-identity to main September 4, 2026 06:59
@tcballard
tcballard force-pushed the codex/nip29-secret-service-anchor branch from 4a36b99 to 495b113 Compare September 4, 2026 07:00
@tcballard tcballard closed this Sep 4, 2026
@tcballard tcballard reopened this Sep 4, 2026
@tcballard
tcballard merged commit 8bfe224 into main Sep 4, 2026
6 checks passed
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