Skip to content

feat: Implement issues 807, 808, 809, 810 - #828

Merged
Jaydbrown merged 5 commits into
conduit-protocol:mainfrom
BaseDev-Eth:feat/multi-807-808-809-810
Oct 20, 2026
Merged

Jaydbrown merged 5 commits into
conduit-protocol:mainfrom
BaseDev-Eth:feat/multi-807-808-809-810

Conversation

@BaseDev-Eth

Copy link
Copy Markdown
Contributor

Summary

Implements four requested enhancements across sorting, telemetry safety,
offline sync, and notification permissions.

#807 — Sort streams by accrued claimable balance (descending)

  • lib/stream-sort.ts: new claimable-desc sort key (CLAIMABLE_DESC),
    claimableBalance() and compareClaimableDesc(), plus a new option in
    SORT_OPTIONS. Uses the on-chain withdrawable value when available and
    otherwise derives rate × elapsed − withdrawn (end-capped, paused-aware).

#808 — Mask transaction secret keys and signatures before logging

  • lib/error-tracking.ts: redacts 56-char S… secret keys and 64-byte
    transaction signatures (hex and base64) as [REDACTED], plus labelled
    signature/signed-XDR/envelope values. Breadcrumb messages and data are
    scrubbed at insertion and again at Sentry dispatch.

#809 — Automatic sync retry when the connection returns online

  • lib/offline-transactions.ts: new startOnlineSync/stopOnlineSync
    bind an idempotent window online listener that re-flushes the queued
    transactions, with burst de-duplication and an SSR/offline guard.
  • components/OfflineTransactionSync.tsx now delegates to it.

#810 — Request notification permission only after the first stream

  • lib/notifications.ts: first-stream + prompt-once gating
    (hasCreatedStream, markFirstStreamCreated,
    shouldRequestNotificationPermission,
    requestNotificationPermissionAfterFirstStream,
    dismissNotificationPermissionPrompt).
  • app/create/page.tsx: records first-stream creation and shows a new
    contextual FirstStreamNotificationPrompt on the post-creation screen
    (the browser prompt is triggered by the user clicking "Enable notifications").

Tests

Unit tests were written/updated for all four issues:

  • lib/__tests__/stream-sort.test.ts
  • lib/error-tracking.test.ts
  • lib/offline-transactions.test.ts, components/__tests__/OfflineTransactionSync.test.tsx
  • lib/notifications.test.ts, components/__tests__/FirstStreamNotificationPrompt.test.tsx

Tests were not executed as part of this task and remain unverified.

Closes #807, Closes #808, Closes #809, Closes #810

@drips-wave

drips-wave Bot commented Oct 19, 2026

Copy link
Copy Markdown

@BaseDev-Eth 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

@Jaydbrown
Jaydbrown merged commit 295e46e into conduit-protocol:main Oct 20, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment