Skip to content

New issue#736

Merged
SheyeJDev merged 4 commits into
Split-Naira:mainfrom
suleimanjem-hash:newIssue
Jun 29, 2026
Merged

New issue#736
SheyeJDev merged 4 commits into
Split-Naira:mainfrom
suleimanjem-hash:newIssue

Conversation

@suleimanjem-hash

Copy link
Copy Markdown
Contributor

Summary

This PR improves the reliability, resilience, and usability of the backend by implementing several fixes and enhancements across database transactions, request timeout handling, payout history synchronization, and paginated project listings.

Changes

  • Implemented payout history backfill to replay historical payment_sent events from the Soroban event log into the database with duplicate protection.
  • Updated request timeout handling to propagate timeouts as HTTP 504 Gateway Timeout responses instead of generic 500 errors.
  • Enhanced the GET /splits endpoint to return pagination metadata, including total, start, limit, and hasMore, enabling clients to determine the total number of projects and available pages.
  • Added automatic retry logic to withTransaction() for PostgreSQL serialization failures (40001) and deadlocks (40P01) using exponential backoff and retry logging.

Validation

  • Added/updated tests covering:

    • Payout history backfill.
    • Timeout middleware returning HTTP 504.
    • Pagination metadata (total and hasMore) for GET /splits.
    • Transaction retries for deadlock and serialization failures.

Closes #641
Closes #642
Closes #643
Closes #644

@drips-wave

drips-wave Bot commented Jun 28, 2026

Copy link
Copy Markdown

@suleimanjem-hash Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@SheyeJDev SheyeJDev merged commit 5f19403 into Split-Naira:main Jun 29, 2026
6 of 9 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

2 participants