Clone
1
Development schedule for private message deletion
akwizgran edited this page 2018-11-30 16:56:52 +00:00

Phase 1: Delete all private messages in a conversation

  • Add ConversationClient method for getting a set of message IDs to delete
  • Add real implementation for MessagingManager, no-op implementations for other clients
  • Add menu item for triggering deletion
  • Add dialog for explaining that invitation/introduction messages can't be deleted
  • Show dialog if not all message IDs in conversation were returned by clients for deletion

Estimated work, including review and testing: 1 week

Phase 2: Delete all completed invitation/introduction sessions in a conversation

  • Get message metadata for contact group, map all messages to their sessions
  • Look up session states and message statuses
  • Exclude messages belonging to open sessions
  • Exclude messages belonging to sessions with sent-but-not-acked messages
  • Return IDs of remaining messages
  • Update dialog to explain that ongoing invitations/introductions can't be deleted
  • Show dialog if not all message IDs in conversation were returned by clients for deletion

Estimated work, including review and testing: 3 weeks

Phase 3: Multi-select messages to delete

  • Add multi-selection to conversation view
  • Intersect selected message IDs with those returned by clients, delete the intersection
  • Show dialog if not all selected message IDs were returned by clients for deletion

Estimated work, including review and testing: 1 week