Feature/432 433 435 436 payment retry cost estimation nlp share links#454
Open
Able-faz-system wants to merge 5 commits into
Conversation
…parser - Create lib/stellarErrorParser.ts for mapping Stellar error codes to user-friendly explanations - Build PaymentRetryWizard.tsx modal component with multi-step workflow - Support fee bumping, sequence number refresh, and destination account funding - Include error explanation, corrective action UI, and re-submission flow - Limit automatic retries and provide fallback for manual resolution
- Create lib/feeConfig.ts with platform fee configuration and add-on costs - Build useInvoiceCostEstimate hook to calculate total costs including network fees, platform fees, trustline reserves, and add-ons - Create CostEstimatorPanel component displaying cost breakdown with tooltips - Show balance status and warn if insufficient funds available - Support fee tier multipliers for dynamic network fee estimation
…rser - Create lib/nlQueryParser.ts for parsing freeform queries into structured filters - Support amount ranges, relative dates, status keywords, and asset names - Parse complex queries like 'unpaid invoices over 200 XLM from last month' - Generate dismissible filter tokens for UI display - Include comprehensive unit tests with 20+ test cases covering edge cases - Add applyParsedFilters helper for filtering invoice arrays
- Create lib/shareLink.ts for share link token management with timing-safe comparison - Build API routes for generating, validating, and revoking share links - Create public /share/[token] route for accessing invoices via shared links - Build ShareLinkModal component with duration, permission, and single-use options - Support secure token hashing using SHA-256 - Include active link management with revoke functionality - Track usage count and enforce expiration/max-uses limits
…kModal - Remove unused Button import - Use onClose prop instead of onEscape for FocusTrap - Remove isOpen prop (FocusTrap handles conditional rendering in parent)
|
@Able-faz-system is attempting to deploy a commit to the kingsman-99's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Able-faz-system 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! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: implement payment retry wizard, cost estimator, NLP search, and secure share links
Summary
This PR implements four interconnected features that enhance the invoice creation, payment, and sharing experience on StellarSplit. Users now have error
recovery mechanisms for failed payments, complete cost transparency before submission, natural language search capabilities, and secure shareable
invoice links.
Changes
Issue #432: Payment Retry Wizard for Failed Transactions
Created:
src/lib/stellarErrorParser.tsCreated:
src/components/invoice/PaymentRetryWizard.tsxAcceptance Criteria Met:
Issue #433: Invoice Creation Cost Estimator Before Submit
Created:
src/lib/feeConfig.tsCreated:
src/hooks/useInvoiceCostEstimate.tsCreated:
src/components/invoice/CostEstimatorPanel.tsxAcceptance Criteria Met:
Issue #435: Invoice Natural Language Search Query Parsing
src/lib/nlQueryParser.tssrc/__tests__/nlQueryParser.test.tsAcceptance Criteria Met:
Issue #436: Invoice Sharing via Secure One-Time Link
Created:
src/lib/shareLink.tsCreated:
src/app/api/invoices/share-links/route.tsCreated:
src/app/share/[token]/route.tsCreated:
src/components/invoice/ShareLinkModal.tsxAcceptance Criteria Met:
Testing
Build Status
Test Coverage
Files Changed
Library & Utilities (5 files)
React Components (4 files)
React Hooks (1 file)
API Routes (2 files)
Tests (1 file)
configured.
- Returns ParsedFilter object and FilterToken array for UI display
- Fallback keyword search for unrecognized patterns
- Case-insensitive and typo-tolerant parsing
Quick Copy Sections
- Covers all documented query patterns
- Tests edge cases: mixed case, typos, combined constraints, empty queries
- Integration tests for applyParsedFilters() helper
Acceptance Criteria Met:
Issue #436: Invoice Sharing via Secure One-Time Link
Created:
src/lib/shareLink.tsCreated:
src/app/api/invoices/share-links/route.tsCreated:
src/app/share/[token]/route.tsCreated:
src/components/invoice/ShareLinkModal.tsxAcceptance Criteria Met:
Testing
Build Status
Test Coverage
Files Changed
Library & Utilities (5 files)
React Components (4 files)
React Hooks (1 file)
API Routes (2 files)
Tests (1 file)
Breaking Changes
None. All implementations are additive and backward compatible.
Notes for Reviewers
configured.
queries.
Closes #432
Closes #433
Closes #435
Closes #436