feat(ned): introspect notmuch and maildir in init-config, add tailscale detection and ned --status #78

Merged
clanker merged 1 commit from feat/ned-config-tailscale-status into main 2026-09-06 05:43:41 +00:00
Member

Summary

  • Notmuch and Maildir introspection in ned --init-config: Replaces desktop config copying with direct introspection of Notmuch (database.mail_root, user.name, user.primary_email, user.other_email) and local Maildir accounts and folders.
  • Timestamped backups: When re-running ned --init-config, existing configurations are preserved in config.py.YYYYMMDD_HHMMSS.bak.
  • Config organization: Separates generated config into three clear sections: Derived Mail Settings (with user-editable notes for display names and paths), Daemon and Network Settings, and Filter Rules.
  • Tailscale detection: Automatically inspects tailscale serve status and tailscale status to configure web_host appropriately (127.0.0.1 if Tailscale Serve is active, or direct WireGuard IP) and prints client connection URLs.
  • ned --status: CLI status command to inspect daemon running state, Unix socket, local HTTP bind, and Tailscale connection parameters.
  • ned-client enhancements: Updates ned-client ping to report target endpoints and adds ned-client status to show daemon status and version.
  • Tests and documentation: Added unit tests in tests/test_ned_config.py and tests/test_ned_tailscale.py, updated agent.md and README.md.
## Summary - Notmuch and Maildir introspection in ned --init-config: Replaces desktop config copying with direct introspection of Notmuch (database.mail_root, user.name, user.primary_email, user.other_email) and local Maildir accounts and folders. - Timestamped backups: When re-running ned --init-config, existing configurations are preserved in config.py.YYYYMMDD_HHMMSS.bak. - Config organization: Separates generated config into three clear sections: Derived Mail Settings (with user-editable notes for display names and paths), Daemon and Network Settings, and Filter Rules. - Tailscale detection: Automatically inspects tailscale serve status and tailscale status to configure web_host appropriately (127.0.0.1 if Tailscale Serve is active, or direct WireGuard IP) and prints client connection URLs. - ned --status: CLI status command to inspect daemon running state, Unix socket, local HTTP bind, and Tailscale connection parameters. - ned-client enhancements: Updates ned-client ping to report target endpoints and adds ned-client status to show daemon status and version. - Tests and documentation: Added unit tests in tests/test_ned_config.py and tests/test_ned_tailscale.py, updated agent.md and README.md.
- Reimplement ned --init-config to introspect Notmuch database and local Maildir directories instead of converting desktop config
- Create date and timestamped backup (config.py.YYYYMMDD_HHMMSS.bak) when re-initializing an existing configuration
- Group generated config into three clear sections: derived mail settings (user editable), daemon/network settings, and filter rules
- Add ned.tailscale module to detect Tailscale Serve (HTTPS) or direct WireGuard IP and MagicDNS
- Add ned --status CLI command to inspect daemon running state, listeners, and connection URLs
- Update ned-client ping and add ned-client status to report target endpoints
- Add comprehensive unit tests and update documentation
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Home/lazarus!78
No description provided.