Skip to content

[Enhancement] Implement WebSocket message delivery guarantees and an offline message queue #147

Description

@Tybravo

📁 Implementation Directory

backend/src/sockets/messageQueue.ts

🎯 Goal

Ensure drivers do not lose critical messages when briefly offline.

📋 Requirements

  • Require acknowledgements (ACK) from clients.\n- Queue unacknowledged messages.\n- Flush the queue when the driver reconnects.

🔧 Technical Scope

  • Node.js / Express
  • TypeScript
  • MongoDB / Mongoose
  • Stellar Soroban RPC

🌿 Branch

git checkout -b feat/websocket-message-guarantees

✅ Acceptance Criteria

  • Using an AI Agent to submit a PR is DISALLOWED.
  • Strict Layered Architecture (Non-Negotiable): Implement using the Controller -> Service -> Model pattern.
  • Data Source: Response data must be retrieved from the database. No Inline Mock Objects or Hardcoded Values usage for integration.
  • Environment: Contributors must use the requested .env credentials to enable implementation with real-life data.
  • API Versioning: API Must Be Versioned (e.g., /api/v1/...).
  • Production Ready: Code must look production-ready (robust error handling, strong typings).
  • Proof of Work: Upload a screenshot of work done (i.e., API Response Success via Postman/Browser, or all unit tests passed successfully).
  • PR Content: Must include Closes #[issue_id] with a work done summary.

📌 PR Requirements

  • ⚠️ Assignment required before starting — comment on this issue to request assignment.
  • PR must comply fully with the CONTRIBUTING.md.
  • AI Agent submissions are DISALLOWED and will be closed without review.
  • No Inline Mock Objects or Hardcoded Values usage for integration.

Metadata

Metadata

Assignees

Labels

Stellar WaveIssues in the Stellar wave programbackendBackend implementationhighHigh complexity

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions