chore(send): collaborative send#1245
Conversation
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||
1b5094b to
94aa24b
Compare
| const isWaitingCoinjoinStart = startCoinjoinMutationIsPending || (startCoinjoinMutationIsSuccess && !coinjoinRunning) | ||
| const isWaitingCoinjoinStop = stopCoinjoinMutationIsPending || (stopCoinjoinMutationIsSuccess && coinjoinRunning) | ||
| const collaborativeFlowActive = coinjoinRunning || isWaitingCoinjoinStart || isWaitingCoinjoinStop | ||
| const isWaitingCoinjoinStart = startCoinjoinMutationIsPending || (startCoinjoinMutationIsSuccess && !takerRunning) |
There was a problem hiding this comment.
edge case: if /docoinjoin succeeds but coinjoin_in_process never flips true, or flips too quickly before the session poll sees it, this can stay in “Starting collaborative transaction...” forever.
Maybe we should add a timeout/reset fallback here, or allow the stored attempt to move into the completion/ended state after some time.
There was a problem hiding this comment.
Good observation. While that is certainly true, it complicates the code and might create even more problems. I will revisit and see what can be done. Maybe address in a follow-up.
354cbc3 to
1568f41
Compare
| </Alert> | ||
| ) : ( | ||
| <Alert variant="success"> | ||
| <AlertTriangleIcon /> |
There was a problem hiding this comment.
smoll UI nit: this is the success branch, but it still uses AlertTriangleIcon. Maybe CheckCircle2Icon would make the completed state feel less like a warning.
Enhance the collaborative send flow to improve reliability and UX by saving the last payment attempt, better error reporting, and minor refactors.
Tries to mitigate missing infos on failed attempts:
joinmarket-clientserverdoes not provide good info about errors or other failures.Flow:
Note: