-
Notifications
You must be signed in to change notification settings - Fork 6
fix(#417): a lost take returns to the ex-taker's book, one trade row per order #419
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
b294645
0bf95aa
392d7c6
a6bf029
9a22893
b06ad0a
3ad3aa7
84fea17
77c7872
ef2a061
8ccbdaa
46fa2a6
d5b5198
44a236f
774ce2a
4a13aa8
06e1be1
6c1ddfd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1055,7 +1055,15 @@ | |
| }, | ||
| "cancelTradeDialogContent": "Requesting a cooperative cancel. The other party must also agree for the trade to be fully cancelled.", | ||
| "@cancelTradeDialogContent": { | ||
| "description": "Body text for the cancel-trade confirmation dialog" | ||
| "description": "Body text for the cancel-trade confirmation dialog once the trade is active: the cancel is a cooperative request" | ||
| }, | ||
| "cancelTradeDialogContentNotStarted": "The trade has not started yet, so it is cancelled right away. The other party does not need to agree.", | ||
| "@cancelTradeDialogContentNotStarted": { | ||
| "description": "Body text for the cancel-trade confirmation dialog before the trade is active (pending, waiting for the invoice or the hold-invoice payment): the daemon cancels at once" | ||
| }, | ||
| "cancelTradeDialogContentMaybeStarted": "If the trade has not started yet, it is cancelled right away. If it has, the other party must also agree.", | ||
| "@cancelTradeDialogContentMaybeStarted": { | ||
| "description": "Body text for the cancel-trade confirmation dialog while the order is only known to be taken (in progress): the trade may or may not be active yet" | ||
| }, | ||
| "noButtonLabel": "No", | ||
| "yesButtonLabel": "Yes", | ||
|
|
@@ -1620,7 +1628,11 @@ | |
| }, | ||
| "orderNoLongerActive": "This order is no longer active", | ||
| "@orderNoLongerActive": { | ||
| "description": "Neutral notice shown when the order reaches a terminal state (canceled, cooperatively canceled, canceled by admin, or expired) while the user is on the pay invoice screen" | ||
| "description": "Neutral notice shown when the order reaches a terminal state (canceled, cooperatively canceled, canceled by admin, or expired) while the user is on the add-invoice or pay-invoice screen" | ||
| }, | ||
| "tradeNoLongerYours": "You're no longer part of this trade", | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Must before merge — this region conflicts with
|
||
| "@tradeNoLongerYours": { | ||
| "description": "Notice when the trade screen closes because the user no longer has a trade on this order: a take lost before it went active (their own cancel, a waiting timeout, the maker cancelling), or a later visit to such a trade from a notification. Neutral on purpose: the order may be back in the book or gone for good" | ||
| }, | ||
| "sessionTimeoutMessage": "No response received, check your connection and try again later", | ||
| "@sessionTimeoutMessage": { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MEDIUM — a cross-language invariant with nothing holding the two halves together.
_cancelEndsTradeis a hand-copy of Rust'scancellation_wipes_history(rust/src/mostro/status.rs:137), and the doc comment says so. The comment is the only link: add a status to the Rust predicate and this set silently stops matching, at which point the dialog tells the user their cancel is immediate when it is a cooperative request, or the screen stays open on a trade that was wiped. Both are user-visible and neither fails a test.CLAUDE.md's golden rule points the same way — this is protocol logic, not UI state.Options, cheapest first:
rust/src/api/) and have the UI ask, which removes the duplicate outright;