-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
easyenhancementNew feature or requestNew feature or requestnostr-frostNostr FROST coordination protocolNostr FROST coordination protocolp3Lowest PriorityLowest Priority
Description
Problem
Descriptor coordination sessions have a hardcoded 10-minute timeout. For company treasuries where participants may be in different timezones or not all online simultaneously, 10 minutes is too short. Sessions expire before all members can contribute.
Solution
Make the session timeout configurable with a 24-hour maximum:
pub const DESCRIPTOR_SESSION_TIMEOUT_SECS: u64 = 600; // 10 min default
pub const DESCRIPTOR_SESSION_MAX_TIMEOUT_SECS: u64 = 86400; // 24h maxChanges needed
- Add
timeoutfield toDescriptorProposePayload(optional, defaults to 600s) - Validate:
timeout <= DESCRIPTOR_SESSION_MAX_TIMEOUT_SECS - Pass through to
DescriptorSessionManagerwhen creating session - CLI:
keep wallet propose --timeout 3600 ...(seconds) - Mobile: expose timeout parameter in
wallet_descriptor_propose()
Relation to #240
Issue #240 covers per-phase timeouts within a session. This issue covers the overall session lifetime. Both are needed — this sets the outer bound, #240 sets phase-level deadlines within it.
Context
Async group coordination is common for distributed teams. The existing DescriptorSessionManager::with_timeout() infrastructure partially supports this but isn't exposed to the protocol layer.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
easyenhancementNew feature or requestNew feature or requestnostr-frostNostr FROST coordination protocolNostr FROST coordination protocolp3Lowest PriorityLowest Priority