Skip to content

fix: derive clearnet price consent from Nym state - #1362

Merged
juanky201271 merged 2 commits into
devfrom
fix/clearnet-consent-not-transport-state
Sep 1, 2026
Merged

fix: derive clearnet price consent from Nym state#1362
juanky201271 merged 2 commits into
devfrom
fix/clearnet-consent-not-transport-state

Conversation

@dorianvp

@dorianvp dorianvp commented Aug 31, 2026

Copy link
Copy Markdown
Member

This PR fixes #1361.

A Nym-off wallet consented to clearnet only when the indicator read
exactly `off`. A rejecting `disableMixnet()` settles the view on
`unknown`, so consent went false and the cadence cleared with nothing
to republish it, killing the price surface for the session.

Treat a Nym-off wallet as consented in every state except one where the
mixnet route actually serves (`ready`/`bootstrapping`). The Nym-on half
is unchanged.

Closes #1361

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Visual review — ✅ matches baseline

Head vs visual/__baseline__. Open the review page — Current, Animations, and Image diffs tabs.

@dorianvp dorianvp changed the title fix: derive clearnet price consent from Nym state, not the indicator fix: derive clearnet price consent from Nym state Aug 31, 2026

@juanky201271 juanky201271 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right fix for #1361 — it moves the consent off the transport state instead of patching the symptom, and the ready/bootstrapping exclusion also covers the mirror race when Nym is switched off. One thing on the predicate, inline.

Two minor notes: the new test renders UNKNOWN_VIEW directly, so it asserts the state, not the publish(OFF_REPORT) -> publish(failure) transition that produces it. And if disableMixnet() really rejected, the core may still hold Mixnet Mode on and refuse the fetch anyway — the cadence now retries every 5-10 min instead of dying, which is the right shape, but the issue shouldn't close claiming a guaranteed price in that case.

Comment thread components/Components/priceFetcherStore.ts Outdated
@juanky201271
juanky201271 merged commit 37582f2 into dev Sep 1, 2026
34 checks passed
@juanky201271
juanky201271 deleted the fix/clearnet-consent-not-transport-state branch September 1, 2026 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clearnet price consent is read off the transport indicator: a failed disableMixnet() kills the price surface for the session

2 participants