Skip to content

Conversation

@samholmes
Copy link
Contributor

@samholmes samholmes commented Jan 23, 2026

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)
Simulator Screenshot - iPhone 15 Pro - 2026-01-27 at 17 01 05 Screenshot_1769562060

Note

Medium Risk
Enables a new networking/privacy mode and upgrades core/currency dependencies, which could affect request routing, performance, and transaction/balance reliability across supported plugins.

Overview
Adds a new Privacy Settings flow to enable/disable Nym Mixnet network privacy per supported currency plugin, surfaced both in each CurrencySettingsScene and via a dedicated PrivacySettingsScene accessible from the main Settings menu and wired into navigation/types.

Updates dependencies to edge-core-js@2.41.0 (bringing in @nymproject/mix-fetch) plus related currency plugins, expands CURRENCY_SETTINGS_KEYS to include many Cosmos/EVM networks, and adjusts web dev server headers for cross-origin isolation (SharedArrayBuffer) needed by mixnet web workers; includes small TS/ESLint cleanups and snapshot/localization updates.

Written by Cursor Bugbot for commit 8de34cd. This will update automatically on new commits. Configure here.


@samholmes samholmes force-pushed the sam/enable-private-requests branch 2 times, most recently from 8385130 to 0423d71 Compare January 23, 2026 20:47
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

@Jon-edge
Copy link
Collaborator

Jon-edge commented Jan 27, 2026

image

The title "Nym Mixnet" violates the leftmost 1rem margin requirement.

There is also too much space >1rem between that title and the paragraph below.

I realize a lot of this is legacy code or derived from legacy code, but for such simple components, please rewire stylings and component structure to fit our current conventions and standards.

const getStyles = cacheStyles((theme: Theme) => ({
instructionArea: {
backgroundColor: theme.settingsRowSubHeader,
padding: theme.rem(1)
Copy link
Collaborator

Choose a reason for hiding this comment

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

NEVER bake full margins into new named components. This breaks composability design patterns of UI4.

Per our design rules, all elements should be 0.5/0.5 spaced for 99% of cases.

Looking at the screenshot it actually looks like there's too much space surrounding this text

Copy link
Collaborator

Choose a reason for hiding this comment

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

Using the defined EdgeText components takes care of this for you

Comment on lines 21 to 23
<View style={styles.instructionArea}>
<UnscaledText style={styles.instructionText}>{label}</UnscaledText>
</View>
Copy link
Collaborator

Choose a reason for hiding this comment

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

This should be a

<Paragraph>
  <SmallText>
  </SmallText>
</Paragraph>

Copy link
Collaborator

Choose a reason for hiding this comment

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

If the above doesn't work, those components Paragraph and SmallText need to be fixed

@samholmes samholmes force-pushed the sam/enable-private-requests branch from d10ce90 to 3a6e77f Compare January 28, 2026 02:43
Add MaybePrivateNetworkingSetting component that allows users to
configure network privacy options per currency. The setting uses an
enum field ('none' | 'nym') for forward compatibility with future
privacy options like Tor.

The component follows the existing 'Maybe' pattern and will only
render for currency plugins that include networkPrivacy in their
defaultSettings.
Add axelar, coreum, cosmoshub, osmosis, thorchainrune, and
thorchainrunestagenet to CURRENCY_SETTINGS_KEYS so they appear
in the Asset Settings scene.
@samholmes samholmes force-pushed the sam/enable-private-requests branch from 3a6e77f to 4ad531d Compare January 28, 2026 03:37
@samholmes samholmes enabled auto-merge January 28, 2026 03:37
Add dedicated Privacy Settings scene accessible from Settings Options
section. The scene displays a NYM Mixnet section with explanation text
and toggle switches for each currency that supports network privacy
settings. Users can enable/disable NYM Mixnet privacy per currency.

- Export asPrivateNetworkingSetting cleaner for reuse
- Create PrivacySettingsScene with currency toggle rows
- Add privacySettings route to navigation
- Register scene in Main.tsx with ifLoggedIn wrapper
- Add Privacy Settings navigation row as first item in Options section
- Add locale strings for privacy settings and NYM Mixnet description
This is to support the new edge-core-js BundleHTTPServer architecture.
@samholmes samholmes force-pushed the sam/enable-private-requests branch from 4ad531d to 8de34cd Compare January 28, 2026 19:47
@samholmes samholmes disabled auto-merge January 28, 2026 20:40
@samholmes samholmes enabled auto-merge January 28, 2026 20:40
@samholmes samholmes merged commit 656607f into develop Jan 28, 2026
4 checks passed
@samholmes samholmes deleted the sam/enable-private-requests branch January 28, 2026 20:40
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.

4 participants